• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2017 Google Inc.
2#
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6# This file is generated semi-automatically with this command:
7#   $ src/jumper/build_stages.py
8
9#if defined(__MACH__)
10    #define HIDDEN .private_extern
11    #define FUNCTION(name)
12    #define BALIGN4  .align 2
13    #define BALIGN16 .align 4
14    #define BALIGN32 .align 5
15#else
16    .section .note.GNU-stack,"",%progbits
17    #define HIDDEN .hidden
18    #define FUNCTION(name) .type name,%function
19    #define BALIGN4  .balign 4
20    #define BALIGN16 .balign 16
21    #define BALIGN32 .balign 32
22#endif
23.text
24#if defined(__aarch64__)
25BALIGN4
26
27HIDDEN _sk_start_pipeline_aarch64
28.globl _sk_start_pipeline_aarch64
29FUNCTION(_sk_start_pipeline_aarch64)
30_sk_start_pipeline_aarch64:
31  .long  0xf81c0ff7                          // str           x23, [sp, #-64]!
32  .long  0xa90157f6                          // stp           x22, x21, [sp, #16]
33  .long  0xa9024ff4                          // stp           x20, x19, [sp, #32]
34  .long  0xa9037bfd                          // stp           x29, x30, [sp, #48]
35  .long  0xaa0303f4                          // mov           x20, x3
36  .long  0xf8408685                          // ldr           x5, [x20], #8
37  .long  0xaa0003f7                          // mov           x23, x0
38  .long  0xaa0203f5                          // mov           x21, x2
39  .long  0x910012e8                          // add           x8, x23, #0x4
40  .long  0xaa0403f3                          // mov           x19, x4
41  .long  0xeb15011f                          // cmp           x8, x21
42  .long  0xaa0103f6                          // mov           x22, x1
43  .long  0x9100c3fd                          // add           x29, sp, #0x30
44  .long  0x54000069                          // b.ls          40 <sk_start_pipeline_aarch64+0x40>  // b.plast
45  .long  0xaa1703e2                          // mov           x2, x23
46  .long  0x1400000f                          // b             78 <sk_start_pipeline_aarch64+0x78>
47  .long  0xf90007e5                          // str           x5, [sp, #8]
48  .long  0xf94007e5                          // ldr           x5, [sp, #8]
49  .long  0xaa1303e0                          // mov           x0, x19
50  .long  0xaa1403e1                          // mov           x1, x20
51  .long  0xaa1703e2                          // mov           x2, x23
52  .long  0xaa1603e3                          // mov           x3, x22
53  .long  0xaa1f03e4                          // mov           x4, xzr
54  .long  0xd63f00a0                          // blr           x5
55  .long  0xf94007e5                          // ldr           x5, [sp, #8]
56  .long  0x910012e2                          // add           x2, x23, #0x4
57  .long  0x910022e8                          // add           x8, x23, #0x8
58  .long  0xeb15011f                          // cmp           x8, x21
59  .long  0xaa0203f7                          // mov           x23, x2
60  .long  0x54fffe89                          // b.ls          44 <sk_start_pipeline_aarch64+0x44>  // b.plast
61  .long  0xcb0202a4                          // sub           x4, x21, x2
62  .long  0xb4000124                          // cbz           x4, a0 <sk_start_pipeline_aarch64+0xa0>
63  .long  0xaa1303e0                          // mov           x0, x19
64  .long  0xaa1403e1                          // mov           x1, x20
65  .long  0xaa1603e3                          // mov           x3, x22
66  .long  0xa9437bfd                          // ldp           x29, x30, [sp, #48]
67  .long  0xa9424ff4                          // ldp           x20, x19, [sp, #32]
68  .long  0xa94157f6                          // ldp           x22, x21, [sp, #16]
69  .long  0xf84407f7                          // ldr           x23, [sp], #64
70  .long  0xd61f00a0                          // br            x5
71  .long  0xa9437bfd                          // ldp           x29, x30, [sp, #48]
72  .long  0xa9424ff4                          // ldp           x20, x19, [sp, #32]
73  .long  0xa94157f6                          // ldp           x22, x21, [sp, #16]
74  .long  0xf84407f7                          // ldr           x23, [sp], #64
75  .long  0xd65f03c0                          // ret
76
77HIDDEN _sk_start_pipeline_2d_aarch64
78.globl _sk_start_pipeline_2d_aarch64
79FUNCTION(_sk_start_pipeline_2d_aarch64)
80_sk_start_pipeline_2d_aarch64:
81  .long  0xa9ba6ffc                          // stp           x28, x27, [sp, #-96]!
82  .long  0xa9025ff8                          // stp           x24, x23, [sp, #32]
83  .long  0xa90357f6                          // stp           x22, x21, [sp, #48]
84  .long  0xaa0303f5                          // mov           x21, x3
85  .long  0xaa0103f7                          // mov           x23, x1
86  .long  0xa9044ff4                          // stp           x20, x19, [sp, #64]
87  .long  0xaa0503f3                          // mov           x19, x5
88  .long  0xaa0403f4                          // mov           x20, x4
89  .long  0xaa0203f6                          // mov           x22, x2
90  .long  0xeb1502ff                          // cmp           x23, x21
91  .long  0xaa0003f8                          // mov           x24, x0
92  .long  0xa90167fa                          // stp           x26, x25, [sp, #16]
93  .long  0xa9057bfd                          // stp           x29, x30, [sp, #80]
94  .long  0x910143fd                          // add           x29, sp, #0x50
95  .long  0x54000382                          // b.cs          15c <sk_start_pipeline_2d_aarch64+0xa8>  // b.hs, b.nlast
96  .long  0x91002299                          // add           x25, x20, #0x8
97  .long  0x9100131b                          // add           x27, x24, #0x4
98  .long  0xf940029c                          // ldr           x28, [x20]
99  .long  0xeb16037f                          // cmp           x27, x22
100  .long  0xaa1803e2                          // mov           x2, x24
101  .long  0x540001a8                          // b.hi          138 <sk_start_pipeline_2d_aarch64+0x84>  // b.pmore
102  .long  0xaa1803fa                          // mov           x26, x24
103  .long  0xaa1303e0                          // mov           x0, x19
104  .long  0xaa1903e1                          // mov           x1, x25
105  .long  0xaa1a03e2                          // mov           x2, x26
106  .long  0xaa1703e3                          // mov           x3, x23
107  .long  0xaa1f03e4                          // mov           x4, xzr
108  .long  0xd63f0380                          // blr           x28
109  .long  0x91001342                          // add           x2, x26, #0x4
110  .long  0x91002348                          // add           x8, x26, #0x8
111  .long  0xeb16011f                          // cmp           x8, x22
112  .long  0xaa0203fa                          // mov           x26, x2
113  .long  0x54fffec9                          // b.ls          10c <sk_start_pipeline_2d_aarch64+0x58>  // b.plast
114  .long  0xcb0202c4                          // sub           x4, x22, x2
115  .long  0xb40000a4                          // cbz           x4, 150 <sk_start_pipeline_2d_aarch64+0x9c>
116  .long  0xaa1303e0                          // mov           x0, x19
117  .long  0xaa1903e1                          // mov           x1, x25
118  .long  0xaa1703e3                          // mov           x3, x23
119  .long  0xd63f0380                          // blr           x28
120  .long  0x910006f7                          // add           x23, x23, #0x1
121  .long  0xeb1502ff                          // cmp           x23, x21
122  .long  0x54fffd01                          // b.ne          f8 <sk_start_pipeline_2d_aarch64+0x44>  // b.any
123  .long  0xa9457bfd                          // ldp           x29, x30, [sp, #80]
124  .long  0xa9444ff4                          // ldp           x20, x19, [sp, #64]
125  .long  0xa94357f6                          // ldp           x22, x21, [sp, #48]
126  .long  0xa9425ff8                          // ldp           x24, x23, [sp, #32]
127  .long  0xa94167fa                          // ldp           x26, x25, [sp, #16]
128  .long  0xa8c66ffc                          // ldp           x28, x27, [sp], #96
129  .long  0xd65f03c0                          // ret
130
131HIDDEN _sk_just_return_aarch64
132.globl _sk_just_return_aarch64
133FUNCTION(_sk_just_return_aarch64)
134_sk_just_return_aarch64:
135  .long  0xd65f03c0                          // ret
136
137HIDDEN _sk_seed_shader_aarch64
138.globl _sk_seed_shader_aarch64
139FUNCTION(_sk_seed_shader_aarch64)
140_sk_seed_shader_aarch64:
141  .long  0x3dc00007                          // ldr           q7, [x0]
142  .long  0x4e040c40                          // dup           v0.4s, w2
143  .long  0xf8408425                          // ldr           x5, [x1], #8
144  .long  0x4f0167e1                          // movi          v1.4s, #0x3f, lsl #24
145  .long  0x4e040c66                          // dup           v6.4s, w3
146  .long  0x4e21d800                          // scvtf         v0.4s, v0.4s
147  .long  0x4e21d8c6                          // scvtf         v6.4s, v6.4s
148  .long  0x4e21d400                          // fadd          v0.4s, v0.4s, v1.4s
149  .long  0x4f03f602                          // fmov          v2.4s, #1.000000000000000000e+00
150  .long  0x6f00e403                          // movi          v3.2d, #0x0
151  .long  0x6f00e404                          // movi          v4.2d, #0x0
152  .long  0x6f00e405                          // movi          v5.2d, #0x0
153  .long  0x4e21d4c1                          // fadd          v1.4s, v6.4s, v1.4s
154  .long  0x6f00e406                          // movi          v6.2d, #0x0
155  .long  0x4e27d400                          // fadd          v0.4s, v0.4s, v7.4s
156  .long  0x6f00e407                          // movi          v7.2d, #0x0
157  .long  0xd61f00a0                          // br            x5
158
159HIDDEN _sk_dither_aarch64
160.globl _sk_dither_aarch64
161FUNCTION(_sk_dither_aarch64)
162_sk_dither_aarch64:
163  .long  0x3dc00811                          // ldr           q17, [x0, #32]
164  .long  0x4e040c50                          // dup           v16.4s, w2
165  .long  0x4e040c72                          // dup           v18.4s, w3
166  .long  0x4f000433                          // movi          v19.4s, #0x1
167  .long  0x4f000455                          // movi          v21.4s, #0x2
168  .long  0x4eb08630                          // add           v16.4s, v17.4s, v16.4s
169  .long  0x4f000494                          // movi          v20.4s, #0x4
170  .long  0x52a79008                          // mov           w8, #0x3c800000
171  .long  0x6e301e51                          // eor           v17.16b, v18.16b, v16.16b
172  .long  0x4e331e12                          // and           v18.16b, v16.16b, v19.16b
173  .long  0x4e351e17                          // and           v23.16b, v16.16b, v21.16b
174  .long  0x4e040d16                          // dup           v22.4s, w8
175  .long  0x4e341e10                          // and           v16.16b, v16.16b, v20.16b
176  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
177  .long  0x4f245652                          // shl           v18.4s, v18.4s, #4
178  .long  0x4f2156f7                          // shl           v23.4s, v23.4s, #1
179  .long  0x4e331e33                          // and           v19.16b, v17.16b, v19.16b
180  .long  0x4eb21ef2                          // orr           v18.16b, v23.16b, v18.16b
181  .long  0x6f3e0610                          // ushr          v16.4s, v16.4s, #2
182  .long  0x4e351e35                          // and           v21.16b, v17.16b, v21.16b
183  .long  0x4eb01e50                          // orr           v16.16b, v18.16b, v16.16b
184  .long  0x4f255673                          // shl           v19.4s, v19.4s, #5
185  .long  0x4e341e31                          // and           v17.16b, v17.16b, v20.16b
186  .long  0x4f2256b5                          // shl           v21.4s, v21.4s, #2
187  .long  0x4eb31e10                          // orr           v16.16b, v16.16b, v19.16b
188  .long  0xbd400117                          // ldr           s23, [x8]
189  .long  0x6f3f0631                          // ushr          v17.4s, v17.4s, #1
190  .long  0x4eb51e10                          // orr           v16.16b, v16.16b, v21.16b
191  .long  0x52b7df89                          // mov           w9, #0xbefc0000
192  .long  0x4eb11e10                          // orr           v16.16b, v16.16b, v17.16b
193  .long  0x4e040d34                          // dup           v20.4s, w9
194  .long  0x4e21da10                          // scvtf         v16.4s, v16.4s
195  .long  0x4e30ced4                          // fmla          v20.4s, v22.4s, v16.4s
196  .long  0x4f979290                          // fmul          v16.4s, v20.4s, v23.s[0]
197  .long  0x4e20d600                          // fadd          v0.4s, v16.4s, v0.4s
198  .long  0x4e21d601                          // fadd          v1.4s, v16.4s, v1.4s
199  .long  0x4e22d602                          // fadd          v2.4s, v16.4s, v2.4s
200  .long  0x6f00e412                          // movi          v18.2d, #0x0
201  .long  0x4ea3f400                          // fmin          v0.4s, v0.4s, v3.4s
202  .long  0x4ea3f421                          // fmin          v1.4s, v1.4s, v3.4s
203  .long  0x4ea3f442                          // fmin          v2.4s, v2.4s, v3.4s
204  .long  0x4e20f640                          // fmax          v0.4s, v18.4s, v0.4s
205  .long  0x4e21f641                          // fmax          v1.4s, v18.4s, v1.4s
206  .long  0x4e22f642                          // fmax          v2.4s, v18.4s, v2.4s
207  .long  0xd61f00a0                          // br            x5
208
209HIDDEN _sk_uniform_color_aarch64
210.globl _sk_uniform_color_aarch64
211FUNCTION(_sk_uniform_color_aarch64)
212_sk_uniform_color_aarch64:
213  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
214  .long  0xaa0803ea                          // mov           x10, x8
215  .long  0x4ddfc940                          // ld1r          {v0.4s}, [x10], #4
216  .long  0x91002109                          // add           x9, x8, #0x8
217  .long  0x91003108                          // add           x8, x8, #0xc
218  .long  0x4d40c922                          // ld1r          {v2.4s}, [x9]
219  .long  0x4d40c903                          // ld1r          {v3.4s}, [x8]
220  .long  0x4d40c941                          // ld1r          {v1.4s}, [x10]
221  .long  0xd61f00a0                          // br            x5
222
223HIDDEN _sk_black_color_aarch64
224.globl _sk_black_color_aarch64
225FUNCTION(_sk_black_color_aarch64)
226_sk_black_color_aarch64:
227  .long  0xf8408425                          // ldr           x5, [x1], #8
228  .long  0x4f03f603                          // fmov          v3.4s, #1.000000000000000000e+00
229  .long  0x6f00e400                          // movi          v0.2d, #0x0
230  .long  0x6f00e401                          // movi          v1.2d, #0x0
231  .long  0x6f00e402                          // movi          v2.2d, #0x0
232  .long  0xd61f00a0                          // br            x5
233
234HIDDEN _sk_white_color_aarch64
235.globl _sk_white_color_aarch64
236FUNCTION(_sk_white_color_aarch64)
237_sk_white_color_aarch64:
238  .long  0xf8408425                          // ldr           x5, [x1], #8
239  .long  0x4f03f600                          // fmov          v0.4s, #1.000000000000000000e+00
240  .long  0x4ea01c01                          // mov           v1.16b, v0.16b
241  .long  0x4ea01c02                          // mov           v2.16b, v0.16b
242  .long  0x4ea01c03                          // mov           v3.16b, v0.16b
243  .long  0xd61f00a0                          // br            x5
244
245HIDDEN _sk_load_rgba_aarch64
246.globl _sk_load_rgba_aarch64
247FUNCTION(_sk_load_rgba_aarch64)
248_sk_load_rgba_aarch64:
249  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
250  .long  0xad400500                          // ldp           q0, q1, [x8]
251  .long  0xad410d02                          // ldp           q2, q3, [x8, #32]
252  .long  0xd61f00a0                          // br            x5
253
254HIDDEN _sk_store_rgba_aarch64
255.globl _sk_store_rgba_aarch64
256FUNCTION(_sk_store_rgba_aarch64)
257_sk_store_rgba_aarch64:
258  .long  0xf9400028                          // ldr           x8, [x1]
259  .long  0xad000500                          // stp           q0, q1, [x8]
260  .long  0xad010d02                          // stp           q2, q3, [x8, #32]
261  .long  0xf9400425                          // ldr           x5, [x1, #8]
262  .long  0x91004021                          // add           x1, x1, #0x10
263  .long  0xd61f00a0                          // br            x5
264
265HIDDEN _sk_clear_aarch64
266.globl _sk_clear_aarch64
267FUNCTION(_sk_clear_aarch64)
268_sk_clear_aarch64:
269  .long  0xf8408425                          // ldr           x5, [x1], #8
270  .long  0x6f00e400                          // movi          v0.2d, #0x0
271  .long  0x6f00e401                          // movi          v1.2d, #0x0
272  .long  0x6f00e402                          // movi          v2.2d, #0x0
273  .long  0x6f00e403                          // movi          v3.2d, #0x0
274  .long  0xd61f00a0                          // br            x5
275
276HIDDEN _sk_srcatop_aarch64
277.globl _sk_srcatop_aarch64
278FUNCTION(_sk_srcatop_aarch64)
279_sk_srcatop_aarch64:
280  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
281  .long  0x6e27dc00                          // fmul          v0.4s, v0.4s, v7.4s
282  .long  0x6e27dc21                          // fmul          v1.4s, v1.4s, v7.4s
283  .long  0x6e27dc42                          // fmul          v2.4s, v2.4s, v7.4s
284  .long  0x4ea3d610                          // fsub          v16.4s, v16.4s, v3.4s
285  .long  0xf8408425                          // ldr           x5, [x1], #8
286  .long  0x4e30cc80                          // fmla          v0.4s, v4.4s, v16.4s
287  .long  0x4e30cca1                          // fmla          v1.4s, v5.4s, v16.4s
288  .long  0x4e30ccc2                          // fmla          v2.4s, v6.4s, v16.4s
289  .long  0x6e27de10                          // fmul          v16.4s, v16.4s, v7.4s
290  .long  0x4e23ccf0                          // fmla          v16.4s, v7.4s, v3.4s
291  .long  0x4eb01e03                          // mov           v3.16b, v16.16b
292  .long  0xd61f00a0                          // br            x5
293
294HIDDEN _sk_dstatop_aarch64
295.globl _sk_dstatop_aarch64
296FUNCTION(_sk_dstatop_aarch64)
297_sk_dstatop_aarch64:
298  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
299  .long  0x4ea7d610                          // fsub          v16.4s, v16.4s, v7.4s
300  .long  0xf8408425                          // ldr           x5, [x1], #8
301  .long  0x6e20de00                          // fmul          v0.4s, v16.4s, v0.4s
302  .long  0x6e21de01                          // fmul          v1.4s, v16.4s, v1.4s
303  .long  0x6e22de02                          // fmul          v2.4s, v16.4s, v2.4s
304  .long  0x6e23de10                          // fmul          v16.4s, v16.4s, v3.4s
305  .long  0x4e23ccf0                          // fmla          v16.4s, v7.4s, v3.4s
306  .long  0x4e23cc80                          // fmla          v0.4s, v4.4s, v3.4s
307  .long  0x4e23cca1                          // fmla          v1.4s, v5.4s, v3.4s
308  .long  0x4e23ccc2                          // fmla          v2.4s, v6.4s, v3.4s
309  .long  0x4eb01e03                          // mov           v3.16b, v16.16b
310  .long  0xd61f00a0                          // br            x5
311
312HIDDEN _sk_srcin_aarch64
313.globl _sk_srcin_aarch64
314FUNCTION(_sk_srcin_aarch64)
315_sk_srcin_aarch64:
316  .long  0xf8408425                          // ldr           x5, [x1], #8
317  .long  0x6e27dc00                          // fmul          v0.4s, v0.4s, v7.4s
318  .long  0x6e27dc21                          // fmul          v1.4s, v1.4s, v7.4s
319  .long  0x6e27dc42                          // fmul          v2.4s, v2.4s, v7.4s
320  .long  0x6e27dc63                          // fmul          v3.4s, v3.4s, v7.4s
321  .long  0xd61f00a0                          // br            x5
322
323HIDDEN _sk_dstin_aarch64
324.globl _sk_dstin_aarch64
325FUNCTION(_sk_dstin_aarch64)
326_sk_dstin_aarch64:
327  .long  0xf8408425                          // ldr           x5, [x1], #8
328  .long  0x6e24dc60                          // fmul          v0.4s, v3.4s, v4.4s
329  .long  0x6e25dc61                          // fmul          v1.4s, v3.4s, v5.4s
330  .long  0x6e26dc62                          // fmul          v2.4s, v3.4s, v6.4s
331  .long  0x6e27dc63                          // fmul          v3.4s, v3.4s, v7.4s
332  .long  0xd61f00a0                          // br            x5
333
334HIDDEN _sk_srcout_aarch64
335.globl _sk_srcout_aarch64
336FUNCTION(_sk_srcout_aarch64)
337_sk_srcout_aarch64:
338  .long  0xf8408425                          // ldr           x5, [x1], #8
339  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
340  .long  0x4ea7d610                          // fsub          v16.4s, v16.4s, v7.4s
341  .long  0x6e20de00                          // fmul          v0.4s, v16.4s, v0.4s
342  .long  0x6e21de01                          // fmul          v1.4s, v16.4s, v1.4s
343  .long  0x6e22de02                          // fmul          v2.4s, v16.4s, v2.4s
344  .long  0x6e23de03                          // fmul          v3.4s, v16.4s, v3.4s
345  .long  0xd61f00a0                          // br            x5
346
347HIDDEN _sk_dstout_aarch64
348.globl _sk_dstout_aarch64
349FUNCTION(_sk_dstout_aarch64)
350_sk_dstout_aarch64:
351  .long  0xf8408425                          // ldr           x5, [x1], #8
352  .long  0x4f03f600                          // fmov          v0.4s, #1.000000000000000000e+00
353  .long  0x4ea3d403                          // fsub          v3.4s, v0.4s, v3.4s
354  .long  0x6e24dc60                          // fmul          v0.4s, v3.4s, v4.4s
355  .long  0x6e25dc61                          // fmul          v1.4s, v3.4s, v5.4s
356  .long  0x6e26dc62                          // fmul          v2.4s, v3.4s, v6.4s
357  .long  0x6e27dc63                          // fmul          v3.4s, v3.4s, v7.4s
358  .long  0xd61f00a0                          // br            x5
359
360HIDDEN _sk_srcover_aarch64
361.globl _sk_srcover_aarch64
362FUNCTION(_sk_srcover_aarch64)
363_sk_srcover_aarch64:
364  .long  0xf8408425                          // ldr           x5, [x1], #8
365  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
366  .long  0x4ea3d610                          // fsub          v16.4s, v16.4s, v3.4s
367  .long  0x4e24ce00                          // fmla          v0.4s, v16.4s, v4.4s
368  .long  0x4e25ce01                          // fmla          v1.4s, v16.4s, v5.4s
369  .long  0x4e26ce02                          // fmla          v2.4s, v16.4s, v6.4s
370  .long  0x4e27ce03                          // fmla          v3.4s, v16.4s, v7.4s
371  .long  0xd61f00a0                          // br            x5
372
373HIDDEN _sk_dstover_aarch64
374.globl _sk_dstover_aarch64
375FUNCTION(_sk_dstover_aarch64)
376_sk_dstover_aarch64:
377  .long  0x4f03f611                          // fmov          v17.4s, #1.000000000000000000e+00
378  .long  0xf8408425                          // ldr           x5, [x1], #8
379  .long  0x4ea41c90                          // mov           v16.16b, v4.16b
380  .long  0x4ea7d634                          // fsub          v20.4s, v17.4s, v7.4s
381  .long  0x4ea51cb1                          // mov           v17.16b, v5.16b
382  .long  0x4ea61cd2                          // mov           v18.16b, v6.16b
383  .long  0x4ea71cf3                          // mov           v19.16b, v7.16b
384  .long  0x4e20ce90                          // fmla          v16.4s, v20.4s, v0.4s
385  .long  0x4e21ce91                          // fmla          v17.4s, v20.4s, v1.4s
386  .long  0x4e22ce92                          // fmla          v18.4s, v20.4s, v2.4s
387  .long  0x4e23ce93                          // fmla          v19.4s, v20.4s, v3.4s
388  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
389  .long  0x4eb11e21                          // mov           v1.16b, v17.16b
390  .long  0x4eb21e42                          // mov           v2.16b, v18.16b
391  .long  0x4eb31e63                          // mov           v3.16b, v19.16b
392  .long  0xd61f00a0                          // br            x5
393
394HIDDEN _sk_modulate_aarch64
395.globl _sk_modulate_aarch64
396FUNCTION(_sk_modulate_aarch64)
397_sk_modulate_aarch64:
398  .long  0xf8408425                          // ldr           x5, [x1], #8
399  .long  0x6e24dc00                          // fmul          v0.4s, v0.4s, v4.4s
400  .long  0x6e25dc21                          // fmul          v1.4s, v1.4s, v5.4s
401  .long  0x6e26dc42                          // fmul          v2.4s, v2.4s, v6.4s
402  .long  0x6e27dc63                          // fmul          v3.4s, v3.4s, v7.4s
403  .long  0xd61f00a0                          // br            x5
404
405HIDDEN _sk_multiply_aarch64
406.globl _sk_multiply_aarch64
407FUNCTION(_sk_multiply_aarch64)
408_sk_multiply_aarch64:
409  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
410  .long  0x4ea7d613                          // fsub          v19.4s, v16.4s, v7.4s
411  .long  0x4ea3d614                          // fsub          v20.4s, v16.4s, v3.4s
412  .long  0x6e20de70                          // fmul          v16.4s, v19.4s, v0.4s
413  .long  0x6e21de71                          // fmul          v17.4s, v19.4s, v1.4s
414  .long  0x6e22de72                          // fmul          v18.4s, v19.4s, v2.4s
415  .long  0x6e23de73                          // fmul          v19.4s, v19.4s, v3.4s
416  .long  0xf8408425                          // ldr           x5, [x1], #8
417  .long  0x4e34cc90                          // fmla          v16.4s, v4.4s, v20.4s
418  .long  0x4e34ccb1                          // fmla          v17.4s, v5.4s, v20.4s
419  .long  0x4e34ccd2                          // fmla          v18.4s, v6.4s, v20.4s
420  .long  0x4e34ccf3                          // fmla          v19.4s, v7.4s, v20.4s
421  .long  0x4e20cc90                          // fmla          v16.4s, v4.4s, v0.4s
422  .long  0x4e21ccb1                          // fmla          v17.4s, v5.4s, v1.4s
423  .long  0x4e22ccd2                          // fmla          v18.4s, v6.4s, v2.4s
424  .long  0x4e23ccf3                          // fmla          v19.4s, v7.4s, v3.4s
425  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
426  .long  0x4eb11e21                          // mov           v1.16b, v17.16b
427  .long  0x4eb21e42                          // mov           v2.16b, v18.16b
428  .long  0x4eb31e63                          // mov           v3.16b, v19.16b
429  .long  0xd61f00a0                          // br            x5
430
431HIDDEN _sk_plus__aarch64
432.globl _sk_plus__aarch64
433FUNCTION(_sk_plus__aarch64)
434_sk_plus__aarch64:
435  .long  0xf8408425                          // ldr           x5, [x1], #8
436  .long  0x4e24d400                          // fadd          v0.4s, v0.4s, v4.4s
437  .long  0x4e25d421                          // fadd          v1.4s, v1.4s, v5.4s
438  .long  0x4e26d442                          // fadd          v2.4s, v2.4s, v6.4s
439  .long  0x4e27d463                          // fadd          v3.4s, v3.4s, v7.4s
440  .long  0xd61f00a0                          // br            x5
441
442HIDDEN _sk_screen_aarch64
443.globl _sk_screen_aarch64
444FUNCTION(_sk_screen_aarch64)
445_sk_screen_aarch64:
446  .long  0xf8408425                          // ldr           x5, [x1], #8
447  .long  0x4e24d410                          // fadd          v16.4s, v0.4s, v4.4s
448  .long  0x4e25d431                          // fadd          v17.4s, v1.4s, v5.4s
449  .long  0x4e26d452                          // fadd          v18.4s, v2.4s, v6.4s
450  .long  0x4e27d473                          // fadd          v19.4s, v3.4s, v7.4s
451  .long  0x4ea4cc10                          // fmls          v16.4s, v0.4s, v4.4s
452  .long  0x4ea5cc31                          // fmls          v17.4s, v1.4s, v5.4s
453  .long  0x4ea6cc52                          // fmls          v18.4s, v2.4s, v6.4s
454  .long  0x4ea7cc73                          // fmls          v19.4s, v3.4s, v7.4s
455  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
456  .long  0x4eb11e21                          // mov           v1.16b, v17.16b
457  .long  0x4eb21e42                          // mov           v2.16b, v18.16b
458  .long  0x4eb31e63                          // mov           v3.16b, v19.16b
459  .long  0xd61f00a0                          // br            x5
460
461HIDDEN _sk_xor__aarch64
462.globl _sk_xor__aarch64
463FUNCTION(_sk_xor__aarch64)
464_sk_xor__aarch64:
465  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
466  .long  0xf8408425                          // ldr           x5, [x1], #8
467  .long  0x4ea7d611                          // fsub          v17.4s, v16.4s, v7.4s
468  .long  0x4ea3d610                          // fsub          v16.4s, v16.4s, v3.4s
469  .long  0x6e20de20                          // fmul          v0.4s, v17.4s, v0.4s
470  .long  0x6e21de21                          // fmul          v1.4s, v17.4s, v1.4s
471  .long  0x6e22de22                          // fmul          v2.4s, v17.4s, v2.4s
472  .long  0x6e23de23                          // fmul          v3.4s, v17.4s, v3.4s
473  .long  0x4e30cc80                          // fmla          v0.4s, v4.4s, v16.4s
474  .long  0x4e30cca1                          // fmla          v1.4s, v5.4s, v16.4s
475  .long  0x4e30ccc2                          // fmla          v2.4s, v6.4s, v16.4s
476  .long  0x4e30cce3                          // fmla          v3.4s, v7.4s, v16.4s
477  .long  0xd61f00a0                          // br            x5
478
479HIDDEN _sk_darken_aarch64
480.globl _sk_darken_aarch64
481FUNCTION(_sk_darken_aarch64)
482_sk_darken_aarch64:
483  .long  0x6e27dc10                          // fmul          v16.4s, v0.4s, v7.4s
484  .long  0x6e24dc71                          // fmul          v17.4s, v3.4s, v4.4s
485  .long  0x6e27dc32                          // fmul          v18.4s, v1.4s, v7.4s
486  .long  0x6e25dc73                          // fmul          v19.4s, v3.4s, v5.4s
487  .long  0x4e31f610                          // fmax          v16.4s, v16.4s, v17.4s
488  .long  0x4e24d400                          // fadd          v0.4s, v0.4s, v4.4s
489  .long  0xf8408425                          // ldr           x5, [x1], #8
490  .long  0x6e27dc51                          // fmul          v17.4s, v2.4s, v7.4s
491  .long  0x4e33f652                          // fmax          v18.4s, v18.4s, v19.4s
492  .long  0x6e26dc73                          // fmul          v19.4s, v3.4s, v6.4s
493  .long  0x4eb0d400                          // fsub          v0.4s, v0.4s, v16.4s
494  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
495  .long  0x4e33f631                          // fmax          v17.4s, v17.4s, v19.4s
496  .long  0x4e25d421                          // fadd          v1.4s, v1.4s, v5.4s
497  .long  0x4e26d442                          // fadd          v2.4s, v2.4s, v6.4s
498  .long  0x4ea3d610                          // fsub          v16.4s, v16.4s, v3.4s
499  .long  0x4eb2d421                          // fsub          v1.4s, v1.4s, v18.4s
500  .long  0x4eb1d442                          // fsub          v2.4s, v2.4s, v17.4s
501  .long  0x4e27ce03                          // fmla          v3.4s, v16.4s, v7.4s
502  .long  0xd61f00a0                          // br            x5
503
504HIDDEN _sk_lighten_aarch64
505.globl _sk_lighten_aarch64
506FUNCTION(_sk_lighten_aarch64)
507_sk_lighten_aarch64:
508  .long  0x6e27dc10                          // fmul          v16.4s, v0.4s, v7.4s
509  .long  0x6e24dc71                          // fmul          v17.4s, v3.4s, v4.4s
510  .long  0x6e27dc32                          // fmul          v18.4s, v1.4s, v7.4s
511  .long  0x6e25dc73                          // fmul          v19.4s, v3.4s, v5.4s
512  .long  0x4eb1f610                          // fmin          v16.4s, v16.4s, v17.4s
513  .long  0x4e24d400                          // fadd          v0.4s, v0.4s, v4.4s
514  .long  0xf8408425                          // ldr           x5, [x1], #8
515  .long  0x6e27dc51                          // fmul          v17.4s, v2.4s, v7.4s
516  .long  0x4eb3f652                          // fmin          v18.4s, v18.4s, v19.4s
517  .long  0x6e26dc73                          // fmul          v19.4s, v3.4s, v6.4s
518  .long  0x4eb0d400                          // fsub          v0.4s, v0.4s, v16.4s
519  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
520  .long  0x4eb3f631                          // fmin          v17.4s, v17.4s, v19.4s
521  .long  0x4e25d421                          // fadd          v1.4s, v1.4s, v5.4s
522  .long  0x4e26d442                          // fadd          v2.4s, v2.4s, v6.4s
523  .long  0x4ea3d610                          // fsub          v16.4s, v16.4s, v3.4s
524  .long  0x4eb2d421                          // fsub          v1.4s, v1.4s, v18.4s
525  .long  0x4eb1d442                          // fsub          v2.4s, v2.4s, v17.4s
526  .long  0x4e27ce03                          // fmla          v3.4s, v16.4s, v7.4s
527  .long  0xd61f00a0                          // br            x5
528
529HIDDEN _sk_difference_aarch64
530.globl _sk_difference_aarch64
531FUNCTION(_sk_difference_aarch64)
532_sk_difference_aarch64:
533  .long  0x6e27dc10                          // fmul          v16.4s, v0.4s, v7.4s
534  .long  0x6e24dc71                          // fmul          v17.4s, v3.4s, v4.4s
535  .long  0x6e27dc32                          // fmul          v18.4s, v1.4s, v7.4s
536  .long  0x6e25dc73                          // fmul          v19.4s, v3.4s, v5.4s
537  .long  0x4eb1f610                          // fmin          v16.4s, v16.4s, v17.4s
538  .long  0x4eb3f652                          // fmin          v18.4s, v18.4s, v19.4s
539  .long  0x4e24d400                          // fadd          v0.4s, v0.4s, v4.4s
540  .long  0x4e30d610                          // fadd          v16.4s, v16.4s, v16.4s
541  .long  0x6e27dc51                          // fmul          v17.4s, v2.4s, v7.4s
542  .long  0x6e26dc73                          // fmul          v19.4s, v3.4s, v6.4s
543  .long  0x4eb0d400                          // fsub          v0.4s, v0.4s, v16.4s
544  .long  0x4e25d421                          // fadd          v1.4s, v1.4s, v5.4s
545  .long  0x4e32d650                          // fadd          v16.4s, v18.4s, v18.4s
546  .long  0xf8408425                          // ldr           x5, [x1], #8
547  .long  0x4eb3f631                          // fmin          v17.4s, v17.4s, v19.4s
548  .long  0x4eb0d421                          // fsub          v1.4s, v1.4s, v16.4s
549  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
550  .long  0x4e26d442                          // fadd          v2.4s, v2.4s, v6.4s
551  .long  0x4e31d631                          // fadd          v17.4s, v17.4s, v17.4s
552  .long  0x4ea3d610                          // fsub          v16.4s, v16.4s, v3.4s
553  .long  0x4eb1d442                          // fsub          v2.4s, v2.4s, v17.4s
554  .long  0x4e27ce03                          // fmla          v3.4s, v16.4s, v7.4s
555  .long  0xd61f00a0                          // br            x5
556
557HIDDEN _sk_exclusion_aarch64
558.globl _sk_exclusion_aarch64
559FUNCTION(_sk_exclusion_aarch64)
560_sk_exclusion_aarch64:
561  .long  0x4e24d410                          // fadd          v16.4s, v0.4s, v4.4s
562  .long  0x6e24dc00                          // fmul          v0.4s, v0.4s, v4.4s
563  .long  0x4e20d400                          // fadd          v0.4s, v0.4s, v0.4s
564  .long  0x4ea0d600                          // fsub          v0.4s, v16.4s, v0.4s
565  .long  0x4e25d430                          // fadd          v16.4s, v1.4s, v5.4s
566  .long  0x6e25dc21                          // fmul          v1.4s, v1.4s, v5.4s
567  .long  0x4e21d421                          // fadd          v1.4s, v1.4s, v1.4s
568  .long  0x4ea1d601                          // fsub          v1.4s, v16.4s, v1.4s
569  .long  0x4e26d450                          // fadd          v16.4s, v2.4s, v6.4s
570  .long  0x6e26dc42                          // fmul          v2.4s, v2.4s, v6.4s
571  .long  0x4e22d442                          // fadd          v2.4s, v2.4s, v2.4s
572  .long  0xf8408425                          // ldr           x5, [x1], #8
573  .long  0x4ea2d602                          // fsub          v2.4s, v16.4s, v2.4s
574  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
575  .long  0x4ea3d610                          // fsub          v16.4s, v16.4s, v3.4s
576  .long  0x4e27ce03                          // fmla          v3.4s, v16.4s, v7.4s
577  .long  0xd61f00a0                          // br            x5
578
579HIDDEN _sk_colorburn_aarch64
580.globl _sk_colorburn_aarch64
581FUNCTION(_sk_colorburn_aarch64)
582_sk_colorburn_aarch64:
583  .long  0x4ea4d4f3                          // fsub          v19.4s, v7.4s, v4.4s
584  .long  0x6e23de73                          // fmul          v19.4s, v19.4s, v3.4s
585  .long  0x4f03f611                          // fmov          v17.4s, #1.000000000000000000e+00
586  .long  0x6e20fe73                          // fdiv          v19.4s, v19.4s, v0.4s
587  .long  0x4ea7d634                          // fsub          v20.4s, v17.4s, v7.4s
588  .long  0x4eb3f4f3                          // fmin          v19.4s, v7.4s, v19.4s
589  .long  0x6e20de95                          // fmul          v21.4s, v20.4s, v0.4s
590  .long  0x4eb3d4f3                          // fsub          v19.4s, v7.4s, v19.4s
591  .long  0x4e24d6b6                          // fadd          v22.4s, v21.4s, v4.4s
592  .long  0x4e33cc75                          // fmla          v21.4s, v3.4s, v19.4s
593  .long  0x4ea5d4f3                          // fsub          v19.4s, v7.4s, v5.4s
594  .long  0x6e23de73                          // fmul          v19.4s, v19.4s, v3.4s
595  .long  0x6e21fe73                          // fdiv          v19.4s, v19.4s, v1.4s
596  .long  0x4ea0d812                          // fcmeq         v18.4s, v0.4s, #0.0
597  .long  0x4eb3f4f3                          // fmin          v19.4s, v7.4s, v19.4s
598  .long  0x6e751c12                          // bsl           v18.16b, v0.16b, v21.16b
599  .long  0x6e21de80                          // fmul          v0.4s, v20.4s, v1.4s
600  .long  0x4eb3d4f3                          // fsub          v19.4s, v7.4s, v19.4s
601  .long  0x4e25d415                          // fadd          v21.4s, v0.4s, v5.4s
602  .long  0x4e33cc60                          // fmla          v0.4s, v3.4s, v19.4s
603  .long  0x4ea0d833                          // fcmeq         v19.4s, v1.4s, #0.0
604  .long  0x6e601c33                          // bsl           v19.16b, v1.16b, v0.16b
605  .long  0x4ea6d4e0                          // fsub          v0.4s, v7.4s, v6.4s
606  .long  0x6e23dc00                          // fmul          v0.4s, v0.4s, v3.4s
607  .long  0x6e22fc00                          // fdiv          v0.4s, v0.4s, v2.4s
608  .long  0x4ea0f4e0                          // fmin          v0.4s, v7.4s, v0.4s
609  .long  0x6e22de81                          // fmul          v1.4s, v20.4s, v2.4s
610  .long  0x4ea0d4e0                          // fsub          v0.4s, v7.4s, v0.4s
611  .long  0x4e26d434                          // fadd          v20.4s, v1.4s, v6.4s
612  .long  0x4e20cc61                          // fmla          v1.4s, v3.4s, v0.4s
613  .long  0x4ea0d840                          // fcmeq         v0.4s, v2.4s, #0.0
614  .long  0x4ea3d631                          // fsub          v17.4s, v17.4s, v3.4s
615  .long  0xf8408425                          // ldr           x5, [x1], #8
616  .long  0x4e27e490                          // fcmeq         v16.4s, v4.4s, v7.4s
617  .long  0x6e611c40                          // bsl           v0.16b, v2.16b, v1.16b
618  .long  0x4e31cc92                          // fmla          v18.4s, v4.4s, v17.4s
619  .long  0x4e27e4a1                          // fcmeq         v1.4s, v5.4s, v7.4s
620  .long  0x4e27e4c2                          // fcmeq         v2.4s, v6.4s, v7.4s
621  .long  0x4e31ccb3                          // fmla          v19.4s, v5.4s, v17.4s
622  .long  0x4e31ccc0                          // fmla          v0.4s, v6.4s, v17.4s
623  .long  0x6e721ed0                          // bsl           v16.16b, v22.16b, v18.16b
624  .long  0x6e731ea1                          // bsl           v1.16b, v21.16b, v19.16b
625  .long  0x6e601e82                          // bsl           v2.16b, v20.16b, v0.16b
626  .long  0x4e27ce23                          // fmla          v3.4s, v17.4s, v7.4s
627  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
628  .long  0xd61f00a0                          // br            x5
629
630HIDDEN _sk_colordodge_aarch64
631.globl _sk_colordodge_aarch64
632FUNCTION(_sk_colordodge_aarch64)
633_sk_colordodge_aarch64:
634  .long  0x4f03f612                          // fmov          v18.4s, #1.000000000000000000e+00
635  .long  0x6e24dc71                          // fmul          v17.4s, v3.4s, v4.4s
636  .long  0x4ea0d474                          // fsub          v20.4s, v3.4s, v0.4s
637  .long  0x6e25dc75                          // fmul          v21.4s, v3.4s, v5.4s
638  .long  0x4ea1d476                          // fsub          v22.4s, v3.4s, v1.4s
639  .long  0x4ea7d657                          // fsub          v23.4s, v18.4s, v7.4s
640  .long  0x6e34fe31                          // fdiv          v17.4s, v17.4s, v20.4s
641  .long  0x6e36feb4                          // fdiv          v20.4s, v21.4s, v22.4s
642  .long  0x6e20def5                          // fmul          v21.4s, v23.4s, v0.4s
643  .long  0x4eb1f4f1                          // fmin          v17.4s, v7.4s, v17.4s
644  .long  0x4e23e413                          // fcmeq         v19.4s, v0.4s, v3.4s
645  .long  0x4e24d6b6                          // fadd          v22.4s, v21.4s, v4.4s
646  .long  0x4e31cc75                          // fmla          v21.4s, v3.4s, v17.4s
647  .long  0x6e751c13                          // bsl           v19.16b, v0.16b, v21.16b
648  .long  0x6e21dee0                          // fmul          v0.4s, v23.4s, v1.4s
649  .long  0x4eb4f4f4                          // fmin          v20.4s, v7.4s, v20.4s
650  .long  0x4e25d415                          // fadd          v21.4s, v0.4s, v5.4s
651  .long  0x4e34cc60                          // fmla          v0.4s, v3.4s, v20.4s
652  .long  0x4e23e434                          // fcmeq         v20.4s, v1.4s, v3.4s
653  .long  0x6e601c34                          // bsl           v20.16b, v1.16b, v0.16b
654  .long  0x6e26dc60                          // fmul          v0.4s, v3.4s, v6.4s
655  .long  0x4ea2d461                          // fsub          v1.4s, v3.4s, v2.4s
656  .long  0x6e21fc00                          // fdiv          v0.4s, v0.4s, v1.4s
657  .long  0x6e22dee1                          // fmul          v1.4s, v23.4s, v2.4s
658  .long  0x4ea0f4e0                          // fmin          v0.4s, v7.4s, v0.4s
659  .long  0x4e26d437                          // fadd          v23.4s, v1.4s, v6.4s
660  .long  0x4e20cc61                          // fmla          v1.4s, v3.4s, v0.4s
661  .long  0x4e23e440                          // fcmeq         v0.4s, v2.4s, v3.4s
662  .long  0x6e611c40                          // bsl           v0.16b, v2.16b, v1.16b
663  .long  0x4ea3d641                          // fsub          v1.4s, v18.4s, v3.4s
664  .long  0xf8408425                          // ldr           x5, [x1], #8
665  .long  0x4ea0d890                          // fcmeq         v16.4s, v4.4s, #0.0
666  .long  0x4ea0d8b1                          // fcmeq         v17.4s, v5.4s, #0.0
667  .long  0x4e21cc93                          // fmla          v19.4s, v4.4s, v1.4s
668  .long  0x4e21ccb4                          // fmla          v20.4s, v5.4s, v1.4s
669  .long  0x4ea0d8c2                          // fcmeq         v2.4s, v6.4s, #0.0
670  .long  0x4e21ccc0                          // fmla          v0.4s, v6.4s, v1.4s
671  .long  0x6e731ed0                          // bsl           v16.16b, v22.16b, v19.16b
672  .long  0x6e741eb1                          // bsl           v17.16b, v21.16b, v20.16b
673  .long  0x6e601ee2                          // bsl           v2.16b, v23.16b, v0.16b
674  .long  0x4e27cc23                          // fmla          v3.4s, v1.4s, v7.4s
675  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
676  .long  0x4eb11e21                          // mov           v1.16b, v17.16b
677  .long  0xd61f00a0                          // br            x5
678
679HIDDEN _sk_hardlight_aarch64
680.globl _sk_hardlight_aarch64
681FUNCTION(_sk_hardlight_aarch64)
682_sk_hardlight_aarch64:
683  .long  0x4ea4d4f4                          // fsub          v20.4s, v7.4s, v4.4s
684  .long  0x4ea0d475                          // fsub          v21.4s, v3.4s, v0.4s
685  .long  0x6e34deb4                          // fmul          v20.4s, v21.4s, v20.4s
686  .long  0x4e20d411                          // fadd          v17.4s, v0.4s, v0.4s
687  .long  0x6e24dc12                          // fmul          v18.4s, v0.4s, v4.4s
688  .long  0x6e27dc73                          // fmul          v19.4s, v3.4s, v7.4s
689  .long  0x4e34d694                          // fadd          v20.4s, v20.4s, v20.4s
690  .long  0x6e31e471                          // fcmge         v17.4s, v3.4s, v17.4s
691  .long  0x4e32d652                          // fadd          v18.4s, v18.4s, v18.4s
692  .long  0x4eb4d674                          // fsub          v20.4s, v19.4s, v20.4s
693  .long  0x6e741e51                          // bsl           v17.16b, v18.16b, v20.16b
694  .long  0x4ea5d4f2                          // fsub          v18.4s, v7.4s, v5.4s
695  .long  0x4ea1d474                          // fsub          v20.4s, v3.4s, v1.4s
696  .long  0x6e32de92                          // fmul          v18.4s, v20.4s, v18.4s
697  .long  0x4e21d436                          // fadd          v22.4s, v1.4s, v1.4s
698  .long  0x6e25dc35                          // fmul          v21.4s, v1.4s, v5.4s
699  .long  0x4e32d652                          // fadd          v18.4s, v18.4s, v18.4s
700  .long  0x6e36e476                          // fcmge         v22.4s, v3.4s, v22.4s
701  .long  0x4e35d6b5                          // fadd          v21.4s, v21.4s, v21.4s
702  .long  0x4eb2d672                          // fsub          v18.4s, v19.4s, v18.4s
703  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
704  .long  0x6e721eb6                          // bsl           v22.16b, v21.16b, v18.16b
705  .long  0x4ea6d4f2                          // fsub          v18.4s, v7.4s, v6.4s
706  .long  0x4ea2d475                          // fsub          v21.4s, v3.4s, v2.4s
707  .long  0x6e32deb2                          // fmul          v18.4s, v21.4s, v18.4s
708  .long  0x4ea7d615                          // fsub          v21.4s, v16.4s, v7.4s
709  .long  0x4e22d454                          // fadd          v20.4s, v2.4s, v2.4s
710  .long  0x6e20dea0                          // fmul          v0.4s, v21.4s, v0.4s
711  .long  0x6e21dea1                          // fmul          v1.4s, v21.4s, v1.4s
712  .long  0x6e22deb5                          // fmul          v21.4s, v21.4s, v2.4s
713  .long  0x6e26dc42                          // fmul          v2.4s, v2.4s, v6.4s
714  .long  0xf8408425                          // ldr           x5, [x1], #8
715  .long  0x4e32d652                          // fadd          v18.4s, v18.4s, v18.4s
716  .long  0x4ea3d610                          // fsub          v16.4s, v16.4s, v3.4s
717  .long  0x6e34e474                          // fcmge         v20.4s, v3.4s, v20.4s
718  .long  0x4e22d442                          // fadd          v2.4s, v2.4s, v2.4s
719  .long  0x4eb2d672                          // fsub          v18.4s, v19.4s, v18.4s
720  .long  0x4e30cc80                          // fmla          v0.4s, v4.4s, v16.4s
721  .long  0x4e30cca1                          // fmla          v1.4s, v5.4s, v16.4s
722  .long  0x4e30ccd5                          // fmla          v21.4s, v6.4s, v16.4s
723  .long  0x6e721c54                          // bsl           v20.16b, v2.16b, v18.16b
724  .long  0x4e31d400                          // fadd          v0.4s, v0.4s, v17.4s
725  .long  0x4e36d421                          // fadd          v1.4s, v1.4s, v22.4s
726  .long  0x4e34d6a2                          // fadd          v2.4s, v21.4s, v20.4s
727  .long  0x4e27ce03                          // fmla          v3.4s, v16.4s, v7.4s
728  .long  0xd61f00a0                          // br            x5
729
730HIDDEN _sk_overlay_aarch64
731.globl _sk_overlay_aarch64
732FUNCTION(_sk_overlay_aarch64)
733_sk_overlay_aarch64:
734  .long  0x4ea4d4f4                          // fsub          v20.4s, v7.4s, v4.4s
735  .long  0x4ea0d475                          // fsub          v21.4s, v3.4s, v0.4s
736  .long  0x6e34deb4                          // fmul          v20.4s, v21.4s, v20.4s
737  .long  0x4e24d491                          // fadd          v17.4s, v4.4s, v4.4s
738  .long  0x6e24dc12                          // fmul          v18.4s, v0.4s, v4.4s
739  .long  0x6e27dc73                          // fmul          v19.4s, v3.4s, v7.4s
740  .long  0x4e34d694                          // fadd          v20.4s, v20.4s, v20.4s
741  .long  0x6e31e4f1                          // fcmge         v17.4s, v7.4s, v17.4s
742  .long  0x4e32d652                          // fadd          v18.4s, v18.4s, v18.4s
743  .long  0x4eb4d674                          // fsub          v20.4s, v19.4s, v20.4s
744  .long  0x6e741e51                          // bsl           v17.16b, v18.16b, v20.16b
745  .long  0x4ea5d4f2                          // fsub          v18.4s, v7.4s, v5.4s
746  .long  0x4ea1d474                          // fsub          v20.4s, v3.4s, v1.4s
747  .long  0x6e32de92                          // fmul          v18.4s, v20.4s, v18.4s
748  .long  0x4e25d4b6                          // fadd          v22.4s, v5.4s, v5.4s
749  .long  0x6e25dc35                          // fmul          v21.4s, v1.4s, v5.4s
750  .long  0x4e32d652                          // fadd          v18.4s, v18.4s, v18.4s
751  .long  0x6e36e4f6                          // fcmge         v22.4s, v7.4s, v22.4s
752  .long  0x4e35d6b5                          // fadd          v21.4s, v21.4s, v21.4s
753  .long  0x4eb2d672                          // fsub          v18.4s, v19.4s, v18.4s
754  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
755  .long  0x6e721eb6                          // bsl           v22.16b, v21.16b, v18.16b
756  .long  0x4ea6d4f2                          // fsub          v18.4s, v7.4s, v6.4s
757  .long  0x4ea2d475                          // fsub          v21.4s, v3.4s, v2.4s
758  .long  0x6e32deb2                          // fmul          v18.4s, v21.4s, v18.4s
759  .long  0x4ea7d615                          // fsub          v21.4s, v16.4s, v7.4s
760  .long  0x4e26d4d4                          // fadd          v20.4s, v6.4s, v6.4s
761  .long  0x6e20dea0                          // fmul          v0.4s, v21.4s, v0.4s
762  .long  0x6e21dea1                          // fmul          v1.4s, v21.4s, v1.4s
763  .long  0x6e22deb5                          // fmul          v21.4s, v21.4s, v2.4s
764  .long  0x6e26dc42                          // fmul          v2.4s, v2.4s, v6.4s
765  .long  0xf8408425                          // ldr           x5, [x1], #8
766  .long  0x4e32d652                          // fadd          v18.4s, v18.4s, v18.4s
767  .long  0x4ea3d610                          // fsub          v16.4s, v16.4s, v3.4s
768  .long  0x6e34e4f4                          // fcmge         v20.4s, v7.4s, v20.4s
769  .long  0x4e22d442                          // fadd          v2.4s, v2.4s, v2.4s
770  .long  0x4eb2d672                          // fsub          v18.4s, v19.4s, v18.4s
771  .long  0x4e30cc80                          // fmla          v0.4s, v4.4s, v16.4s
772  .long  0x4e30cca1                          // fmla          v1.4s, v5.4s, v16.4s
773  .long  0x4e30ccd5                          // fmla          v21.4s, v6.4s, v16.4s
774  .long  0x6e721c54                          // bsl           v20.16b, v2.16b, v18.16b
775  .long  0x4e31d400                          // fadd          v0.4s, v0.4s, v17.4s
776  .long  0x4e36d421                          // fadd          v1.4s, v1.4s, v22.4s
777  .long  0x4e34d6a2                          // fadd          v2.4s, v21.4s, v20.4s
778  .long  0x4e27ce03                          // fmla          v3.4s, v16.4s, v7.4s
779  .long  0xd61f00a0                          // br            x5
780
781HIDDEN _sk_softlight_aarch64
782.globl _sk_softlight_aarch64
783FUNCTION(_sk_softlight_aarch64)
784_sk_softlight_aarch64:
785  .long  0x4ea0c8f5                          // fcmgt         v21.4s, v7.4s, #0.0
786  .long  0x6e27fc96                          // fdiv          v22.4s, v4.4s, v7.4s
787  .long  0x6e27fcb8                          // fdiv          v24.4s, v5.4s, v7.4s
788  .long  0x6e27fcd9                          // fdiv          v25.4s, v6.4s, v7.4s
789  .long  0x4e351ed6                          // and           v22.16b, v22.16b, v21.16b
790  .long  0x4e351f18                          // and           v24.16b, v24.16b, v21.16b
791  .long  0x4e351f35                          // and           v21.16b, v25.16b, v21.16b
792  .long  0x6ea1dad9                          // frsqrte       v25.4s, v22.4s
793  .long  0x6e39df3d                          // fmul          v29.4s, v25.4s, v25.4s
794  .long  0x4ebdfedd                          // frsqrts       v29.4s, v22.4s, v29.4s
795  .long  0x6e3ddf39                          // fmul          v25.4s, v25.4s, v29.4s
796  .long  0x4ea1db3d                          // frecpe        v29.4s, v25.4s
797  .long  0x6ea0fada                          // fneg          v26.4s, v22.4s
798  .long  0x6ea1db1b                          // frsqrte       v27.4s, v24.4s
799  .long  0x4e3dff39                          // frecps        v25.4s, v25.4s, v29.4s
800  .long  0x4e3dcf3a                          // fmla          v26.4s, v25.4s, v29.4s
801  .long  0x6e3bdf7d                          // fmul          v29.4s, v27.4s, v27.4s
802  .long  0x4ebdff1d                          // frsqrts       v29.4s, v24.4s, v29.4s
803  .long  0x6e3ddf7b                          // fmul          v27.4s, v27.4s, v29.4s
804  .long  0x4ea1db7d                          // frecpe        v29.4s, v27.4s
805  .long  0x6ea0fb1c                          // fneg          v28.4s, v24.4s
806  .long  0x6ea1dab9                          // frsqrte       v25.4s, v21.4s
807  .long  0x4e3dff7b                          // frecps        v27.4s, v27.4s, v29.4s
808  .long  0x4e3dcf7c                          // fmla          v28.4s, v27.4s, v29.4s
809  .long  0x6e39df3d                          // fmul          v29.4s, v25.4s, v25.4s
810  .long  0x4ebdfebd                          // frsqrts       v29.4s, v21.4s, v29.4s
811  .long  0x6e3ddf39                          // fmul          v25.4s, v25.4s, v29.4s
812  .long  0x4ea1db3d                          // frecpe        v29.4s, v25.4s
813  .long  0x6ea0fabb                          // fneg          v27.4s, v21.4s
814  .long  0x4e3dff39                          // frecps        v25.4s, v25.4s, v29.4s
815  .long  0x4e3dcf3b                          // fmla          v27.4s, v25.4s, v29.4s
816  .long  0x4e36d6d9                          // fadd          v25.4s, v22.4s, v22.4s
817  .long  0x4f07f613                          // fmov          v19.4s, #-1.000000000000000000e+00
818  .long  0x4e39d739                          // fadd          v25.4s, v25.4s, v25.4s
819  .long  0x4e24d497                          // fadd          v23.4s, v4.4s, v4.4s
820  .long  0x4e33d6dd                          // fadd          v29.4s, v22.4s, v19.4s
821  .long  0x4e39cf39                          // fmla          v25.4s, v25.4s, v25.4s
822  .long  0x4f00f794                          // fmov          v20.4s, #7.000000000000000000e+00
823  .long  0x6e39dfb9                          // fmul          v25.4s, v29.4s, v25.4s
824  .long  0x4e37d6f7                          // fadd          v23.4s, v23.4s, v23.4s
825  .long  0x6e37e4f7                          // fcmge         v23.4s, v7.4s, v23.4s
826  .long  0x4e36ce99                          // fmla          v25.4s, v20.4s, v22.4s
827  .long  0x6e7a1f37                          // bsl           v23.16b, v25.16b, v26.16b
828  .long  0x4e38d719                          // fadd          v25.4s, v24.4s, v24.4s
829  .long  0x4e39d739                          // fadd          v25.4s, v25.4s, v25.4s
830  .long  0x4e33d71a                          // fadd          v26.4s, v24.4s, v19.4s
831  .long  0x4e39cf39                          // fmla          v25.4s, v25.4s, v25.4s
832  .long  0x6e39df59                          // fmul          v25.4s, v26.4s, v25.4s
833  .long  0x4e25d4ba                          // fadd          v26.4s, v5.4s, v5.4s
834  .long  0x4e3ad75a                          // fadd          v26.4s, v26.4s, v26.4s
835  .long  0x6e3ae4fa                          // fcmge         v26.4s, v7.4s, v26.4s
836  .long  0x4e38ce99                          // fmla          v25.4s, v20.4s, v24.4s
837  .long  0x6e7c1f3a                          // bsl           v26.16b, v25.16b, v28.16b
838  .long  0x4e35d6bc                          // fadd          v28.4s, v21.4s, v21.4s
839  .long  0x4e3cd79c                          // fadd          v28.4s, v28.4s, v28.4s
840  .long  0x4e33d6b3                          // fadd          v19.4s, v21.4s, v19.4s
841  .long  0x4e3ccf9c                          // fmla          v28.4s, v28.4s, v28.4s
842  .long  0x6e3cde73                          // fmul          v19.4s, v19.4s, v28.4s
843  .long  0x4e35ce93                          // fmla          v19.4s, v20.4s, v21.4s
844  .long  0x4e26d4d4                          // fadd          v20.4s, v6.4s, v6.4s
845  .long  0x4e34d694                          // fadd          v20.4s, v20.4s, v20.4s
846  .long  0x4f03f612                          // fmov          v18.4s, #1.000000000000000000e+00
847  .long  0x6e34e4f4                          // fcmge         v20.4s, v7.4s, v20.4s
848  .long  0x4e20d411                          // fadd          v17.4s, v0.4s, v0.4s
849  .long  0x6e7b1e74                          // bsl           v20.16b, v19.16b, v27.16b
850  .long  0x4ea7d65b                          // fsub          v27.4s, v18.4s, v7.4s
851  .long  0x4ea31c70                          // mov           v16.16b, v3.16b
852  .long  0x4e21d43d                          // fadd          v29.4s, v1.4s, v1.4s
853  .long  0x4e22d45c                          // fadd          v28.4s, v2.4s, v2.4s
854  .long  0x6e20df60                          // fmul          v0.4s, v27.4s, v0.4s
855  .long  0x6e21df61                          // fmul          v1.4s, v27.4s, v1.4s
856  .long  0x6e22df62                          // fmul          v2.4s, v27.4s, v2.4s
857  .long  0x4ea3d63b                          // fsub          v27.4s, v17.4s, v3.4s
858  .long  0x4eb6d656                          // fsub          v22.4s, v18.4s, v22.4s
859  .long  0x4ea31c79                          // mov           v25.16b, v3.16b
860  .long  0x4e3bced0                          // fmla          v16.4s, v22.4s, v27.4s
861  .long  0x4ea3d7b6                          // fsub          v22.4s, v29.4s, v3.4s
862  .long  0x4eb8d658                          // fsub          v24.4s, v18.4s, v24.4s
863  .long  0x4ea31c73                          // mov           v19.16b, v3.16b
864  .long  0x4e36cf19                          // fmla          v25.4s, v24.4s, v22.4s
865  .long  0x4ea3d798                          // fsub          v24.4s, v28.4s, v3.4s
866  .long  0x4eb5d655                          // fsub          v21.4s, v18.4s, v21.4s
867  .long  0x4e38ceb3                          // fmla          v19.4s, v21.4s, v24.4s
868  .long  0x6e27df7b                          // fmul          v27.4s, v27.4s, v7.4s
869  .long  0x6e27ded6                          // fmul          v22.4s, v22.4s, v7.4s
870  .long  0x6e27df18                          // fmul          v24.4s, v24.4s, v7.4s
871  .long  0xf8408425                          // ldr           x5, [x1], #8
872  .long  0x6e37df77                          // fmul          v23.4s, v27.4s, v23.4s
873  .long  0x6e3aded6                          // fmul          v22.4s, v22.4s, v26.4s
874  .long  0x6e34df14                          // fmul          v20.4s, v24.4s, v20.4s
875  .long  0x4ea3d652                          // fsub          v18.4s, v18.4s, v3.4s
876  .long  0x6e31e471                          // fcmge         v17.4s, v3.4s, v17.4s
877  .long  0x6e3de475                          // fcmge         v21.4s, v3.4s, v29.4s
878  .long  0x6e3ce47c                          // fcmge         v28.4s, v3.4s, v28.4s
879  .long  0x6e24de10                          // fmul          v16.4s, v16.4s, v4.4s
880  .long  0x6e25df39                          // fmul          v25.4s, v25.4s, v5.4s
881  .long  0x6e26de73                          // fmul          v19.4s, v19.4s, v6.4s
882  .long  0x4e23cc97                          // fmla          v23.4s, v4.4s, v3.4s
883  .long  0x4e23ccb6                          // fmla          v22.4s, v5.4s, v3.4s
884  .long  0x4e23ccd4                          // fmla          v20.4s, v6.4s, v3.4s
885  .long  0x4e32cc80                          // fmla          v0.4s, v4.4s, v18.4s
886  .long  0x4e32cca1                          // fmla          v1.4s, v5.4s, v18.4s
887  .long  0x4e32ccc2                          // fmla          v2.4s, v6.4s, v18.4s
888  .long  0x6e771e11                          // bsl           v17.16b, v16.16b, v23.16b
889  .long  0x6e761f35                          // bsl           v21.16b, v25.16b, v22.16b
890  .long  0x6e741e7c                          // bsl           v28.16b, v19.16b, v20.16b
891  .long  0x4e31d400                          // fadd          v0.4s, v0.4s, v17.4s
892  .long  0x4e35d421                          // fadd          v1.4s, v1.4s, v21.4s
893  .long  0x4e3cd442                          // fadd          v2.4s, v2.4s, v28.4s
894  .long  0x4e27ce43                          // fmla          v3.4s, v18.4s, v7.4s
895  .long  0xd61f00a0                          // br            x5
896
897HIDDEN _sk_hue_aarch64
898.globl _sk_hue_aarch64
899FUNCTION(_sk_hue_aarch64)
900_sk_hue_aarch64:
901  .long  0x6e23dc32                          // fmul          v18.4s, v1.4s, v3.4s
902  .long  0x6e23dc53                          // fmul          v19.4s, v2.4s, v3.4s
903  .long  0x4e26f4b5                          // fmax          v21.4s, v5.4s, v6.4s
904  .long  0x4ea6f4b7                          // fmin          v23.4s, v5.4s, v6.4s
905  .long  0x6e23dc11                          // fmul          v17.4s, v0.4s, v3.4s
906  .long  0x4e35f495                          // fmax          v21.4s, v4.4s, v21.4s
907  .long  0x4eb7f497                          // fmin          v23.4s, v4.4s, v23.4s
908  .long  0x4eb3f65b                          // fmin          v27.4s, v18.4s, v19.4s
909  .long  0x52a7d328                          // mov           w8, #0x3e990000
910  .long  0x4f03f619                          // fmov          v25.4s, #1.000000000000000000e+00
911  .long  0x4e33f65c                          // fmax          v28.4s, v18.4s, v19.4s
912  .long  0x4eb7d6b5                          // fsub          v21.4s, v21.4s, v23.4s
913  .long  0x4ebbf63b                          // fmin          v27.4s, v17.4s, v27.4s
914  .long  0x72933348                          // movk          w8, #0x999a
915  .long  0x4ea7d737                          // fsub          v23.4s, v25.4s, v7.4s
916  .long  0x4e3cf63c                          // fmax          v28.4s, v17.4s, v28.4s
917  .long  0x4ebbd652                          // fsub          v18.4s, v18.4s, v27.4s
918  .long  0x6e23deb5                          // fmul          v21.4s, v21.4s, v3.4s
919  .long  0x4e040d16                          // dup           v22.4s, w8
920  .long  0x52a7e2e8                          // mov           w8, #0x3f170000
921  .long  0x6e20dee0                          // fmul          v0.4s, v23.4s, v0.4s
922  .long  0x6e21dee1                          // fmul          v1.4s, v23.4s, v1.4s
923  .long  0x6e22dee2                          // fmul          v2.4s, v23.4s, v2.4s
924  .long  0x4ea3d739                          // fsub          v25.4s, v25.4s, v3.4s
925  .long  0x4ebbd79c                          // fsub          v28.4s, v28.4s, v27.4s
926  .long  0x4ebbd631                          // fsub          v17.4s, v17.4s, v27.4s
927  .long  0x6e32deb2                          // fmul          v18.4s, v21.4s, v18.4s
928  .long  0x728147a8                          // movk          w8, #0xa3d
929  .long  0x4ebbd673                          // fsub          v19.4s, v19.4s, v27.4s
930  .long  0x4e39cc80                          // fmla          v0.4s, v4.4s, v25.4s
931  .long  0x4e39cca1                          // fmla          v1.4s, v5.4s, v25.4s
932  .long  0x4e39ccc2                          // fmla          v2.4s, v6.4s, v25.4s
933  .long  0x4ea0db99                          // fcmeq         v25.4s, v28.4s, #0.0
934  .long  0x6e31deb1                          // fmul          v17.4s, v21.4s, v17.4s
935  .long  0x6e3cfe52                          // fdiv          v18.4s, v18.4s, v28.4s
936  .long  0x4e040d18                          // dup           v24.4s, w8
937  .long  0x52a7bc28                          // mov           w8, #0x3de10000
938  .long  0x6e33deb3                          // fmul          v19.4s, v21.4s, v19.4s
939  .long  0x6e3cfe31                          // fdiv          v17.4s, v17.4s, v28.4s
940  .long  0x4e791e52                          // bic           v18.16b, v18.16b, v25.16b
941  .long  0x7288f5c8                          // movk          w8, #0x47ae
942  .long  0x6e3cfe73                          // fdiv          v19.4s, v19.4s, v28.4s
943  .long  0x4e791e31                          // bic           v17.16b, v17.16b, v25.16b
944  .long  0x6e38de55                          // fmul          v21.4s, v18.4s, v24.4s
945  .long  0x4e040d17                          // dup           v23.4s, w8
946  .long  0x6e38dcbb                          // fmul          v27.4s, v5.4s, v24.4s
947  .long  0x4e791e73                          // bic           v19.16b, v19.16b, v25.16b
948  .long  0x4e31ced5                          // fmla          v21.4s, v22.4s, v17.4s
949  .long  0x4e24cedb                          // fmla          v27.4s, v22.4s, v4.4s
950  .long  0x4e33cef5                          // fmla          v21.4s, v23.4s, v19.4s
951  .long  0x4e26cefb                          // fmla          v27.4s, v23.4s, v6.4s
952  .long  0x6ea0fab5                          // fneg          v21.4s, v21.4s
953  .long  0x4e3bcc75                          // fmla          v21.4s, v3.4s, v27.4s
954  .long  0x6e27dc74                          // fmul          v20.4s, v3.4s, v7.4s
955  .long  0x4e27d47a                          // fadd          v26.4s, v3.4s, v7.4s
956  .long  0x4e35d623                          // fadd          v3.4s, v17.4s, v21.4s
957  .long  0x4e35d651                          // fadd          v17.4s, v18.4s, v21.4s
958  .long  0x6e38de38                          // fmul          v24.4s, v17.4s, v24.4s
959  .long  0x4e35d672                          // fadd          v18.4s, v19.4s, v21.4s
960  .long  0x4e23ced8                          // fmla          v24.4s, v22.4s, v3.4s
961  .long  0x4eb2f633                          // fmin          v19.4s, v17.4s, v18.4s
962  .long  0x4e32cef8                          // fmla          v24.4s, v23.4s, v18.4s
963  .long  0x4eb3f473                          // fmin          v19.4s, v3.4s, v19.4s
964  .long  0x4eb8d479                          // fsub          v25.4s, v3.4s, v24.4s
965  .long  0x6ea0ca76                          // fcmge         v22.4s, v19.4s, #0.0
966  .long  0x4eb3d713                          // fsub          v19.4s, v24.4s, v19.4s
967  .long  0x6e39df19                          // fmul          v25.4s, v24.4s, v25.4s
968  .long  0x6e33ff39                          // fdiv          v25.4s, v25.4s, v19.4s
969  .long  0x4e32f635                          // fmax          v21.4s, v17.4s, v18.4s
970  .long  0x4eb61edb                          // mov           v27.16b, v22.16b
971  .long  0x4e39d719                          // fadd          v25.4s, v24.4s, v25.4s
972  .long  0x4e35f475                          // fmax          v21.4s, v3.4s, v21.4s
973  .long  0x6e791c7b                          // bsl           v27.16b, v3.16b, v25.16b
974  .long  0x4eb8d623                          // fsub          v3.4s, v17.4s, v24.4s
975  .long  0x6e23df03                          // fmul          v3.4s, v24.4s, v3.4s
976  .long  0x6e33fc63                          // fdiv          v3.4s, v3.4s, v19.4s
977  .long  0x4eb61ed9                          // mov           v25.16b, v22.16b
978  .long  0x4e23d703                          // fadd          v3.4s, v24.4s, v3.4s
979  .long  0x6e631e39                          // bsl           v25.16b, v17.16b, v3.16b
980  .long  0x4eb8d651                          // fsub          v17.4s, v18.4s, v24.4s
981  .long  0x6e31df11                          // fmul          v17.4s, v24.4s, v17.4s
982  .long  0x6e33fe31                          // fdiv          v17.4s, v17.4s, v19.4s
983  .long  0x4e31d711                          // fadd          v17.4s, v24.4s, v17.4s
984  .long  0x6e711e56                          // bsl           v22.16b, v18.16b, v17.16b
985  .long  0x4eb8d69c                          // fsub          v28.4s, v20.4s, v24.4s
986  .long  0x4eb8d771                          // fsub          v17.4s, v27.4s, v24.4s
987  .long  0x4eb8d732                          // fsub          v18.4s, v25.4s, v24.4s
988  .long  0x4eb8d6d3                          // fsub          v19.4s, v22.4s, v24.4s
989  .long  0x6eb4e6b7                          // fcmgt         v23.4s, v21.4s, v20.4s
990  .long  0x4eb8d6b5                          // fsub          v21.4s, v21.4s, v24.4s
991  .long  0x6e31df91                          // fmul          v17.4s, v28.4s, v17.4s
992  .long  0x6e32df92                          // fmul          v18.4s, v28.4s, v18.4s
993  .long  0x6e33df93                          // fmul          v19.4s, v28.4s, v19.4s
994  .long  0x6e35fe31                          // fdiv          v17.4s, v17.4s, v21.4s
995  .long  0x6e35fe52                          // fdiv          v18.4s, v18.4s, v21.4s
996  .long  0x6e35fe73                          // fdiv          v19.4s, v19.4s, v21.4s
997  .long  0xf8408425                          // ldr           x5, [x1], #8
998  .long  0x4eb71ee3                          // mov           v3.16b, v23.16b
999  .long  0x4eb71efc                          // mov           v28.16b, v23.16b
1000  .long  0x4e31d711                          // fadd          v17.4s, v24.4s, v17.4s
1001  .long  0x4e32d712                          // fadd          v18.4s, v24.4s, v18.4s
1002  .long  0x4e33d713                          // fadd          v19.4s, v24.4s, v19.4s
1003  .long  0x6f00e410                          // movi          v16.2d, #0x0
1004  .long  0x6e7b1e23                          // bsl           v3.16b, v17.16b, v27.16b
1005  .long  0x6e791e5c                          // bsl           v28.16b, v18.16b, v25.16b
1006  .long  0x6e761e77                          // bsl           v23.16b, v19.16b, v22.16b
1007  .long  0x4e30f463                          // fmax          v3.4s, v3.4s, v16.4s
1008  .long  0x4e30f791                          // fmax          v17.4s, v28.4s, v16.4s
1009  .long  0x4e30f6f0                          // fmax          v16.4s, v23.4s, v16.4s
1010  .long  0x4e23d400                          // fadd          v0.4s, v0.4s, v3.4s
1011  .long  0x4e31d421                          // fadd          v1.4s, v1.4s, v17.4s
1012  .long  0x4e30d442                          // fadd          v2.4s, v2.4s, v16.4s
1013  .long  0x4eb4d743                          // fsub          v3.4s, v26.4s, v20.4s
1014  .long  0xd61f00a0                          // br            x5
1015
1016HIDDEN _sk_saturation_aarch64
1017.globl _sk_saturation_aarch64
1018FUNCTION(_sk_saturation_aarch64)
1019_sk_saturation_aarch64:
1020  .long  0x6e25dc72                          // fmul          v18.4s, v3.4s, v5.4s
1021  .long  0x6e26dc73                          // fmul          v19.4s, v3.4s, v6.4s
1022  .long  0x4e22f435                          // fmax          v21.4s, v1.4s, v2.4s
1023  .long  0x4ea2f437                          // fmin          v23.4s, v1.4s, v2.4s
1024  .long  0x6e24dc71                          // fmul          v17.4s, v3.4s, v4.4s
1025  .long  0x4e35f415                          // fmax          v21.4s, v0.4s, v21.4s
1026  .long  0x4eb7f417                          // fmin          v23.4s, v0.4s, v23.4s
1027  .long  0x4eb3f65b                          // fmin          v27.4s, v18.4s, v19.4s
1028  .long  0x52a7d328                          // mov           w8, #0x3e990000
1029  .long  0x4f03f619                          // fmov          v25.4s, #1.000000000000000000e+00
1030  .long  0x4e33f65c                          // fmax          v28.4s, v18.4s, v19.4s
1031  .long  0x4eb7d6b5                          // fsub          v21.4s, v21.4s, v23.4s
1032  .long  0x4ebbf63b                          // fmin          v27.4s, v17.4s, v27.4s
1033  .long  0x72933348                          // movk          w8, #0x999a
1034  .long  0x4ea7d737                          // fsub          v23.4s, v25.4s, v7.4s
1035  .long  0x4e3cf63c                          // fmax          v28.4s, v17.4s, v28.4s
1036  .long  0x4ebbd652                          // fsub          v18.4s, v18.4s, v27.4s
1037  .long  0x6e27deb5                          // fmul          v21.4s, v21.4s, v7.4s
1038  .long  0x4e040d16                          // dup           v22.4s, w8
1039  .long  0x52a7e2e8                          // mov           w8, #0x3f170000
1040  .long  0x6e20dee0                          // fmul          v0.4s, v23.4s, v0.4s
1041  .long  0x6e21dee1                          // fmul          v1.4s, v23.4s, v1.4s
1042  .long  0x6e22dee2                          // fmul          v2.4s, v23.4s, v2.4s
1043  .long  0x4ea3d739                          // fsub          v25.4s, v25.4s, v3.4s
1044  .long  0x4ebbd79c                          // fsub          v28.4s, v28.4s, v27.4s
1045  .long  0x4ebbd631                          // fsub          v17.4s, v17.4s, v27.4s
1046  .long  0x6e32deb2                          // fmul          v18.4s, v21.4s, v18.4s
1047  .long  0x728147a8                          // movk          w8, #0xa3d
1048  .long  0x4ebbd673                          // fsub          v19.4s, v19.4s, v27.4s
1049  .long  0x4e39cc80                          // fmla          v0.4s, v4.4s, v25.4s
1050  .long  0x4e39cca1                          // fmla          v1.4s, v5.4s, v25.4s
1051  .long  0x4e39ccc2                          // fmla          v2.4s, v6.4s, v25.4s
1052  .long  0x4ea0db99                          // fcmeq         v25.4s, v28.4s, #0.0
1053  .long  0x6e31deb1                          // fmul          v17.4s, v21.4s, v17.4s
1054  .long  0x6e3cfe52                          // fdiv          v18.4s, v18.4s, v28.4s
1055  .long  0x4e040d18                          // dup           v24.4s, w8
1056  .long  0x52a7bc28                          // mov           w8, #0x3de10000
1057  .long  0x6e33deb3                          // fmul          v19.4s, v21.4s, v19.4s
1058  .long  0x6e3cfe31                          // fdiv          v17.4s, v17.4s, v28.4s
1059  .long  0x4e791e52                          // bic           v18.16b, v18.16b, v25.16b
1060  .long  0x7288f5c8                          // movk          w8, #0x47ae
1061  .long  0x6e3cfe73                          // fdiv          v19.4s, v19.4s, v28.4s
1062  .long  0x4e791e31                          // bic           v17.16b, v17.16b, v25.16b
1063  .long  0x6e38de55                          // fmul          v21.4s, v18.4s, v24.4s
1064  .long  0x4e040d17                          // dup           v23.4s, w8
1065  .long  0x6e38dcbb                          // fmul          v27.4s, v5.4s, v24.4s
1066  .long  0x4e791e73                          // bic           v19.16b, v19.16b, v25.16b
1067  .long  0x4e31ced5                          // fmla          v21.4s, v22.4s, v17.4s
1068  .long  0x4e24cedb                          // fmla          v27.4s, v22.4s, v4.4s
1069  .long  0x4e33cef5                          // fmla          v21.4s, v23.4s, v19.4s
1070  .long  0x4e26cefb                          // fmla          v27.4s, v23.4s, v6.4s
1071  .long  0x6ea0fab5                          // fneg          v21.4s, v21.4s
1072  .long  0x4e3bcc75                          // fmla          v21.4s, v3.4s, v27.4s
1073  .long  0x6e27dc74                          // fmul          v20.4s, v3.4s, v7.4s
1074  .long  0x4e27d47a                          // fadd          v26.4s, v3.4s, v7.4s
1075  .long  0x4e35d623                          // fadd          v3.4s, v17.4s, v21.4s
1076  .long  0x4e35d651                          // fadd          v17.4s, v18.4s, v21.4s
1077  .long  0x6e38de38                          // fmul          v24.4s, v17.4s, v24.4s
1078  .long  0x4e35d672                          // fadd          v18.4s, v19.4s, v21.4s
1079  .long  0x4e23ced8                          // fmla          v24.4s, v22.4s, v3.4s
1080  .long  0x4eb2f633                          // fmin          v19.4s, v17.4s, v18.4s
1081  .long  0x4e32cef8                          // fmla          v24.4s, v23.4s, v18.4s
1082  .long  0x4eb3f473                          // fmin          v19.4s, v3.4s, v19.4s
1083  .long  0x4eb8d479                          // fsub          v25.4s, v3.4s, v24.4s
1084  .long  0x6ea0ca76                          // fcmge         v22.4s, v19.4s, #0.0
1085  .long  0x4eb3d713                          // fsub          v19.4s, v24.4s, v19.4s
1086  .long  0x6e39df19                          // fmul          v25.4s, v24.4s, v25.4s
1087  .long  0x6e33ff39                          // fdiv          v25.4s, v25.4s, v19.4s
1088  .long  0x4e32f635                          // fmax          v21.4s, v17.4s, v18.4s
1089  .long  0x4eb61edb                          // mov           v27.16b, v22.16b
1090  .long  0x4e39d719                          // fadd          v25.4s, v24.4s, v25.4s
1091  .long  0x4e35f475                          // fmax          v21.4s, v3.4s, v21.4s
1092  .long  0x6e791c7b                          // bsl           v27.16b, v3.16b, v25.16b
1093  .long  0x4eb8d623                          // fsub          v3.4s, v17.4s, v24.4s
1094  .long  0x6e23df03                          // fmul          v3.4s, v24.4s, v3.4s
1095  .long  0x6e33fc63                          // fdiv          v3.4s, v3.4s, v19.4s
1096  .long  0x4eb61ed9                          // mov           v25.16b, v22.16b
1097  .long  0x4e23d703                          // fadd          v3.4s, v24.4s, v3.4s
1098  .long  0x6e631e39                          // bsl           v25.16b, v17.16b, v3.16b
1099  .long  0x4eb8d651                          // fsub          v17.4s, v18.4s, v24.4s
1100  .long  0x6e31df11                          // fmul          v17.4s, v24.4s, v17.4s
1101  .long  0x6e33fe31                          // fdiv          v17.4s, v17.4s, v19.4s
1102  .long  0x4e31d711                          // fadd          v17.4s, v24.4s, v17.4s
1103  .long  0x6e711e56                          // bsl           v22.16b, v18.16b, v17.16b
1104  .long  0x4eb8d69c                          // fsub          v28.4s, v20.4s, v24.4s
1105  .long  0x4eb8d771                          // fsub          v17.4s, v27.4s, v24.4s
1106  .long  0x4eb8d732                          // fsub          v18.4s, v25.4s, v24.4s
1107  .long  0x4eb8d6d3                          // fsub          v19.4s, v22.4s, v24.4s
1108  .long  0x6eb4e6b7                          // fcmgt         v23.4s, v21.4s, v20.4s
1109  .long  0x4eb8d6b5                          // fsub          v21.4s, v21.4s, v24.4s
1110  .long  0x6e31df91                          // fmul          v17.4s, v28.4s, v17.4s
1111  .long  0x6e32df92                          // fmul          v18.4s, v28.4s, v18.4s
1112  .long  0x6e33df93                          // fmul          v19.4s, v28.4s, v19.4s
1113  .long  0x6e35fe31                          // fdiv          v17.4s, v17.4s, v21.4s
1114  .long  0x6e35fe52                          // fdiv          v18.4s, v18.4s, v21.4s
1115  .long  0x6e35fe73                          // fdiv          v19.4s, v19.4s, v21.4s
1116  .long  0xf8408425                          // ldr           x5, [x1], #8
1117  .long  0x4eb71ee3                          // mov           v3.16b, v23.16b
1118  .long  0x4eb71efc                          // mov           v28.16b, v23.16b
1119  .long  0x4e31d711                          // fadd          v17.4s, v24.4s, v17.4s
1120  .long  0x4e32d712                          // fadd          v18.4s, v24.4s, v18.4s
1121  .long  0x4e33d713                          // fadd          v19.4s, v24.4s, v19.4s
1122  .long  0x6f00e410                          // movi          v16.2d, #0x0
1123  .long  0x6e7b1e23                          // bsl           v3.16b, v17.16b, v27.16b
1124  .long  0x6e791e5c                          // bsl           v28.16b, v18.16b, v25.16b
1125  .long  0x6e761e77                          // bsl           v23.16b, v19.16b, v22.16b
1126  .long  0x4e30f463                          // fmax          v3.4s, v3.4s, v16.4s
1127  .long  0x4e30f791                          // fmax          v17.4s, v28.4s, v16.4s
1128  .long  0x4e30f6f0                          // fmax          v16.4s, v23.4s, v16.4s
1129  .long  0x4e23d400                          // fadd          v0.4s, v0.4s, v3.4s
1130  .long  0x4e31d421                          // fadd          v1.4s, v1.4s, v17.4s
1131  .long  0x4e30d442                          // fadd          v2.4s, v2.4s, v16.4s
1132  .long  0x4eb4d743                          // fsub          v3.4s, v26.4s, v20.4s
1133  .long  0xd61f00a0                          // br            x5
1134
1135HIDDEN _sk_color_aarch64
1136.globl _sk_color_aarch64
1137FUNCTION(_sk_color_aarch64)
1138_sk_color_aarch64:
1139  .long  0x52a7d328                          // mov           w8, #0x3e990000
1140  .long  0x72933348                          // movk          w8, #0x999a
1141  .long  0x4e040d12                          // dup           v18.4s, w8
1142  .long  0x52a7e2e8                          // mov           w8, #0x3f170000
1143  .long  0x728147a8                          // movk          w8, #0xa3d
1144  .long  0x6e27dc33                          // fmul          v19.4s, v1.4s, v7.4s
1145  .long  0x4e040d15                          // dup           v21.4s, w8
1146  .long  0x52a7bc28                          // mov           w8, #0x3de10000
1147  .long  0x6e27dc11                          // fmul          v17.4s, v0.4s, v7.4s
1148  .long  0x7288f5c8                          // movk          w8, #0x47ae
1149  .long  0x4f03f617                          // fmov          v23.4s, #1.000000000000000000e+00
1150  .long  0x6e35de7c                          // fmul          v28.4s, v19.4s, v21.4s
1151  .long  0x6e27dc54                          // fmul          v20.4s, v2.4s, v7.4s
1152  .long  0x4e040d19                          // dup           v25.4s, w8
1153  .long  0x4ea7d6fa                          // fsub          v26.4s, v23.4s, v7.4s
1154  .long  0x6e35dcbb                          // fmul          v27.4s, v5.4s, v21.4s
1155  .long  0x4e31ce5c                          // fmla          v28.4s, v18.4s, v17.4s
1156  .long  0x4ea3d6f7                          // fsub          v23.4s, v23.4s, v3.4s
1157  .long  0x6e20df40                          // fmul          v0.4s, v26.4s, v0.4s
1158  .long  0x6e21df41                          // fmul          v1.4s, v26.4s, v1.4s
1159  .long  0x6e22df42                          // fmul          v2.4s, v26.4s, v2.4s
1160  .long  0x4e24ce5b                          // fmla          v27.4s, v18.4s, v4.4s
1161  .long  0x4e34cf3c                          // fmla          v28.4s, v25.4s, v20.4s
1162  .long  0x4e37cc80                          // fmla          v0.4s, v4.4s, v23.4s
1163  .long  0x4e37cca1                          // fmla          v1.4s, v5.4s, v23.4s
1164  .long  0x4e37ccc2                          // fmla          v2.4s, v6.4s, v23.4s
1165  .long  0x4e26cf3b                          // fmla          v27.4s, v25.4s, v6.4s
1166  .long  0x6ea0fb97                          // fneg          v23.4s, v28.4s
1167  .long  0x4e3bcc77                          // fmla          v23.4s, v3.4s, v27.4s
1168  .long  0x6e27dc70                          // fmul          v16.4s, v3.4s, v7.4s
1169  .long  0x4e27d478                          // fadd          v24.4s, v3.4s, v7.4s
1170  .long  0x4e37d623                          // fadd          v3.4s, v17.4s, v23.4s
1171  .long  0x4e37d671                          // fadd          v17.4s, v19.4s, v23.4s
1172  .long  0x6e35de35                          // fmul          v21.4s, v17.4s, v21.4s
1173  .long  0x4e37d693                          // fadd          v19.4s, v20.4s, v23.4s
1174  .long  0x4e23ce55                          // fmla          v21.4s, v18.4s, v3.4s
1175  .long  0x4eb3f634                          // fmin          v20.4s, v17.4s, v19.4s
1176  .long  0x4e33cf35                          // fmla          v21.4s, v25.4s, v19.4s
1177  .long  0x4eb4f474                          // fmin          v20.4s, v3.4s, v20.4s
1178  .long  0x4eb5d47a                          // fsub          v26.4s, v3.4s, v21.4s
1179  .long  0x6ea0ca92                          // fcmge         v18.4s, v20.4s, #0.0
1180  .long  0x4eb4d6b4                          // fsub          v20.4s, v21.4s, v20.4s
1181  .long  0x6e3adeba                          // fmul          v26.4s, v21.4s, v26.4s
1182  .long  0x6e34ff5a                          // fdiv          v26.4s, v26.4s, v20.4s
1183  .long  0x4e33f637                          // fmax          v23.4s, v17.4s, v19.4s
1184  .long  0x4eb21e5b                          // mov           v27.16b, v18.16b
1185  .long  0x4e3ad6ba                          // fadd          v26.4s, v21.4s, v26.4s
1186  .long  0x4e37f477                          // fmax          v23.4s, v3.4s, v23.4s
1187  .long  0x6e7a1c7b                          // bsl           v27.16b, v3.16b, v26.16b
1188  .long  0x4eb5d623                          // fsub          v3.4s, v17.4s, v21.4s
1189  .long  0x6e23dea3                          // fmul          v3.4s, v21.4s, v3.4s
1190  .long  0x6e34fc63                          // fdiv          v3.4s, v3.4s, v20.4s
1191  .long  0x4eb21e5a                          // mov           v26.16b, v18.16b
1192  .long  0x4e23d6a3                          // fadd          v3.4s, v21.4s, v3.4s
1193  .long  0x6e631e3a                          // bsl           v26.16b, v17.16b, v3.16b
1194  .long  0x4eb5d671                          // fsub          v17.4s, v19.4s, v21.4s
1195  .long  0x6e31deb1                          // fmul          v17.4s, v21.4s, v17.4s
1196  .long  0x6e34fe31                          // fdiv          v17.4s, v17.4s, v20.4s
1197  .long  0x4e31d6b1                          // fadd          v17.4s, v21.4s, v17.4s
1198  .long  0x6e711e72                          // bsl           v18.16b, v19.16b, v17.16b
1199  .long  0x4eb5d61c                          // fsub          v28.4s, v16.4s, v21.4s
1200  .long  0x4eb5d771                          // fsub          v17.4s, v27.4s, v21.4s
1201  .long  0x4eb5d753                          // fsub          v19.4s, v26.4s, v21.4s
1202  .long  0x4eb5d654                          // fsub          v20.4s, v18.4s, v21.4s
1203  .long  0x6eb0e6f9                          // fcmgt         v25.4s, v23.4s, v16.4s
1204  .long  0x4eb5d6f7                          // fsub          v23.4s, v23.4s, v21.4s
1205  .long  0x6e31df91                          // fmul          v17.4s, v28.4s, v17.4s
1206  .long  0x6e33df93                          // fmul          v19.4s, v28.4s, v19.4s
1207  .long  0x6e34df94                          // fmul          v20.4s, v28.4s, v20.4s
1208  .long  0x6e37fe31                          // fdiv          v17.4s, v17.4s, v23.4s
1209  .long  0x6e37fe73                          // fdiv          v19.4s, v19.4s, v23.4s
1210  .long  0x6e37fe94                          // fdiv          v20.4s, v20.4s, v23.4s
1211  .long  0xf8408425                          // ldr           x5, [x1], #8
1212  .long  0x4eb91f23                          // mov           v3.16b, v25.16b
1213  .long  0x4eb91f3c                          // mov           v28.16b, v25.16b
1214  .long  0x4e31d6b1                          // fadd          v17.4s, v21.4s, v17.4s
1215  .long  0x4e33d6b3                          // fadd          v19.4s, v21.4s, v19.4s
1216  .long  0x4e34d6b4                          // fadd          v20.4s, v21.4s, v20.4s
1217  .long  0x6f00e416                          // movi          v22.2d, #0x0
1218  .long  0x6e7b1e23                          // bsl           v3.16b, v17.16b, v27.16b
1219  .long  0x6e7a1e7c                          // bsl           v28.16b, v19.16b, v26.16b
1220  .long  0x6e721e99                          // bsl           v25.16b, v20.16b, v18.16b
1221  .long  0x4e36f463                          // fmax          v3.4s, v3.4s, v22.4s
1222  .long  0x4e36f791                          // fmax          v17.4s, v28.4s, v22.4s
1223  .long  0x4e36f732                          // fmax          v18.4s, v25.4s, v22.4s
1224  .long  0x4e23d400                          // fadd          v0.4s, v0.4s, v3.4s
1225  .long  0x4e31d421                          // fadd          v1.4s, v1.4s, v17.4s
1226  .long  0x4e32d442                          // fadd          v2.4s, v2.4s, v18.4s
1227  .long  0x4eb0d703                          // fsub          v3.4s, v24.4s, v16.4s
1228  .long  0xd61f00a0                          // br            x5
1229
1230HIDDEN _sk_luminosity_aarch64
1231.globl _sk_luminosity_aarch64
1232FUNCTION(_sk_luminosity_aarch64)
1233_sk_luminosity_aarch64:
1234  .long  0x52a7d328                          // mov           w8, #0x3e990000
1235  .long  0x72933348                          // movk          w8, #0x999a
1236  .long  0x4e040d12                          // dup           v18.4s, w8
1237  .long  0x52a7e2e8                          // mov           w8, #0x3f170000
1238  .long  0x728147a8                          // movk          w8, #0xa3d
1239  .long  0x6e25dc73                          // fmul          v19.4s, v3.4s, v5.4s
1240  .long  0x4e040d15                          // dup           v21.4s, w8
1241  .long  0x52a7bc28                          // mov           w8, #0x3de10000
1242  .long  0x6e24dc71                          // fmul          v17.4s, v3.4s, v4.4s
1243  .long  0x7288f5c8                          // movk          w8, #0x47ae
1244  .long  0x4f03f617                          // fmov          v23.4s, #1.000000000000000000e+00
1245  .long  0x6e35de7b                          // fmul          v27.4s, v19.4s, v21.4s
1246  .long  0x6e26dc74                          // fmul          v20.4s, v3.4s, v6.4s
1247  .long  0x6e27dc70                          // fmul          v16.4s, v3.4s, v7.4s
1248  .long  0x4e27d478                          // fadd          v24.4s, v3.4s, v7.4s
1249  .long  0x4e040d19                          // dup           v25.4s, w8
1250  .long  0x4ea7d6fa                          // fsub          v26.4s, v23.4s, v7.4s
1251  .long  0x4ea3d6e3                          // fsub          v3.4s, v23.4s, v3.4s
1252  .long  0x6e35dc37                          // fmul          v23.4s, v1.4s, v21.4s
1253  .long  0x4e31ce5b                          // fmla          v27.4s, v18.4s, v17.4s
1254  .long  0x4e20ce57                          // fmla          v23.4s, v18.4s, v0.4s
1255  .long  0x4e34cf3b                          // fmla          v27.4s, v25.4s, v20.4s
1256  .long  0x6e20df5c                          // fmul          v28.4s, v26.4s, v0.4s
1257  .long  0x4e22cf37                          // fmla          v23.4s, v25.4s, v2.4s
1258  .long  0x6ea0fb60                          // fneg          v0.4s, v27.4s
1259  .long  0x6e21df41                          // fmul          v1.4s, v26.4s, v1.4s
1260  .long  0x6e22df5a                          // fmul          v26.4s, v26.4s, v2.4s
1261  .long  0x4e37cce0                          // fmla          v0.4s, v7.4s, v23.4s
1262  .long  0x4e23cc9c                          // fmla          v28.4s, v4.4s, v3.4s
1263  .long  0x4e23cca1                          // fmla          v1.4s, v5.4s, v3.4s
1264  .long  0x4e23ccda                          // fmla          v26.4s, v6.4s, v3.4s
1265  .long  0x4e20d663                          // fadd          v3.4s, v19.4s, v0.4s
1266  .long  0x4e20d622                          // fadd          v2.4s, v17.4s, v0.4s
1267  .long  0x4e20d680                          // fadd          v0.4s, v20.4s, v0.4s
1268  .long  0x6e35dc74                          // fmul          v20.4s, v3.4s, v21.4s
1269  .long  0x4e22ce54                          // fmla          v20.4s, v18.4s, v2.4s
1270  .long  0x4ea0f471                          // fmin          v17.4s, v3.4s, v0.4s
1271  .long  0x4e20cf34                          // fmla          v20.4s, v25.4s, v0.4s
1272  .long  0x4eb1f451                          // fmin          v17.4s, v2.4s, v17.4s
1273  .long  0x4eb4d457                          // fsub          v23.4s, v2.4s, v20.4s
1274  .long  0x6ea0ca32                          // fcmge         v18.4s, v17.4s, #0.0
1275  .long  0x4eb1d691                          // fsub          v17.4s, v20.4s, v17.4s
1276  .long  0x6e37de97                          // fmul          v23.4s, v20.4s, v23.4s
1277  .long  0x6e31fef7                          // fdiv          v23.4s, v23.4s, v17.4s
1278  .long  0x4e20f473                          // fmax          v19.4s, v3.4s, v0.4s
1279  .long  0x4eb21e59                          // mov           v25.16b, v18.16b
1280  .long  0x4e37d697                          // fadd          v23.4s, v20.4s, v23.4s
1281  .long  0x4e33f453                          // fmax          v19.4s, v2.4s, v19.4s
1282  .long  0x6e771c59                          // bsl           v25.16b, v2.16b, v23.16b
1283  .long  0x4eb4d462                          // fsub          v2.4s, v3.4s, v20.4s
1284  .long  0x6e22de82                          // fmul          v2.4s, v20.4s, v2.4s
1285  .long  0x6e31fc42                          // fdiv          v2.4s, v2.4s, v17.4s
1286  .long  0x4eb21e57                          // mov           v23.16b, v18.16b
1287  .long  0x4e22d682                          // fadd          v2.4s, v20.4s, v2.4s
1288  .long  0x6e621c77                          // bsl           v23.16b, v3.16b, v2.16b
1289  .long  0x4eb4d403                          // fsub          v3.4s, v0.4s, v20.4s
1290  .long  0x6e23de83                          // fmul          v3.4s, v20.4s, v3.4s
1291  .long  0x6e31fc63                          // fdiv          v3.4s, v3.4s, v17.4s
1292  .long  0x4e23d683                          // fadd          v3.4s, v20.4s, v3.4s
1293  .long  0x6e631c12                          // bsl           v18.16b, v0.16b, v3.16b
1294  .long  0x4eb4d61b                          // fsub          v27.4s, v16.4s, v20.4s
1295  .long  0x4eb4d720                          // fsub          v0.4s, v25.4s, v20.4s
1296  .long  0x4eb4d6e3                          // fsub          v3.4s, v23.4s, v20.4s
1297  .long  0x4eb4d651                          // fsub          v17.4s, v18.4s, v20.4s
1298  .long  0x6eb0e675                          // fcmgt         v21.4s, v19.4s, v16.4s
1299  .long  0x4eb4d673                          // fsub          v19.4s, v19.4s, v20.4s
1300  .long  0x6e20df60                          // fmul          v0.4s, v27.4s, v0.4s
1301  .long  0x6e23df63                          // fmul          v3.4s, v27.4s, v3.4s
1302  .long  0x6e31df71                          // fmul          v17.4s, v27.4s, v17.4s
1303  .long  0x6e33fc00                          // fdiv          v0.4s, v0.4s, v19.4s
1304  .long  0x6e33fc63                          // fdiv          v3.4s, v3.4s, v19.4s
1305  .long  0x6e33fe31                          // fdiv          v17.4s, v17.4s, v19.4s
1306  .long  0xf8408425                          // ldr           x5, [x1], #8
1307  .long  0x4eb51ea2                          // mov           v2.16b, v21.16b
1308  .long  0x4eb51ebb                          // mov           v27.16b, v21.16b
1309  .long  0x4e20d680                          // fadd          v0.4s, v20.4s, v0.4s
1310  .long  0x4e23d683                          // fadd          v3.4s, v20.4s, v3.4s
1311  .long  0x4e31d691                          // fadd          v17.4s, v20.4s, v17.4s
1312  .long  0x6f00e416                          // movi          v22.2d, #0x0
1313  .long  0x6e791c02                          // bsl           v2.16b, v0.16b, v25.16b
1314  .long  0x6e771c7b                          // bsl           v27.16b, v3.16b, v23.16b
1315  .long  0x6e721e35                          // bsl           v21.16b, v17.16b, v18.16b
1316  .long  0x4e36f440                          // fmax          v0.4s, v2.4s, v22.4s
1317  .long  0x4e36f762                          // fmax          v2.4s, v27.4s, v22.4s
1318  .long  0x4e36f6a3                          // fmax          v3.4s, v21.4s, v22.4s
1319  .long  0x4e20d780                          // fadd          v0.4s, v28.4s, v0.4s
1320  .long  0x4e22d421                          // fadd          v1.4s, v1.4s, v2.4s
1321  .long  0x4e23d742                          // fadd          v2.4s, v26.4s, v3.4s
1322  .long  0x4eb0d703                          // fsub          v3.4s, v24.4s, v16.4s
1323  .long  0xd61f00a0                          // br            x5
1324
1325HIDDEN _sk_srcover_rgba_8888_aarch64
1326.globl _sk_srcover_rgba_8888_aarch64
1327FUNCTION(_sk_srcover_rgba_8888_aarch64)
1328_sk_srcover_rgba_8888_aarch64:
1329  .long  0xf9400028                          // ldr           x8, [x1]
1330  .long  0xf9400108                          // ldr           x8, [x8]
1331  .long  0x8b020908                          // add           x8, x8, x2, lsl #2
1332  .long  0xb5000504                          // cbnz          x4, 1210 <sk_srcover_rgba_8888_aarch64+0xac>
1333  .long  0x3dc00104                          // ldr           q4, [x8]
1334  .long  0x6f00e625                          // movi          v5.2d, #0xff000000ff
1335  .long  0x6f380486                          // ushr          v6.4s, v4.4s, #8
1336  .long  0x6f300487                          // ushr          v7.4s, v4.4s, #16
1337  .long  0x6f280490                          // ushr          v16.4s, v4.4s, #24
1338  .long  0x4f03f611                          // fmov          v17.4s, #1.000000000000000000e+00
1339  .long  0x52a86fe9                          // mov           w9, #0x437f0000
1340  .long  0x4e251cc6                          // and           v6.16b, v6.16b, v5.16b
1341  .long  0x4e251cf2                          // and           v18.16b, v7.16b, v5.16b
1342  .long  0x4e21da07                          // scvtf         v7.4s, v16.4s
1343  .long  0x4ea3d630                          // fsub          v16.4s, v17.4s, v3.4s
1344  .long  0x4e040d31                          // dup           v17.4s, w9
1345  .long  0x4e251c84                          // and           v4.16b, v4.16b, v5.16b
1346  .long  0x4e21d8c5                          // scvtf         v5.4s, v6.4s
1347  .long  0x6e31dc21                          // fmul          v1.4s, v1.4s, v17.4s
1348  .long  0x4e21d884                          // scvtf         v4.4s, v4.4s
1349  .long  0x6e31dc00                          // fmul          v0.4s, v0.4s, v17.4s
1350  .long  0x4e25ce01                          // fmla          v1.4s, v16.4s, v5.4s
1351  .long  0x4e21da46                          // scvtf         v6.4s, v18.4s
1352  .long  0x6e31dc42                          // fmul          v2.4s, v2.4s, v17.4s
1353  .long  0x6e31dc63                          // fmul          v3.4s, v3.4s, v17.4s
1354  .long  0x4e24ce00                          // fmla          v0.4s, v16.4s, v4.4s
1355  .long  0x6e21a831                          // fcvtnu        v17.4s, v1.4s
1356  .long  0x4e26ce02                          // fmla          v2.4s, v16.4s, v6.4s
1357  .long  0x4e27ce03                          // fmla          v3.4s, v16.4s, v7.4s
1358  .long  0x6e21a810                          // fcvtnu        v16.4s, v0.4s
1359  .long  0x4f285631                          // shl           v17.4s, v17.4s, #8
1360  .long  0x4eb01e30                          // orr           v16.16b, v17.16b, v16.16b
1361  .long  0x6e21a851                          // fcvtnu        v17.4s, v2.4s
1362  .long  0x4f305631                          // shl           v17.4s, v17.4s, #16
1363  .long  0x4eb11e10                          // orr           v16.16b, v16.16b, v17.16b
1364  .long  0x6e21a871                          // fcvtnu        v17.4s, v3.4s
1365  .long  0x4f385631                          // shl           v17.4s, v17.4s, #24
1366  .long  0x4eb11e10                          // orr           v16.16b, v16.16b, v17.16b
1367  .long  0xb5000284                          // cbnz          x4, 124c <sk_srcover_rgba_8888_aarch64+0xe8>
1368  .long  0x3d800110                          // str           q16, [x8]
1369  .long  0xf9400425                          // ldr           x5, [x1, #8]
1370  .long  0x91004021                          // add           x1, x1, #0x10
1371  .long  0xd61f00a0                          // br            x5
1372  .long  0x12000489                          // and           w9, w4, #0x3
1373  .long  0x7100053f                          // cmp           w9, #0x1
1374  .long  0x54000300                          // b.eq          1278 <sk_srcover_rgba_8888_aarch64+0x114>  // b.none
1375  .long  0x7100093f                          // cmp           w9, #0x2
1376  .long  0x6f00e404                          // movi          v4.2d, #0x0
1377  .long  0x540000c0                          // b.eq          123c <sk_srcover_rgba_8888_aarch64+0xd8>  // b.none
1378  .long  0x71000d3f                          // cmp           w9, #0x3
1379  .long  0x54fffa61                          // b.ne          1178 <sk_srcover_rgba_8888_aarch64+0x14>  // b.any
1380  .long  0x91002109                          // add           x9, x8, #0x8
1381  .long  0x4e040fe4                          // dup           v4.4s, wzr
1382  .long  0x4d408124                          // ld1           {v4.s}[2], [x9]
1383  .long  0xfd400105                          // ldr           d5, [x8]
1384  .long  0x6e054084                          // ext           v4.16b, v4.16b, v5.16b, #8
1385  .long  0x6e044084                          // ext           v4.16b, v4.16b, v4.16b, #8
1386  .long  0x17ffffcc                          // b             1178 <sk_srcover_rgba_8888_aarch64+0x14>
1387  .long  0x12000489                          // and           w9, w4, #0x3
1388  .long  0x7100053f                          // cmp           w9, #0x1
1389  .long  0x54000180                          // b.eq          1284 <sk_srcover_rgba_8888_aarch64+0x120>  // b.none
1390  .long  0x7100093f                          // cmp           w9, #0x2
1391  .long  0x540000a0                          // b.eq          1270 <sk_srcover_rgba_8888_aarch64+0x10c>  // b.none
1392  .long  0x71000d3f                          // cmp           w9, #0x3
1393  .long  0x54fffd01                          // b.ne          1204 <sk_srcover_rgba_8888_aarch64+0xa0>  // b.any
1394  .long  0x91002109                          // add           x9, x8, #0x8
1395  .long  0x4d008130                          // st1           {v16.s}[2], [x9]
1396  .long  0xfd000110                          // str           d16, [x8]
1397  .long  0x17ffffe4                          // b             1204 <sk_srcover_rgba_8888_aarch64+0xa0>
1398  .long  0x4e040fe4                          // dup           v4.4s, wzr
1399  .long  0x0d408104                          // ld1           {v4.s}[0], [x8]
1400  .long  0x17ffffbe                          // b             1178 <sk_srcover_rgba_8888_aarch64+0x14>
1401  .long  0x0d008110                          // st1           {v16.s}[0], [x8]
1402  .long  0x17ffffdf                          // b             1204 <sk_srcover_rgba_8888_aarch64+0xa0>
1403
1404HIDDEN _sk_clamp_0_aarch64
1405.globl _sk_clamp_0_aarch64
1406FUNCTION(_sk_clamp_0_aarch64)
1407_sk_clamp_0_aarch64:
1408  .long  0xf8408425                          // ldr           x5, [x1], #8
1409  .long  0x6f00e410                          // movi          v16.2d, #0x0
1410  .long  0x4e30f400                          // fmax          v0.4s, v0.4s, v16.4s
1411  .long  0x4e30f421                          // fmax          v1.4s, v1.4s, v16.4s
1412  .long  0x4e30f442                          // fmax          v2.4s, v2.4s, v16.4s
1413  .long  0x4e30f463                          // fmax          v3.4s, v3.4s, v16.4s
1414  .long  0xd61f00a0                          // br            x5
1415
1416HIDDEN _sk_clamp_1_aarch64
1417.globl _sk_clamp_1_aarch64
1418FUNCTION(_sk_clamp_1_aarch64)
1419_sk_clamp_1_aarch64:
1420  .long  0xf8408425                          // ldr           x5, [x1], #8
1421  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
1422  .long  0x4eb0f400                          // fmin          v0.4s, v0.4s, v16.4s
1423  .long  0x4eb0f421                          // fmin          v1.4s, v1.4s, v16.4s
1424  .long  0x4eb0f442                          // fmin          v2.4s, v2.4s, v16.4s
1425  .long  0x4eb0f463                          // fmin          v3.4s, v3.4s, v16.4s
1426  .long  0xd61f00a0                          // br            x5
1427
1428HIDDEN _sk_clamp_a_aarch64
1429.globl _sk_clamp_a_aarch64
1430FUNCTION(_sk_clamp_a_aarch64)
1431_sk_clamp_a_aarch64:
1432  .long  0xf8408425                          // ldr           x5, [x1], #8
1433  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
1434  .long  0x4eb0f463                          // fmin          v3.4s, v3.4s, v16.4s
1435  .long  0x4ea3f400                          // fmin          v0.4s, v0.4s, v3.4s
1436  .long  0x4ea3f421                          // fmin          v1.4s, v1.4s, v3.4s
1437  .long  0x4ea3f442                          // fmin          v2.4s, v2.4s, v3.4s
1438  .long  0xd61f00a0                          // br            x5
1439
1440HIDDEN _sk_clamp_a_dst_aarch64
1441.globl _sk_clamp_a_dst_aarch64
1442FUNCTION(_sk_clamp_a_dst_aarch64)
1443_sk_clamp_a_dst_aarch64:
1444  .long  0xf8408425                          // ldr           x5, [x1], #8
1445  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
1446  .long  0x4eb0f4e7                          // fmin          v7.4s, v7.4s, v16.4s
1447  .long  0x4ea7f484                          // fmin          v4.4s, v4.4s, v7.4s
1448  .long  0x4ea7f4a5                          // fmin          v5.4s, v5.4s, v7.4s
1449  .long  0x4ea7f4c6                          // fmin          v6.4s, v6.4s, v7.4s
1450  .long  0xd61f00a0                          // br            x5
1451
1452HIDDEN _sk_set_rgb_aarch64
1453.globl _sk_set_rgb_aarch64
1454FUNCTION(_sk_set_rgb_aarch64)
1455_sk_set_rgb_aarch64:
1456  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
1457  .long  0xaa0803e9                          // mov           x9, x8
1458  .long  0x4ddfc920                          // ld1r          {v0.4s}, [x9], #4
1459  .long  0x91002108                          // add           x8, x8, #0x8
1460  .long  0x4d40c902                          // ld1r          {v2.4s}, [x8]
1461  .long  0x4d40c921                          // ld1r          {v1.4s}, [x9]
1462  .long  0xd61f00a0                          // br            x5
1463
1464HIDDEN _sk_swap_rb_aarch64
1465.globl _sk_swap_rb_aarch64
1466FUNCTION(_sk_swap_rb_aarch64)
1467_sk_swap_rb_aarch64:
1468  .long  0xf8408425                          // ldr           x5, [x1], #8
1469  .long  0x4ea01c10                          // mov           v16.16b, v0.16b
1470  .long  0x4ea21c40                          // mov           v0.16b, v2.16b
1471  .long  0x4eb01e02                          // mov           v2.16b, v16.16b
1472  .long  0xd61f00a0                          // br            x5
1473
1474HIDDEN _sk_move_src_dst_aarch64
1475.globl _sk_move_src_dst_aarch64
1476FUNCTION(_sk_move_src_dst_aarch64)
1477_sk_move_src_dst_aarch64:
1478  .long  0xf8408425                          // ldr           x5, [x1], #8
1479  .long  0x4ea01c04                          // mov           v4.16b, v0.16b
1480  .long  0x4ea11c25                          // mov           v5.16b, v1.16b
1481  .long  0x4ea21c46                          // mov           v6.16b, v2.16b
1482  .long  0x4ea31c67                          // mov           v7.16b, v3.16b
1483  .long  0xd61f00a0                          // br            x5
1484
1485HIDDEN _sk_move_dst_src_aarch64
1486.globl _sk_move_dst_src_aarch64
1487FUNCTION(_sk_move_dst_src_aarch64)
1488_sk_move_dst_src_aarch64:
1489  .long  0xf8408425                          // ldr           x5, [x1], #8
1490  .long  0x4ea41c80                          // mov           v0.16b, v4.16b
1491  .long  0x4ea51ca1                          // mov           v1.16b, v5.16b
1492  .long  0x4ea61cc2                          // mov           v2.16b, v6.16b
1493  .long  0x4ea71ce3                          // mov           v3.16b, v7.16b
1494  .long  0xd61f00a0                          // br            x5
1495
1496HIDDEN _sk_premul_aarch64
1497.globl _sk_premul_aarch64
1498FUNCTION(_sk_premul_aarch64)
1499_sk_premul_aarch64:
1500  .long  0xf8408425                          // ldr           x5, [x1], #8
1501  .long  0x6e23dc00                          // fmul          v0.4s, v0.4s, v3.4s
1502  .long  0x6e23dc21                          // fmul          v1.4s, v1.4s, v3.4s
1503  .long  0x6e23dc42                          // fmul          v2.4s, v2.4s, v3.4s
1504  .long  0xd61f00a0                          // br            x5
1505
1506HIDDEN _sk_premul_dst_aarch64
1507.globl _sk_premul_dst_aarch64
1508FUNCTION(_sk_premul_dst_aarch64)
1509_sk_premul_dst_aarch64:
1510  .long  0xf8408425                          // ldr           x5, [x1], #8
1511  .long  0x6e27dc84                          // fmul          v4.4s, v4.4s, v7.4s
1512  .long  0x6e27dca5                          // fmul          v5.4s, v5.4s, v7.4s
1513  .long  0x6e27dcc6                          // fmul          v6.4s, v6.4s, v7.4s
1514  .long  0xd61f00a0                          // br            x5
1515
1516HIDDEN _sk_unpremul_aarch64
1517.globl _sk_unpremul_aarch64
1518FUNCTION(_sk_unpremul_aarch64)
1519_sk_unpremul_aarch64:
1520  .long  0x4f03f611                          // fmov          v17.4s, #1.000000000000000000e+00
1521  .long  0xf8408425                          // ldr           x5, [x1], #8
1522  .long  0x4ea0d870                          // fcmeq         v16.4s, v3.4s, #0.0
1523  .long  0x6e23fe31                          // fdiv          v17.4s, v17.4s, v3.4s
1524  .long  0x4e701e30                          // bic           v16.16b, v17.16b, v16.16b
1525  .long  0x6e20de00                          // fmul          v0.4s, v16.4s, v0.4s
1526  .long  0x6e21de01                          // fmul          v1.4s, v16.4s, v1.4s
1527  .long  0x6e22de02                          // fmul          v2.4s, v16.4s, v2.4s
1528  .long  0xd61f00a0                          // br            x5
1529
1530HIDDEN _sk_from_srgb_aarch64
1531.globl _sk_from_srgb_aarch64
1532FUNCTION(_sk_from_srgb_aarch64)
1533_sk_from_srgb_aarch64:
1534  .long  0x52a7d328                          // mov           w8, #0x3e990000
1535  .long  0x72933348                          // movk          w8, #0x999a
1536  .long  0x4e040d10                          // dup           v16.4s, w8
1537  .long  0x52a7e648                          // mov           w8, #0x3f320000
1538  .long  0x7291eb88                          // movk          w8, #0x8f5c
1539  .long  0x4e040d11                          // dup           v17.4s, w8
1540  .long  0x52a76468                          // mov           w8, #0x3b230000
1541  .long  0x729ae148                          // movk          w8, #0xd70a
1542  .long  0x4e040d12                          // dup           v18.4s, w8
1543  .long  0x52a7b3c8                          // mov           w8, #0x3d9e0000
1544  .long  0x72907228                          // movk          w8, #0x8391
1545  .long  0x6e22dc54                          // fmul          v20.4s, v2.4s, v2.4s
1546  .long  0x4eb11e35                          // mov           v21.16b, v17.16b
1547  .long  0x4eb11e37                          // mov           v23.16b, v17.16b
1548  .long  0x4e22ce11                          // fmla          v17.4s, v16.4s, v2.4s
1549  .long  0x4eb21e56                          // mov           v22.16b, v18.16b
1550  .long  0x4eb21e58                          // mov           v24.16b, v18.16b
1551  .long  0x4e34ce32                          // fmla          v18.4s, v17.4s, v20.4s
1552  .long  0x4e040d11                          // dup           v17.4s, w8
1553  .long  0x52a7ac28                          // mov           w8, #0x3d610000
1554  .long  0x6e20dc13                          // fmul          v19.4s, v0.4s, v0.4s
1555  .long  0x7288f5c8                          // movk          w8, #0x47ae
1556  .long  0x4e20ce15                          // fmla          v21.4s, v16.4s, v0.4s
1557  .long  0xf8408425                          // ldr           x5, [x1], #8
1558  .long  0x6e21dc34                          // fmul          v20.4s, v1.4s, v1.4s
1559  .long  0x4e33ceb6                          // fmla          v22.4s, v21.4s, v19.4s
1560  .long  0x4e040d13                          // dup           v19.4s, w8
1561  .long  0x4e21ce17                          // fmla          v23.4s, v16.4s, v1.4s
1562  .long  0x6e31dc15                          // fmul          v21.4s, v0.4s, v17.4s
1563  .long  0x6ea0e660                          // fcmgt         v0.4s, v19.4s, v0.4s
1564  .long  0x6e31dc30                          // fmul          v16.4s, v1.4s, v17.4s
1565  .long  0x6ea1e661                          // fcmgt         v1.4s, v19.4s, v1.4s
1566  .long  0x6e31dc51                          // fmul          v17.4s, v2.4s, v17.4s
1567  .long  0x6ea2e662                          // fcmgt         v2.4s, v19.4s, v2.4s
1568  .long  0x4e34cef8                          // fmla          v24.4s, v23.4s, v20.4s
1569  .long  0x6e761ea0                          // bsl           v0.16b, v21.16b, v22.16b
1570  .long  0x6e781e01                          // bsl           v1.16b, v16.16b, v24.16b
1571  .long  0x6e721e22                          // bsl           v2.16b, v17.16b, v18.16b
1572  .long  0xd61f00a0                          // br            x5
1573
1574HIDDEN _sk_from_srgb_dst_aarch64
1575.globl _sk_from_srgb_dst_aarch64
1576FUNCTION(_sk_from_srgb_dst_aarch64)
1577_sk_from_srgb_dst_aarch64:
1578  .long  0x52a7d328                          // mov           w8, #0x3e990000
1579  .long  0x72933348                          // movk          w8, #0x999a
1580  .long  0x4e040d10                          // dup           v16.4s, w8
1581  .long  0x52a7e648                          // mov           w8, #0x3f320000
1582  .long  0x7291eb88                          // movk          w8, #0x8f5c
1583  .long  0x4e040d11                          // dup           v17.4s, w8
1584  .long  0x52a76468                          // mov           w8, #0x3b230000
1585  .long  0x729ae148                          // movk          w8, #0xd70a
1586  .long  0x4e040d12                          // dup           v18.4s, w8
1587  .long  0x52a7b3c8                          // mov           w8, #0x3d9e0000
1588  .long  0x72907228                          // movk          w8, #0x8391
1589  .long  0x6e26dcd4                          // fmul          v20.4s, v6.4s, v6.4s
1590  .long  0x4eb11e35                          // mov           v21.16b, v17.16b
1591  .long  0x4eb11e37                          // mov           v23.16b, v17.16b
1592  .long  0x4e26ce11                          // fmla          v17.4s, v16.4s, v6.4s
1593  .long  0x4eb21e56                          // mov           v22.16b, v18.16b
1594  .long  0x4eb21e58                          // mov           v24.16b, v18.16b
1595  .long  0x4e34ce32                          // fmla          v18.4s, v17.4s, v20.4s
1596  .long  0x4e040d11                          // dup           v17.4s, w8
1597  .long  0x52a7ac28                          // mov           w8, #0x3d610000
1598  .long  0x6e24dc93                          // fmul          v19.4s, v4.4s, v4.4s
1599  .long  0x7288f5c8                          // movk          w8, #0x47ae
1600  .long  0x4e24ce15                          // fmla          v21.4s, v16.4s, v4.4s
1601  .long  0xf8408425                          // ldr           x5, [x1], #8
1602  .long  0x6e25dcb4                          // fmul          v20.4s, v5.4s, v5.4s
1603  .long  0x4e33ceb6                          // fmla          v22.4s, v21.4s, v19.4s
1604  .long  0x4e040d13                          // dup           v19.4s, w8
1605  .long  0x4e25ce17                          // fmla          v23.4s, v16.4s, v5.4s
1606  .long  0x6e31dc95                          // fmul          v21.4s, v4.4s, v17.4s
1607  .long  0x6ea4e664                          // fcmgt         v4.4s, v19.4s, v4.4s
1608  .long  0x6e31dcb0                          // fmul          v16.4s, v5.4s, v17.4s
1609  .long  0x6ea5e665                          // fcmgt         v5.4s, v19.4s, v5.4s
1610  .long  0x6e31dcd1                          // fmul          v17.4s, v6.4s, v17.4s
1611  .long  0x6ea6e666                          // fcmgt         v6.4s, v19.4s, v6.4s
1612  .long  0x4e34cef8                          // fmla          v24.4s, v23.4s, v20.4s
1613  .long  0x6e761ea4                          // bsl           v4.16b, v21.16b, v22.16b
1614  .long  0x6e781e05                          // bsl           v5.16b, v16.16b, v24.16b
1615  .long  0x6e721e26                          // bsl           v6.16b, v17.16b, v18.16b
1616  .long  0xd61f00a0                          // br            x5
1617
1618HIDDEN _sk_to_srgb_aarch64
1619.globl _sk_to_srgb_aarch64
1620FUNCTION(_sk_to_srgb_aarch64)
1621_sk_to_srgb_aarch64:
1622  .long  0x52a829c8                          // mov           w8, #0x414e0000
1623  .long  0x72970a48                          // movk          w8, #0xb852
1624  .long  0x4e040d11                          // dup           v17.4s, w8
1625  .long  0x52b76408                          // mov           w8, #0xbb200000
1626  .long  0x729ae728                          // movk          w8, #0xd739
1627  .long  0x4e040d12                          // dup           v18.4s, w8
1628  .long  0x52a77308                          // mov           w8, #0x3b980000
1629  .long  0x72963508                          // movk          w8, #0xb1a8
1630  .long  0x6ea1d810                          // frsqrte       v16.4s, v0.4s
1631  .long  0x4e040d13                          // dup           v19.4s, w8
1632  .long  0x52a78c48                          // mov           w8, #0x3c620000
1633  .long  0x6ea1d834                          // frsqrte       v20.4s, v1.4s
1634  .long  0x6ea1d855                          // frsqrte       v21.4s, v2.4s
1635  .long  0x7293f748                          // movk          w8, #0x9fba
1636  .long  0x6e30de16                          // fmul          v22.4s, v16.4s, v16.4s
1637  .long  0x6e34de97                          // fmul          v23.4s, v20.4s, v20.4s
1638  .long  0x6e35deb8                          // fmul          v24.4s, v21.4s, v21.4s
1639  .long  0x4eb6fc16                          // frsqrts       v22.4s, v0.4s, v22.4s
1640  .long  0x6e31dc19                          // fmul          v25.4s, v0.4s, v17.4s
1641  .long  0x6ea0e660                          // fcmgt         v0.4s, v19.4s, v0.4s
1642  .long  0x4eb7fc37                          // frsqrts       v23.4s, v1.4s, v23.4s
1643  .long  0x6e31dc3a                          // fmul          v26.4s, v1.4s, v17.4s
1644  .long  0x6ea1e661                          // fcmgt         v1.4s, v19.4s, v1.4s
1645  .long  0x4eb8fc58                          // frsqrts       v24.4s, v2.4s, v24.4s
1646  .long  0x6e31dc51                          // fmul          v17.4s, v2.4s, v17.4s
1647  .long  0x6ea2e662                          // fcmgt         v2.4s, v19.4s, v2.4s
1648  .long  0x4e040d13                          // dup           v19.4s, w8
1649  .long  0x52a7f208                          // mov           w8, #0x3f900000
1650  .long  0x72947ae8                          // movk          w8, #0xa3d7
1651  .long  0x6e36de10                          // fmul          v16.4s, v16.4s, v22.4s
1652  .long  0x4e040d16                          // dup           v22.4s, w8
1653  .long  0x6e37de94                          // fmul          v20.4s, v20.4s, v23.4s
1654  .long  0x4eb31e77                          // mov           v23.16b, v19.16b
1655  .long  0x6e38deb5                          // fmul          v21.4s, v21.4s, v24.4s
1656  .long  0x4eb31e78                          // mov           v24.16b, v19.16b
1657  .long  0x52a7c208                          // mov           w8, #0x3e100000
1658  .long  0x4e30ce57                          // fmla          v23.4s, v18.4s, v16.4s
1659  .long  0x4e34ce58                          // fmla          v24.4s, v18.4s, v20.4s
1660  .long  0x4e35ce53                          // fmla          v19.4s, v18.4s, v21.4s
1661  .long  0x4eb61ed2                          // mov           v18.16b, v22.16b
1662  .long  0x7298c988                          // movk          w8, #0xc64c
1663  .long  0x4e30cef2                          // fmla          v18.4s, v23.4s, v16.4s
1664  .long  0x4eb61ed7                          // mov           v23.16b, v22.16b
1665  .long  0x4e35ce76                          // fmla          v22.4s, v19.4s, v21.4s
1666  .long  0x4e040d13                          // dup           v19.4s, w8
1667  .long  0x4e33d610                          // fadd          v16.4s, v16.4s, v19.4s
1668  .long  0x4e34cf17                          // fmla          v23.4s, v24.4s, v20.4s
1669  .long  0x4e33d694                          // fadd          v20.4s, v20.4s, v19.4s
1670  .long  0x4e33d6b3                          // fadd          v19.4s, v21.4s, v19.4s
1671  .long  0x4ea1da15                          // frecpe        v21.4s, v16.4s
1672  .long  0x4e35fe10                          // frecps        v16.4s, v16.4s, v21.4s
1673  .long  0x6e30deb0                          // fmul          v16.4s, v21.4s, v16.4s
1674  .long  0x4ea1da95                          // frecpe        v21.4s, v20.4s
1675  .long  0x4e35fe94                          // frecps        v20.4s, v20.4s, v21.4s
1676  .long  0x6e34deb4                          // fmul          v20.4s, v21.4s, v20.4s
1677  .long  0x4ea1da75                          // frecpe        v21.4s, v19.4s
1678  .long  0xf8408425                          // ldr           x5, [x1], #8
1679  .long  0x4e35fe73                          // frecps        v19.4s, v19.4s, v21.4s
1680  .long  0x6e33deb3                          // fmul          v19.4s, v21.4s, v19.4s
1681  .long  0x6e30de50                          // fmul          v16.4s, v18.4s, v16.4s
1682  .long  0x6e34def2                          // fmul          v18.4s, v23.4s, v20.4s
1683  .long  0x6e33ded3                          // fmul          v19.4s, v22.4s, v19.4s
1684  .long  0x6e701f20                          // bsl           v0.16b, v25.16b, v16.16b
1685  .long  0x6e721f41                          // bsl           v1.16b, v26.16b, v18.16b
1686  .long  0x6e731e22                          // bsl           v2.16b, v17.16b, v19.16b
1687  .long  0xd61f00a0                          // br            x5
1688
1689HIDDEN _sk_rgb_to_hsl_aarch64
1690.globl _sk_rgb_to_hsl_aarch64
1691FUNCTION(_sk_rgb_to_hsl_aarch64)
1692_sk_rgb_to_hsl_aarch64:
1693  .long  0x4e21f410                          // fmax          v16.4s, v0.4s, v1.4s
1694  .long  0x4ea1f411                          // fmin          v17.4s, v0.4s, v1.4s
1695  .long  0x6ea1e454                          // fcmgt         v20.4s, v2.4s, v1.4s
1696  .long  0x4f00f715                          // fmov          v21.4s, #6.000000000000000000e+00
1697  .long  0x4e22f610                          // fmax          v16.4s, v16.4s, v2.4s
1698  .long  0x4ea2f631                          // fmin          v17.4s, v17.4s, v2.4s
1699  .long  0x4f03f612                          // fmov          v18.4s, #1.000000000000000000e+00
1700  .long  0x4e341eb4                          // and           v20.16b, v21.16b, v20.16b
1701  .long  0x4eb1d615                          // fsub          v21.4s, v16.4s, v17.4s
1702  .long  0x4ea2d433                          // fsub          v19.4s, v1.4s, v2.4s
1703  .long  0x4ea0d456                          // fsub          v22.4s, v2.4s, v0.4s
1704  .long  0x4f026417                          // movi          v23.4s, #0x40, lsl #24
1705  .long  0x6e35fe42                          // fdiv          v2.4s, v18.4s, v21.4s
1706  .long  0x4ea1d418                          // fsub          v24.4s, v0.4s, v1.4s
1707  .long  0x4f00f619                          // fmov          v25.4s, #4.000000000000000000e+00
1708  .long  0x4f0167fa                          // movi          v26.4s, #0x3f, lsl #24
1709  .long  0x4eb0d6f2                          // fsub          v18.4s, v23.4s, v16.4s
1710  .long  0x4e36cc57                          // fmla          v23.4s, v2.4s, v22.4s
1711  .long  0x4e31e616                          // fcmeq         v22.4s, v16.4s, v17.4s
1712  .long  0x4e20e600                          // fcmeq         v0.4s, v16.4s, v0.4s
1713  .long  0x4e21e601                          // fcmeq         v1.4s, v16.4s, v1.4s
1714  .long  0x4e31d610                          // fadd          v16.4s, v16.4s, v17.4s
1715  .long  0x52a7c548                          // mov           w8, #0x3e2a0000
1716  .long  0x4e33cc54                          // fmla          v20.4s, v2.4s, v19.4s
1717  .long  0x4e38cc59                          // fmla          v25.4s, v2.4s, v24.4s
1718  .long  0x6e3ade02                          // fmul          v2.4s, v16.4s, v26.4s
1719  .long  0x72955568                          // movk          w8, #0xaaab
1720  .long  0xf8408425                          // ldr           x5, [x1], #8
1721  .long  0x4eb1d651                          // fsub          v17.4s, v18.4s, v17.4s
1722  .long  0x6ebae452                          // fcmgt         v18.4s, v2.4s, v26.4s
1723  .long  0x6e791ee1                          // bsl           v1.16b, v23.16b, v25.16b
1724  .long  0x4e040d13                          // dup           v19.4s, w8
1725  .long  0x6e701e32                          // bsl           v18.16b, v17.16b, v16.16b
1726  .long  0x6e611e80                          // bsl           v0.16b, v20.16b, v1.16b
1727  .long  0x6e32fea1                          // fdiv          v1.4s, v21.4s, v18.4s
1728  .long  0x6e33dc00                          // fmul          v0.4s, v0.4s, v19.4s
1729  .long  0x4e761c00                          // bic           v0.16b, v0.16b, v22.16b
1730  .long  0x4e761c21                          // bic           v1.16b, v1.16b, v22.16b
1731  .long  0xd61f00a0                          // br            x5
1732
1733HIDDEN _sk_hsl_to_rgb_aarch64
1734.globl _sk_hsl_to_rgb_aarch64
1735FUNCTION(_sk_hsl_to_rgb_aarch64)
1736_sk_hsl_to_rgb_aarch64:
1737  .long  0x52a7d548                          // mov           w8, #0x3eaa0000
1738  .long  0x72955568                          // movk          w8, #0xaaab
1739  .long  0x4e040d14                          // dup           v20.4s, w8
1740  .long  0x52a7e548                          // mov           w8, #0x3f2a0000
1741  .long  0x72955568                          // movk          w8, #0xaaab
1742  .long  0x4f0167f1                          // movi          v17.4s, #0x3f, lsl #24
1743  .long  0x6e22dc32                          // fmul          v18.4s, v1.4s, v2.4s
1744  .long  0x4e040d17                          // dup           v23.4s, w8
1745  .long  0x52b7d548                          // mov           w8, #0xbeaa0000
1746  .long  0x4ea0d830                          // fcmeq         v16.4s, v1.4s, #0.0
1747  .long  0x72955568                          // movk          w8, #0xaaab
1748  .long  0x6e31e45a                          // fcmge         v26.4s, v2.4s, v17.4s
1749  .long  0x4eb2d421                          // fsub          v1.4s, v1.4s, v18.4s
1750  .long  0x4e040d18                          // dup           v24.4s, w8
1751  .long  0x4e219819                          // frintm        v25.4s, v0.4s
1752  .long  0x6e721c3a                          // bsl           v26.16b, v1.16b, v18.16b
1753  .long  0x4e34d401                          // fadd          v1.4s, v0.4s, v20.4s
1754  .long  0x4eb9d419                          // fsub          v25.4s, v0.4s, v25.4s
1755  .long  0x4e38d400                          // fadd          v0.4s, v0.4s, v24.4s
1756  .long  0x4e22d754                          // fadd          v20.4s, v26.4s, v2.4s
1757  .long  0x4e219838                          // frintm        v24.4s, v1.4s
1758  .long  0x4f026413                          // movi          v19.4s, #0x40, lsl #24
1759  .long  0x4f00f715                          // fmov          v21.4s, #6.000000000000000000e+00
1760  .long  0x4e21981b                          // frintm        v27.4s, v0.4s
1761  .long  0x6ea0fa9c                          // fneg          v28.4s, v20.4s
1762  .long  0x4eb8d421                          // fsub          v1.4s, v1.4s, v24.4s
1763  .long  0x4f00f616                          // fmov          v22.4s, #4.000000000000000000e+00
1764  .long  0x4ebbd418                          // fsub          v24.4s, v0.4s, v27.4s
1765  .long  0x4e22ce7c                          // fmla          v28.4s, v19.4s, v2.4s
1766  .long  0x6e35dc20                          // fmul          v0.4s, v1.4s, v21.4s
1767  .long  0x6e35df32                          // fmul          v18.4s, v25.4s, v21.4s
1768  .long  0x6e35df13                          // fmul          v19.4s, v24.4s, v21.4s
1769  .long  0x4ebcd695                          // fsub          v21.4s, v20.4s, v28.4s
1770  .long  0x4ea0d6db                          // fsub          v27.4s, v22.4s, v0.4s
1771  .long  0x4ebc1f9d                          // mov           v29.16b, v28.16b
1772  .long  0x4e3bcebd                          // fmla          v29.4s, v21.4s, v27.4s
1773  .long  0x4ebc1f9b                          // mov           v27.16b, v28.16b
1774  .long  0x4eb2d6da                          // fsub          v26.4s, v22.4s, v18.4s
1775  .long  0x4e20cebb                          // fmla          v27.4s, v21.4s, v0.4s
1776  .long  0x4ebc1f80                          // mov           v0.16b, v28.16b
1777  .long  0x4e3acea0                          // fmla          v0.4s, v21.4s, v26.4s
1778  .long  0x4ebc1f9a                          // mov           v26.16b, v28.16b
1779  .long  0x4eb3d6d6                          // fsub          v22.4s, v22.4s, v19.4s
1780  .long  0x4e32ceba                          // fmla          v26.4s, v21.4s, v18.4s
1781  .long  0x4ebc1f92                          // mov           v18.16b, v28.16b
1782  .long  0x52a7c548                          // mov           w8, #0x3e2a0000
1783  .long  0x4e36ceb2                          // fmla          v18.4s, v21.4s, v22.4s
1784  .long  0x6e37e436                          // fcmge         v22.4s, v1.4s, v23.4s
1785  .long  0x72955568                          // movk          w8, #0xaaab
1786  .long  0x6e7d1f96                          // bsl           v22.16b, v28.16b, v29.16b
1787  .long  0x6e37e73d                          // fcmge         v29.4s, v25.4s, v23.4s
1788  .long  0x6e37e717                          // fcmge         v23.4s, v24.4s, v23.4s
1789  .long  0x6e601f9d                          // bsl           v29.16b, v28.16b, v0.16b
1790  .long  0x4e040d1e                          // dup           v30.4s, w8
1791  .long  0x6e721f97                          // bsl           v23.16b, v28.16b, v18.16b
1792  .long  0x4e33cebc                          // fmla          v28.4s, v21.4s, v19.4s
1793  .long  0x6e31e732                          // fcmge         v18.4s, v25.4s, v17.4s
1794  .long  0x6e31e435                          // fcmge         v21.4s, v1.4s, v17.4s
1795  .long  0x6e31e711                          // fcmge         v17.4s, v24.4s, v17.4s
1796  .long  0x6e3ee718                          // fcmge         v24.4s, v24.4s, v30.4s
1797  .long  0xf8408425                          // ldr           x5, [x1], #8
1798  .long  0x6e741ef1                          // bsl           v17.16b, v23.16b, v20.16b
1799  .long  0x6e3ee733                          // fcmge         v19.4s, v25.4s, v30.4s
1800  .long  0x6e3ee439                          // fcmge         v25.4s, v1.4s, v30.4s
1801  .long  0x6e741ed5                          // bsl           v21.16b, v22.16b, v20.16b
1802  .long  0x6e741fb2                          // bsl           v18.16b, v29.16b, v20.16b
1803  .long  0x6e7c1e38                          // bsl           v24.16b, v17.16b, v28.16b
1804  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
1805  .long  0x4eb01e01                          // mov           v1.16b, v16.16b
1806  .long  0x6e7b1eb9                          // bsl           v25.16b, v21.16b, v27.16b
1807  .long  0x6e7a1e53                          // bsl           v19.16b, v18.16b, v26.16b
1808  .long  0x6e781c50                          // bsl           v16.16b, v2.16b, v24.16b
1809  .long  0x6e791c40                          // bsl           v0.16b, v2.16b, v25.16b
1810  .long  0x6e731c41                          // bsl           v1.16b, v2.16b, v19.16b
1811  .long  0x4eb01e02                          // mov           v2.16b, v16.16b
1812  .long  0xd61f00a0                          // br            x5
1813
1814HIDDEN _sk_scale_1_float_aarch64
1815.globl _sk_scale_1_float_aarch64
1816FUNCTION(_sk_scale_1_float_aarch64)
1817_sk_scale_1_float_aarch64:
1818  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
1819  .long  0xbd400110                          // ldr           s16, [x8]
1820  .long  0x4f909000                          // fmul          v0.4s, v0.4s, v16.s[0]
1821  .long  0x4f909021                          // fmul          v1.4s, v1.4s, v16.s[0]
1822  .long  0x4f909042                          // fmul          v2.4s, v2.4s, v16.s[0]
1823  .long  0x4f909063                          // fmul          v3.4s, v3.4s, v16.s[0]
1824  .long  0xd61f00a0                          // br            x5
1825
1826HIDDEN _sk_scale_u8_aarch64
1827.globl _sk_scale_u8_aarch64
1828FUNCTION(_sk_scale_u8_aarch64)
1829_sk_scale_u8_aarch64:
1830  .long  0xf9400028                          // ldr           x8, [x1]
1831  .long  0xf9400108                          // ldr           x8, [x8]
1832  .long  0x8b020108                          // add           x8, x8, x2
1833  .long  0xb50002e4                          // cbnz          x4, 1838 <sk_scale_u8_aarch64+0x68>
1834  .long  0x39400109                          // ldrb          w9, [x8]
1835  .long  0x3940050a                          // ldrb          w10, [x8, #1]
1836  .long  0x3940090b                          // ldrb          w11, [x8, #2]
1837  .long  0x39400d08                          // ldrb          w8, [x8, #3]
1838  .long  0x4e021d30                          // mov           v16.h[0], w9
1839  .long  0x4e061d50                          // mov           v16.h[1], w10
1840  .long  0x4e0a1d70                          // mov           v16.h[2], w11
1841  .long  0x4e0e1d10                          // mov           v16.h[3], w8
1842  .long  0x2f07b7f0                          // bic           v16.4h, #0xff, lsl #8
1843  .long  0x52a77008                          // mov           w8, #0x3b800000
1844  .long  0x72901028                          // movk          w8, #0x8081
1845  .long  0xf9400425                          // ldr           x5, [x1, #8]
1846  .long  0x2f10a610                          // uxtl          v16.4s, v16.4h
1847  .long  0x4e040d11                          // dup           v17.4s, w8
1848  .long  0x6e21da10                          // ucvtf         v16.4s, v16.4s
1849  .long  0x6e31de10                          // fmul          v16.4s, v16.4s, v17.4s
1850  .long  0x6e20de00                          // fmul          v0.4s, v16.4s, v0.4s
1851  .long  0x6e21de01                          // fmul          v1.4s, v16.4s, v1.4s
1852  .long  0x6e22de02                          // fmul          v2.4s, v16.4s, v2.4s
1853  .long  0x6e23de03                          // fmul          v3.4s, v16.4s, v3.4s
1854  .long  0x91004021                          // add           x1, x1, #0x10
1855  .long  0xd61f00a0                          // br            x5
1856  .long  0x12000489                          // and           w9, w4, #0x3
1857  .long  0x7100053f                          // cmp           w9, #0x1
1858  .long  0x54000220                          // b.eq          1884 <sk_scale_u8_aarch64+0xb4>  // b.none
1859  .long  0x7100093f                          // cmp           w9, #0x2
1860  .long  0x2f00e410                          // movi          d16, #0x0
1861  .long  0x540000c0                          // b.eq          1864 <sk_scale_u8_aarch64+0x94>  // b.none
1862  .long  0x71000d3f                          // cmp           w9, #0x3
1863  .long  0x54fffd61                          // b.ne          1800 <sk_scale_u8_aarch64+0x30>  // b.any
1864  .long  0x39400909                          // ldrb          w9, [x8, #2]
1865  .long  0x0e020ff0                          // dup           v16.4h, wzr
1866  .long  0x4e0a1d30                          // mov           v16.h[2], w9
1867  .long  0x39400109                          // ldrb          w9, [x8]
1868  .long  0x39400508                          // ldrb          w8, [x8, #1]
1869  .long  0x4e041d31                          // mov           v17.s[0], w9
1870  .long  0x4e0c1d11                          // mov           v17.s[1], w8
1871  .long  0x0e401a31                          // uzp1          v17.4h, v17.4h, v0.4h
1872  .long  0x2e112210                          // ext           v16.8b, v16.8b, v17.8b, #4
1873  .long  0x2e102210                          // ext           v16.8b, v16.8b, v16.8b, #4
1874  .long  0x17ffffe0                          // b             1800 <sk_scale_u8_aarch64+0x30>
1875  .long  0x39400108                          // ldrb          w8, [x8]
1876  .long  0x0e020ff0                          // dup           v16.4h, wzr
1877  .long  0x4e021d10                          // mov           v16.h[0], w8
1878  .long  0x17ffffdc                          // b             1800 <sk_scale_u8_aarch64+0x30>
1879
1880HIDDEN _sk_lerp_1_float_aarch64
1881.globl _sk_lerp_1_float_aarch64
1882FUNCTION(_sk_lerp_1_float_aarch64)
1883_sk_lerp_1_float_aarch64:
1884  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
1885  .long  0x4ea4d411                          // fsub          v17.4s, v0.4s, v4.4s
1886  .long  0x4ea41c80                          // mov           v0.16b, v4.16b
1887  .long  0x4ea5d432                          // fsub          v18.4s, v1.4s, v5.4s
1888  .long  0xbd400110                          // ldr           s16, [x8]
1889  .long  0x4ea51ca1                          // mov           v1.16b, v5.16b
1890  .long  0x4f901220                          // fmla          v0.4s, v17.4s, v16.s[0]
1891  .long  0x4ea6d451                          // fsub          v17.4s, v2.4s, v6.4s
1892  .long  0x4f901241                          // fmla          v1.4s, v18.4s, v16.s[0]
1893  .long  0x4ea61cc2                          // mov           v2.16b, v6.16b
1894  .long  0x4ea7d472                          // fsub          v18.4s, v3.4s, v7.4s
1895  .long  0x4ea71ce3                          // mov           v3.16b, v7.16b
1896  .long  0x4f901222                          // fmla          v2.4s, v17.4s, v16.s[0]
1897  .long  0x4f901243                          // fmla          v3.4s, v18.4s, v16.s[0]
1898  .long  0xd61f00a0                          // br            x5
1899
1900HIDDEN _sk_lerp_u8_aarch64
1901.globl _sk_lerp_u8_aarch64
1902FUNCTION(_sk_lerp_u8_aarch64)
1903_sk_lerp_u8_aarch64:
1904  .long  0xf9400028                          // ldr           x8, [x1]
1905  .long  0xf9400108                          // ldr           x8, [x8]
1906  .long  0x8b020108                          // add           x8, x8, x2
1907  .long  0xb50003e4                          // cbnz          x4, 1958 <sk_lerp_u8_aarch64+0x88>
1908  .long  0x39400109                          // ldrb          w9, [x8]
1909  .long  0x3940050a                          // ldrb          w10, [x8, #1]
1910  .long  0x3940090b                          // ldrb          w11, [x8, #2]
1911  .long  0x39400d08                          // ldrb          w8, [x8, #3]
1912  .long  0x4e021d30                          // mov           v16.h[0], w9
1913  .long  0x4e061d50                          // mov           v16.h[1], w10
1914  .long  0x4e0a1d70                          // mov           v16.h[2], w11
1915  .long  0x4e0e1d10                          // mov           v16.h[3], w8
1916  .long  0x2f07b7f0                          // bic           v16.4h, #0xff, lsl #8
1917  .long  0x52a77008                          // mov           w8, #0x3b800000
1918  .long  0x72901028                          // movk          w8, #0x8081
1919  .long  0x4ea4d411                          // fsub          v17.4s, v0.4s, v4.4s
1920  .long  0x2f10a600                          // uxtl          v0.4s, v16.4h
1921  .long  0x4e040d10                          // dup           v16.4s, w8
1922  .long  0x6e21d800                          // ucvtf         v0.4s, v0.4s
1923  .long  0xf9400425                          // ldr           x5, [x1, #8]
1924  .long  0x6e30dc10                          // fmul          v16.4s, v0.4s, v16.4s
1925  .long  0x4ea41c80                          // mov           v0.16b, v4.16b
1926  .long  0x4ea5d432                          // fsub          v18.4s, v1.4s, v5.4s
1927  .long  0x4ea51ca1                          // mov           v1.16b, v5.16b
1928  .long  0x4e31ce00                          // fmla          v0.4s, v16.4s, v17.4s
1929  .long  0x4ea6d451                          // fsub          v17.4s, v2.4s, v6.4s
1930  .long  0x4e32ce01                          // fmla          v1.4s, v16.4s, v18.4s
1931  .long  0x4ea61cc2                          // mov           v2.16b, v6.16b
1932  .long  0x4ea7d472                          // fsub          v18.4s, v3.4s, v7.4s
1933  .long  0x4ea71ce3                          // mov           v3.16b, v7.16b
1934  .long  0x4e31ce02                          // fmla          v2.4s, v16.4s, v17.4s
1935  .long  0x4e32ce03                          // fmla          v3.4s, v16.4s, v18.4s
1936  .long  0x91004021                          // add           x1, x1, #0x10
1937  .long  0xd61f00a0                          // br            x5
1938  .long  0x12000489                          // and           w9, w4, #0x3
1939  .long  0x7100053f                          // cmp           w9, #0x1
1940  .long  0x54000220                          // b.eq          19a4 <sk_lerp_u8_aarch64+0xd4>  // b.none
1941  .long  0x7100093f                          // cmp           w9, #0x2
1942  .long  0x2f00e410                          // movi          d16, #0x0
1943  .long  0x540000c0                          // b.eq          1984 <sk_lerp_u8_aarch64+0xb4>  // b.none
1944  .long  0x71000d3f                          // cmp           w9, #0x3
1945  .long  0x54fffc61                          // b.ne          1900 <sk_lerp_u8_aarch64+0x30>  // b.any
1946  .long  0x39400909                          // ldrb          w9, [x8, #2]
1947  .long  0x0e020ff0                          // dup           v16.4h, wzr
1948  .long  0x4e0a1d30                          // mov           v16.h[2], w9
1949  .long  0x39400109                          // ldrb          w9, [x8]
1950  .long  0x39400508                          // ldrb          w8, [x8, #1]
1951  .long  0x4e041d31                          // mov           v17.s[0], w9
1952  .long  0x4e0c1d11                          // mov           v17.s[1], w8
1953  .long  0x0e401a31                          // uzp1          v17.4h, v17.4h, v0.4h
1954  .long  0x2e112210                          // ext           v16.8b, v16.8b, v17.8b, #4
1955  .long  0x2e102210                          // ext           v16.8b, v16.8b, v16.8b, #4
1956  .long  0x17ffffd8                          // b             1900 <sk_lerp_u8_aarch64+0x30>
1957  .long  0x39400108                          // ldrb          w8, [x8]
1958  .long  0x0e020ff0                          // dup           v16.4h, wzr
1959  .long  0x4e021d10                          // mov           v16.h[0], w8
1960  .long  0x17ffffd4                          // b             1900 <sk_lerp_u8_aarch64+0x30>
1961
1962HIDDEN _sk_lerp_565_aarch64
1963.globl _sk_lerp_565_aarch64
1964FUNCTION(_sk_lerp_565_aarch64)
1965_sk_lerp_565_aarch64:
1966  .long  0xf9400028                          // ldr           x8, [x1]
1967  .long  0xf9400108                          // ldr           x8, [x8]
1968  .long  0x8b020508                          // add           x8, x8, x2, lsl #1
1969  .long  0xb50005c4                          // cbnz          x4, 1a78 <sk_lerp_565_aarch64+0xc4>
1970  .long  0xfd400110                          // ldr           d16, [x8]
1971  .long  0x321b17e8                          // orr           w8, wzr, #0x7e0
1972  .long  0x4e040d12                          // dup           v18.4s, w8
1973  .long  0x52a6f088                          // mov           w8, #0x37840000
1974  .long  0x2f10a610                          // uxtl          v16.4s, v16.4h
1975  .long  0x4f072711                          // movi          v17.4s, #0xf8, lsl #8
1976  .long  0x72842108                          // movk          w8, #0x2108
1977  .long  0x4f0007f3                          // movi          v19.4s, #0x1f
1978  .long  0x4e311e11                          // and           v17.16b, v16.16b, v17.16b
1979  .long  0x4e331e13                          // and           v19.16b, v16.16b, v19.16b
1980  .long  0x4e321e10                          // and           v16.16b, v16.16b, v18.16b
1981  .long  0x4e040d12                          // dup           v18.4s, w8
1982  .long  0x52a7a088                          // mov           w8, #0x3d040000
1983  .long  0x72842108                          // movk          w8, #0x2108
1984  .long  0x4e21da31                          // scvtf         v17.4s, v17.4s
1985  .long  0x6e32de31                          // fmul          v17.4s, v17.4s, v18.4s
1986  .long  0x4e040d12                          // dup           v18.4s, w8
1987  .long  0x52a74048                          // mov           w8, #0x3a020000
1988  .long  0x72810428                          // movk          w8, #0x821
1989  .long  0x4ea4d414                          // fsub          v20.4s, v0.4s, v4.4s
1990  .long  0x4e21da60                          // scvtf         v0.4s, v19.4s
1991  .long  0x6e32dc12                          // fmul          v18.4s, v0.4s, v18.4s
1992  .long  0x4e040d00                          // dup           v0.4s, w8
1993  .long  0x4e21da10                          // scvtf         v16.4s, v16.4s
1994  .long  0x6e20de10                          // fmul          v16.4s, v16.4s, v0.4s
1995  .long  0x4ea41c80                          // mov           v0.16b, v4.16b
1996  .long  0x4e34ce20                          // fmla          v0.4s, v17.4s, v20.4s
1997  .long  0x4ea7d463                          // fsub          v3.4s, v3.4s, v7.4s
1998  .long  0x4ea71cf4                          // mov           v20.16b, v7.16b
1999  .long  0x4ea5d433                          // fsub          v19.4s, v1.4s, v5.4s
2000  .long  0x4ea6d441                          // fsub          v1.4s, v2.4s, v6.4s
2001  .long  0x4ea61cc2                          // mov           v2.16b, v6.16b
2002  .long  0x4e23ce34                          // fmla          v20.4s, v17.4s, v3.4s
2003  .long  0x4ea71cf1                          // mov           v17.16b, v7.16b
2004  .long  0x4e21ce42                          // fmla          v2.4s, v18.4s, v1.4s
2005  .long  0x4e23ce51                          // fmla          v17.4s, v18.4s, v3.4s
2006  .long  0x4ea71cf2                          // mov           v18.16b, v7.16b
2007  .long  0xf9400425                          // ldr           x5, [x1, #8]
2008  .long  0x4e23ce12                          // fmla          v18.4s, v16.4s, v3.4s
2009  .long  0x4ea51ca1                          // mov           v1.16b, v5.16b
2010  .long  0x4e31f643                          // fmax          v3.4s, v18.4s, v17.4s
2011  .long  0x4e33ce01                          // fmla          v1.4s, v16.4s, v19.4s
2012  .long  0x4e23f683                          // fmax          v3.4s, v20.4s, v3.4s
2013  .long  0x91004021                          // add           x1, x1, #0x10
2014  .long  0xd61f00a0                          // br            x5
2015  .long  0x12000489                          // and           w9, w4, #0x3
2016  .long  0x7100053f                          // cmp           w9, #0x1
2017  .long  0x54000220                          // b.eq          1ac4 <sk_lerp_565_aarch64+0x110>  // b.none
2018  .long  0x7100093f                          // cmp           w9, #0x2
2019  .long  0x2f00e410                          // movi          d16, #0x0
2020  .long  0x540000c0                          // b.eq          1aa4 <sk_lerp_565_aarch64+0xf0>  // b.none
2021  .long  0x71000d3f                          // cmp           w9, #0x3
2022  .long  0x54fff9a1                          // b.ne          19c8 <sk_lerp_565_aarch64+0x14>  // b.any
2023  .long  0x91001109                          // add           x9, x8, #0x4
2024  .long  0x0e020ff0                          // dup           v16.4h, wzr
2025  .long  0x0d405130                          // ld1           {v16.h}[2], [x9]
2026  .long  0x79400109                          // ldrh          w9, [x8]
2027  .long  0x79400508                          // ldrh          w8, [x8, #2]
2028  .long  0x4e041d31                          // mov           v17.s[0], w9
2029  .long  0x4e0c1d11                          // mov           v17.s[1], w8
2030  .long  0x0e401a31                          // uzp1          v17.4h, v17.4h, v0.4h
2031  .long  0x2e112210                          // ext           v16.8b, v16.8b, v17.8b, #4
2032  .long  0x2e102210                          // ext           v16.8b, v16.8b, v16.8b, #4
2033  .long  0x17ffffc2                          // b             19c8 <sk_lerp_565_aarch64+0x14>
2034  .long  0x0e020ff0                          // dup           v16.4h, wzr
2035  .long  0x0d404110                          // ld1           {v16.h}[0], [x8]
2036  .long  0x17ffffbf                          // b             19c8 <sk_lerp_565_aarch64+0x14>
2037
2038HIDDEN _sk_load_tables_aarch64
2039.globl _sk_load_tables_aarch64
2040FUNCTION(_sk_load_tables_aarch64)
2041_sk_load_tables_aarch64:
2042  .long  0xf9400028                          // ldr           x8, [x1]
2043  .long  0xf9400109                          // ldr           x9, [x8]
2044  .long  0x8b020929                          // add           x9, x9, x2, lsl #2
2045  .long  0xb50006e4                          // cbnz          x4, 1bb8 <sk_load_tables_aarch64+0xe8>
2046  .long  0x3dc00122                          // ldr           q2, [x9]
2047  .long  0xa940a909                          // ldp           x9, x10, [x8, #8]
2048  .long  0x6f00e620                          // movi          v0.2d, #0xff000000ff
2049  .long  0x6f380441                          // ushr          v1.4s, v2.4s, #8
2050  .long  0x4e201c50                          // and           v16.16b, v2.16b, v0.16b
2051  .long  0x4e201c21                          // and           v1.16b, v1.16b, v0.16b
2052  .long  0x1e26020e                          // fmov          w14, s16
2053  .long  0xf9400d08                          // ldr           x8, [x8, #24]
2054  .long  0x6f300443                          // ushr          v3.4s, v2.4s, #16
2055  .long  0x1e260032                          // fmov          w18, s1
2056  .long  0x8b2e492e                          // add           x14, x9, w14, uxtw #2
2057  .long  0x52a7700b                          // mov           w11, #0x3b800000
2058  .long  0x4e201c63                          // and           v3.16b, v3.16b, v0.16b
2059  .long  0x0d4081c0                          // ld1           {v0.s}[0], [x14]
2060  .long  0x8b324952                          // add           x18, x10, w18, uxtw #2
2061  .long  0x7290102b                          // movk          w11, #0x8081
2062  .long  0x0e0c3c2f                          // mov           w15, v1.s[1]
2063  .long  0x0e143c30                          // mov           w16, v1.s[2]
2064  .long  0x0e1c3c31                          // mov           w17, v1.s[3]
2065  .long  0x0d408241                          // ld1           {v1.s}[0], [x18]
2066  .long  0x4e040d71                          // dup           v17.4s, w11
2067  .long  0x0e0c3e0b                          // mov           w11, v16.s[1]
2068  .long  0x1e26006e                          // fmov          w14, s3
2069  .long  0x6f280442                          // ushr          v2.4s, v2.4s, #24
2070  .long  0x0e143e0c                          // mov           w12, v16.s[2]
2071  .long  0xbc705952                          // ldr           s18, [x10, w16, uxtw #2]
2072  .long  0x0e143c70                          // mov           w16, v3.s[2]
2073  .long  0x4e21d842                          // scvtf         v2.4s, v2.4s
2074  .long  0x8b2e490e                          // add           x14, x8, w14, uxtw #2
2075  .long  0x8b2b492b                          // add           x11, x9, w11, uxtw #2
2076  .long  0x0e1c3e0d                          // mov           w13, v16.s[3]
2077  .long  0xbc6c5930                          // ldr           s16, [x9, w12, uxtw #2]
2078  .long  0x0e0c3c6c                          // mov           w12, v3.s[1]
2079  .long  0xbc705913                          // ldr           s19, [x8, w16, uxtw #2]
2080  .long  0x0e1c3c70                          // mov           w16, v3.s[3]
2081  .long  0x6e31dc43                          // fmul          v3.4s, v2.4s, v17.4s
2082  .long  0x0d4081c2                          // ld1           {v2.s}[0], [x14]
2083  .long  0x0d409160                          // ld1           {v0.s}[1], [x11]
2084  .long  0x8b2f494b                          // add           x11, x10, w15, uxtw #2
2085  .long  0x0d409161                          // ld1           {v1.s}[1], [x11]
2086  .long  0x8b2c490b                          // add           x11, x8, w12, uxtw #2
2087  .long  0x0d409162                          // ld1           {v2.s}[1], [x11]
2088  .long  0x6e140600                          // mov           v0.s[2], v16.s[0]
2089  .long  0xbc6d5930                          // ldr           s16, [x9, w13, uxtw #2]
2090  .long  0x6e140641                          // mov           v1.s[2], v18.s[0]
2091  .long  0xbc715951                          // ldr           s17, [x10, w17, uxtw #2]
2092  .long  0xbc705912                          // ldr           s18, [x8, w16, uxtw #2]
2093  .long  0xf9400425                          // ldr           x5, [x1, #8]
2094  .long  0x6e140662                          // mov           v2.s[2], v19.s[0]
2095  .long  0x6e1c0600                          // mov           v0.s[3], v16.s[0]
2096  .long  0x6e1c0621                          // mov           v1.s[3], v17.s[0]
2097  .long  0x6e1c0642                          // mov           v2.s[3], v18.s[0]
2098  .long  0x91004021                          // add           x1, x1, #0x10
2099  .long  0xd61f00a0                          // br            x5
2100  .long  0x1200048a                          // and           w10, w4, #0x3
2101  .long  0x7100055f                          // cmp           w10, #0x1
2102  .long  0x540001a0                          // b.eq          1bf4 <sk_load_tables_aarch64+0x124>  // b.none
2103  .long  0x7100095f                          // cmp           w10, #0x2
2104  .long  0x6f00e402                          // movi          v2.2d, #0x0
2105  .long  0x540000c0                          // b.eq          1be4 <sk_load_tables_aarch64+0x114>  // b.none
2106  .long  0x71000d5f                          // cmp           w10, #0x3
2107  .long  0x54fff881                          // b.ne          1ae4 <sk_load_tables_aarch64+0x14>  // b.any
2108  .long  0x9100212a                          // add           x10, x9, #0x8
2109  .long  0x4e040fe2                          // dup           v2.4s, wzr
2110  .long  0x4d408142                          // ld1           {v2.s}[2], [x10]
2111  .long  0xfd400120                          // ldr           d0, [x9]
2112  .long  0x6e004040                          // ext           v0.16b, v2.16b, v0.16b, #8
2113  .long  0x6e004002                          // ext           v2.16b, v0.16b, v0.16b, #8
2114  .long  0x17ffffbd                          // b             1ae4 <sk_load_tables_aarch64+0x14>
2115  .long  0x4e040fe2                          // dup           v2.4s, wzr
2116  .long  0x0d408122                          // ld1           {v2.s}[0], [x9]
2117  .long  0x17ffffba                          // b             1ae4 <sk_load_tables_aarch64+0x14>
2118
2119HIDDEN _sk_load_tables_u16_be_aarch64
2120.globl _sk_load_tables_u16_be_aarch64
2121FUNCTION(_sk_load_tables_u16_be_aarch64)
2122_sk_load_tables_u16_be_aarch64:
2123  .long  0xf9400028                          // ldr           x8, [x1]
2124  .long  0xf9400109                          // ldr           x9, [x8]
2125  .long  0x8b020d29                          // add           x9, x9, x2, lsl #3
2126  .long  0xb5000744                          // cbnz          x4, 1cf4 <sk_load_tables_u16_be_aarch64+0xf4>
2127  .long  0x0c400520                          // ld4           {v0.4h-v3.4h}, [x9]
2128  .long  0xa940a909                          // ldp           x9, x10, [x8, #8]
2129  .long  0x2f07b7e0                          // bic           v0.4h, #0xff, lsl #8
2130  .long  0x52a6f00b                          // mov           w11, #0x37800000
2131  .long  0x7280100b                          // movk          w11, #0x80
2132  .long  0x2f10a410                          // uxtl          v16.4s, v0.4h
2133  .long  0x2f07b7e1                          // bic           v1.4h, #0xff, lsl #8
2134  .long  0xf9400d08                          // ldr           x8, [x8, #24]
2135  .long  0x4e040d71                          // dup           v17.4s, w11
2136  .long  0x0e0c3e0b                          // mov           w11, v16.s[1]
2137  .long  0x0e143e0c                          // mov           w12, v16.s[2]
2138  .long  0x0e1c3e0d                          // mov           w13, v16.s[3]
2139  .long  0x1e26020e                          // fmov          w14, s16
2140  .long  0x2f10a430                          // uxtl          v16.4s, v1.4h
2141  .long  0x2f07b7e2                          // bic           v2.4h, #0xff, lsl #8
2142  .long  0x0e0c3e0f                          // mov           w15, v16.s[1]
2143  .long  0xbc6c5932                          // ldr           s18, [x9, w12, uxtw #2]
2144  .long  0x0e143e0c                          // mov           w12, v16.s[2]
2145  .long  0xbc6d5933                          // ldr           s19, [x9, w13, uxtw #2]
2146  .long  0x0e1c3e0d                          // mov           w13, v16.s[3]
2147  .long  0x8b2e492e                          // add           x14, x9, w14, uxtw #2
2148  .long  0x8b2b4929                          // add           x9, x9, w11, uxtw #2
2149  .long  0x1e26020b                          // fmov          w11, s16
2150  .long  0x2f10a450                          // uxtl          v16.4s, v2.4h
2151  .long  0x0f185474                          // shl           v20.4h, v3.4h, #8
2152  .long  0x2f180462                          // ushr          v2.4h, v3.4h, #8
2153  .long  0x0ea21e82                          // orr           v2.8b, v20.8b, v2.8b
2154  .long  0x8b2b494b                          // add           x11, x10, w11, uxtw #2
2155  .long  0x0d4081c0                          // ld1           {v0.s}[0], [x14]
2156  .long  0x1e26020e                          // fmov          w14, s16
2157  .long  0x2f10a442                          // uxtl          v2.4s, v2.4h
2158  .long  0x0d408161                          // ld1           {v1.s}[0], [x11]
2159  .long  0x8b2e490b                          // add           x11, x8, w14, uxtw #2
2160  .long  0x6e21d842                          // ucvtf         v2.4s, v2.4s
2161  .long  0x6e31dc43                          // fmul          v3.4s, v2.4s, v17.4s
2162  .long  0x0d408162                          // ld1           {v2.s}[0], [x11]
2163  .long  0x8b2f494f                          // add           x15, x10, w15, uxtw #2
2164  .long  0xbc6c5955                          // ldr           s21, [x10, w12, uxtw #2]
2165  .long  0xbc6d5956                          // ldr           s22, [x10, w13, uxtw #2]
2166  .long  0x0e0c3e0a                          // mov           w10, v16.s[1]
2167  .long  0x0e143e0c                          // mov           w12, v16.s[2]
2168  .long  0x0d409120                          // ld1           {v0.s}[1], [x9]
2169  .long  0x8b2a4909                          // add           x9, x8, w10, uxtw #2
2170  .long  0x0e1c3e0d                          // mov           w13, v16.s[3]
2171  .long  0xbc6c5910                          // ldr           s16, [x8, w12, uxtw #2]
2172  .long  0x0d4091e1                          // ld1           {v1.s}[1], [x15]
2173  .long  0x0d409122                          // ld1           {v2.s}[1], [x9]
2174  .long  0xbc6d5911                          // ldr           s17, [x8, w13, uxtw #2]
2175  .long  0xf9400425                          // ldr           x5, [x1, #8]
2176  .long  0x6e140640                          // mov           v0.s[2], v18.s[0]
2177  .long  0x6e1406a1                          // mov           v1.s[2], v21.s[0]
2178  .long  0x6e140602                          // mov           v2.s[2], v16.s[0]
2179  .long  0x6e1c0660                          // mov           v0.s[3], v19.s[0]
2180  .long  0x6e1c06c1                          // mov           v1.s[3], v22.s[0]
2181  .long  0x6e1c0622                          // mov           v2.s[3], v17.s[0]
2182  .long  0x91004021                          // add           x1, x1, #0x10
2183  .long  0xd61f00a0                          // br            x5
2184  .long  0x0d606120                          // ld4           {v0.h-v3.h}[0], [x9]
2185  .long  0xf100049f                          // cmp           x4, #0x1
2186  .long  0x54fff8c0                          // b.eq          1c14 <sk_load_tables_u16_be_aarch64+0x14>  // b.none
2187  .long  0x9100212a                          // add           x10, x9, #0x8
2188  .long  0x0d606940                          // ld4           {v0.h-v3.h}[1], [x10]
2189  .long  0xf1000c9f                          // cmp           x4, #0x3
2190  .long  0x54fff843                          // b.cc          1c14 <sk_load_tables_u16_be_aarch64+0x14>  // b.lo, b.ul, b.last
2191  .long  0x91004129                          // add           x9, x9, #0x10
2192  .long  0x0d607120                          // ld4           {v0.h-v3.h}[2], [x9]
2193  .long  0x17ffffbf                          // b             1c14 <sk_load_tables_u16_be_aarch64+0x14>
2194
2195HIDDEN _sk_load_tables_rgb_u16_be_aarch64
2196.globl _sk_load_tables_rgb_u16_be_aarch64
2197FUNCTION(_sk_load_tables_rgb_u16_be_aarch64)
2198_sk_load_tables_rgb_u16_be_aarch64:
2199  .long  0xf9400028                          // ldr           x8, [x1]
2200  .long  0x321f07ea                          // orr           w10, wzr, #0x6
2201  .long  0xf9400109                          // ldr           x9, [x8]
2202  .long  0x9b0a2449                          // madd          x9, x2, x10, x9
2203  .long  0xb5000664                          // cbnz          x4, 1df8 <sk_load_tables_rgb_u16_be_aarch64+0xdc>
2204  .long  0x0c404520                          // ld3           {v0.4h-v2.4h}, [x9]
2205  .long  0xa940a909                          // ldp           x9, x10, [x8, #8]
2206  .long  0x2f07b7e0                          // bic           v0.4h, #0xff, lsl #8
2207  .long  0x2f10a403                          // uxtl          v3.4s, v0.4h
2208  .long  0x2f07b7e1                          // bic           v1.4h, #0xff, lsl #8
2209  .long  0xf9400d0b                          // ldr           x11, [x8, #24]
2210  .long  0x0e0c3c68                          // mov           w8, v3.s[1]
2211  .long  0x0e143c6c                          // mov           w12, v3.s[2]
2212  .long  0x0e1c3c6d                          // mov           w13, v3.s[3]
2213  .long  0x1e26006e                          // fmov          w14, s3
2214  .long  0x2f10a423                          // uxtl          v3.4s, v1.4h
2215  .long  0x2f07b7e2                          // bic           v2.4h, #0xff, lsl #8
2216  .long  0xbc6c5930                          // ldr           s16, [x9, w12, uxtw #2]
2217  .long  0xbc6d5931                          // ldr           s17, [x9, w13, uxtw #2]
2218  .long  0x8b2e492e                          // add           x14, x9, w14, uxtw #2
2219  .long  0x8b284928                          // add           x8, x9, w8, uxtw #2
2220  .long  0x1e260069                          // fmov          w9, s3
2221  .long  0x2f10a442                          // uxtl          v2.4s, v2.4h
2222  .long  0x8b294949                          // add           x9, x10, w9, uxtw #2
2223  .long  0x0d4081c0                          // ld1           {v0.s}[0], [x14]
2224  .long  0x0e143c4e                          // mov           w14, v2.s[2]
2225  .long  0x0d408121                          // ld1           {v1.s}[0], [x9]
2226  .long  0xbc6e5972                          // ldr           s18, [x11, w14, uxtw #2]
2227  .long  0x1e26004e                          // fmov          w14, s2
2228  .long  0x0e0c3c6f                          // mov           w15, v3.s[1]
2229  .long  0x0e143c6c                          // mov           w12, v3.s[2]
2230  .long  0x8b2e496e                          // add           x14, x11, w14, uxtw #2
2231  .long  0x0e1c3c6d                          // mov           w13, v3.s[3]
2232  .long  0xbc6c5943                          // ldr           s3, [x10, w12, uxtw #2]
2233  .long  0x0e0c3c4c                          // mov           w12, v2.s[1]
2234  .long  0x0e1c3c49                          // mov           w9, v2.s[3]
2235  .long  0x0d4081c2                          // ld1           {v2.s}[0], [x14]
2236  .long  0x0d409100                          // ld1           {v0.s}[1], [x8]
2237  .long  0x8b2f4948                          // add           x8, x10, w15, uxtw #2
2238  .long  0x0d409101                          // ld1           {v1.s}[1], [x8]
2239  .long  0x8b2c4968                          // add           x8, x11, w12, uxtw #2
2240  .long  0x0d409102                          // ld1           {v2.s}[1], [x8]
2241  .long  0x6e140600                          // mov           v0.s[2], v16.s[0]
2242  .long  0xbc6d5950                          // ldr           s16, [x10, w13, uxtw #2]
2243  .long  0x6e140461                          // mov           v1.s[2], v3.s[0]
2244  .long  0xbc695963                          // ldr           s3, [x11, w9, uxtw #2]
2245  .long  0xf9400425                          // ldr           x5, [x1, #8]
2246  .long  0x91004028                          // add           x8, x1, #0x10
2247  .long  0x6e140642                          // mov           v2.s[2], v18.s[0]
2248  .long  0x6e1c0620                          // mov           v0.s[3], v17.s[0]
2249  .long  0x6e1c0601                          // mov           v1.s[3], v16.s[0]
2250  .long  0x6e1c0462                          // mov           v2.s[3], v3.s[0]
2251  .long  0x4f03f603                          // fmov          v3.4s, #1.000000000000000000e+00
2252  .long  0xaa0803e1                          // mov           x1, x8
2253  .long  0xd61f00a0                          // br            x5
2254  .long  0x0d406120                          // ld3           {v0.h-v2.h}[0], [x9]
2255  .long  0xf100049f                          // cmp           x4, #0x1
2256  .long  0x54fff9a0                          // b.eq          1d34 <sk_load_tables_rgb_u16_be_aarch64+0x18>  // b.none
2257  .long  0x9100192a                          // add           x10, x9, #0x6
2258  .long  0x0d406940                          // ld3           {v0.h-v2.h}[1], [x10]
2259  .long  0xf1000c9f                          // cmp           x4, #0x3
2260  .long  0x54fff923                          // b.cc          1d34 <sk_load_tables_rgb_u16_be_aarch64+0x18>  // b.lo, b.ul, b.last
2261  .long  0x91003129                          // add           x9, x9, #0xc
2262  .long  0x0d407120                          // ld3           {v0.h-v2.h}[2], [x9]
2263  .long  0x17ffffc6                          // b             1d34 <sk_load_tables_rgb_u16_be_aarch64+0x18>
2264
2265HIDDEN _sk_byte_tables_aarch64
2266.globl _sk_byte_tables_aarch64
2267FUNCTION(_sk_byte_tables_aarch64)
2268_sk_byte_tables_aarch64:
2269  .long  0xd100c3ff                          // sub           sp, sp, #0x30
2270  .long  0xaa0103e8                          // mov           x8, x1
2271  .long  0x91002109                          // add           x9, x8, #0x8
2272  .long  0xa90157f6                          // stp           x22, x21, [sp, #16]
2273  .long  0xa9024ff4                          // stp           x20, x19, [sp, #32]
2274  .long  0xf90007e9                          // str           x9, [sp, #8]
2275  .long  0xf8410429                          // ldr           x9, [x1], #16
2276  .long  0x52a86fea                          // mov           w10, #0x437f0000
2277  .long  0x4e040d51                          // dup           v17.4s, w10
2278  .long  0x52a7700b                          // mov           w11, #0x3b800000
2279  .long  0xa9405933                          // ldp           x19, x22, [x9]
2280  .long  0x6e31dc00                          // fmul          v0.4s, v0.4s, v17.4s
2281  .long  0x7290102b                          // movk          w11, #0x8081
2282  .long  0x6e21a800                          // fcvtnu        v0.4s, v0.4s
2283  .long  0x4e040d70                          // dup           v16.4s, w11
2284  .long  0x0e0c3c0a                          // mov           w10, v0.s[1]
2285  .long  0x0e143c0b                          // mov           w11, v0.s[2]
2286  .long  0x0e1c3c0c                          // mov           w12, v0.s[3]
2287  .long  0x1e26000d                          // fmov          w13, s0
2288  .long  0x386d4a6d                          // ldrb          w13, [x19, w13, uxtw]
2289  .long  0x386a4a6a                          // ldrb          w10, [x19, w10, uxtw]
2290  .long  0x386b4a6b                          // ldrb          w11, [x19, w11, uxtw]
2291  .long  0x386c4a6c                          // ldrb          w12, [x19, w12, uxtw]
2292  .long  0xa9412533                          // ldp           x19, x9, [x9, #16]
2293  .long  0x6e31dc42                          // fmul          v2.4s, v2.4s, v17.4s
2294  .long  0x6e31dc21                          // fmul          v1.4s, v1.4s, v17.4s
2295  .long  0x6e31dc63                          // fmul          v3.4s, v3.4s, v17.4s
2296  .long  0x6e21a842                          // fcvtnu        v2.4s, v2.4s
2297  .long  0x6e21a821                          // fcvtnu        v1.4s, v1.4s
2298  .long  0x6e21a863                          // fcvtnu        v3.4s, v3.4s
2299  .long  0x0e0c3c52                          // mov           w18, v2.s[1]
2300  .long  0x0e143c45                          // mov           w5, v2.s[2]
2301  .long  0x0e1c3c46                          // mov           w6, v2.s[3]
2302  .long  0x1e260047                          // fmov          w7, s2
2303  .long  0x1e260031                          // fmov          w17, s1
2304  .long  0x38674a67                          // ldrb          w7, [x19, w7, uxtw]
2305  .long  0x38724a72                          // ldrb          w18, [x19, w18, uxtw]
2306  .long  0x38654a65                          // ldrb          w5, [x19, w5, uxtw]
2307  .long  0x38664a66                          // ldrb          w6, [x19, w6, uxtw]
2308  .long  0x1e260073                          // fmov          w19, s3
2309  .long  0x0e0c3c2e                          // mov           w14, v1.s[1]
2310  .long  0x0e0c3c74                          // mov           w20, v3.s[1]
2311  .long  0x38714ad1                          // ldrb          w17, [x22, w17, uxtw]
2312  .long  0x38734933                          // ldrb          w19, [x9, w19, uxtw]
2313  .long  0x0e143c2f                          // mov           w15, v1.s[2]
2314  .long  0x0e1c3c30                          // mov           w16, v1.s[3]
2315  .long  0x0e143c75                          // mov           w21, v3.s[2]
2316  .long  0x386e4ace                          // ldrb          w14, [x22, w14, uxtw]
2317  .long  0x38744934                          // ldrb          w20, [x9, w20, uxtw]
2318  .long  0x386f4acf                          // ldrb          w15, [x22, w15, uxtw]
2319  .long  0x38704ad0                          // ldrb          w16, [x22, w16, uxtw]
2320  .long  0x0e1c3c76                          // mov           w22, v3.s[3]
2321  .long  0x38754935                          // ldrb          w21, [x9, w21, uxtw]
2322  .long  0x38764929                          // ldrb          w9, [x9, w22, uxtw]
2323  .long  0x4e021da0                          // mov           v0.h[0], w13
2324  .long  0x4e021e21                          // mov           v1.h[0], w17
2325  .long  0x4e021ce2                          // mov           v2.h[0], w7
2326  .long  0x4e021e63                          // mov           v3.h[0], w19
2327  .long  0x4e061d40                          // mov           v0.h[1], w10
2328  .long  0x4e061dc1                          // mov           v1.h[1], w14
2329  .long  0x4e061e42                          // mov           v2.h[1], w18
2330  .long  0x4e061e83                          // mov           v3.h[1], w20
2331  .long  0x4e0a1d60                          // mov           v0.h[2], w11
2332  .long  0x4e0a1de1                          // mov           v1.h[2], w15
2333  .long  0x4e0a1ca2                          // mov           v2.h[2], w5
2334  .long  0x4e0a1ea3                          // mov           v3.h[2], w21
2335  .long  0x4e0e1d80                          // mov           v0.h[3], w12
2336  .long  0x4e0e1e01                          // mov           v1.h[3], w16
2337  .long  0x4e0e1cc2                          // mov           v2.h[3], w6
2338  .long  0x4e0e1d23                          // mov           v3.h[3], w9
2339  .long  0xf9400507                          // ldr           x7, [x8, #8]
2340  .long  0x2f07b7e0                          // bic           v0.4h, #0xff, lsl #8
2341  .long  0x2f07b7e1                          // bic           v1.4h, #0xff, lsl #8
2342  .long  0x2f07b7e2                          // bic           v2.4h, #0xff, lsl #8
2343  .long  0x2f07b7e3                          // bic           v3.4h, #0xff, lsl #8
2344  .long  0xa9424ff4                          // ldp           x20, x19, [sp, #32]
2345  .long  0xa94157f6                          // ldp           x22, x21, [sp, #16]
2346  .long  0x2f10a400                          // uxtl          v0.4s, v0.4h
2347  .long  0x2f10a421                          // uxtl          v1.4s, v1.4h
2348  .long  0x2f10a442                          // uxtl          v2.4s, v2.4h
2349  .long  0x2f10a463                          // uxtl          v3.4s, v3.4h
2350  .long  0x6e21d800                          // ucvtf         v0.4s, v0.4s
2351  .long  0x6e21d821                          // ucvtf         v1.4s, v1.4s
2352  .long  0x6e21d842                          // ucvtf         v2.4s, v2.4s
2353  .long  0x6e21d863                          // ucvtf         v3.4s, v3.4s
2354  .long  0x6e30dc00                          // fmul          v0.4s, v0.4s, v16.4s
2355  .long  0x6e30dc21                          // fmul          v1.4s, v1.4s, v16.4s
2356  .long  0x6e30dc42                          // fmul          v2.4s, v2.4s, v16.4s
2357  .long  0x6e30dc63                          // fmul          v3.4s, v3.4s, v16.4s
2358  .long  0x9100c3ff                          // add           sp, sp, #0x30
2359  .long  0xd61f00e0                          // br            x7
2360
2361HIDDEN _sk_byte_tables_rgb_aarch64
2362.globl _sk_byte_tables_rgb_aarch64
2363FUNCTION(_sk_byte_tables_rgb_aarch64)
2364_sk_byte_tables_rgb_aarch64:
2365  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
2366  .long  0x52a77009                          // mov           w9, #0x3b800000
2367  .long  0x72901029                          // movk          w9, #0x8081
2368  .long  0x4e040d30                          // dup           v16.4s, w9
2369  .long  0xb9401909                          // ldr           w9, [x8, #24]
2370  .long  0xa9402d0a                          // ldp           x10, x11, [x8]
2371  .long  0xf9400908                          // ldr           x8, [x8, #16]
2372  .long  0x51000529                          // sub           w9, w9, #0x1
2373  .long  0x4e040d31                          // dup           v17.4s, w9
2374  .long  0x4e21da31                          // scvtf         v17.4s, v17.4s
2375  .long  0x6e21de21                          // fmul          v1.4s, v17.4s, v1.4s
2376  .long  0x6e20de20                          // fmul          v0.4s, v17.4s, v0.4s
2377  .long  0x6e22de22                          // fmul          v2.4s, v17.4s, v2.4s
2378  .long  0x6e21a821                          // fcvtnu        v1.4s, v1.4s
2379  .long  0x6e21a800                          // fcvtnu        v0.4s, v0.4s
2380  .long  0x6e21a842                          // fcvtnu        v2.4s, v2.4s
2381  .long  0x0e0c3c2f                          // mov           w15, v1.s[1]
2382  .long  0x0e143c30                          // mov           w16, v1.s[2]
2383  .long  0x0e1c3c31                          // mov           w17, v1.s[3]
2384  .long  0x1e260032                          // fmov          w18, s1
2385  .long  0x1e26000e                          // fmov          w14, s0
2386  .long  0x38724972                          // ldrb          w18, [x11, w18, uxtw]
2387  .long  0x386f496f                          // ldrb          w15, [x11, w15, uxtw]
2388  .long  0x38704970                          // ldrb          w16, [x11, w16, uxtw]
2389  .long  0x3871496b                          // ldrb          w11, [x11, w17, uxtw]
2390  .long  0x1e260051                          // fmov          w17, s2
2391  .long  0x0e0c3c09                          // mov           w9, v0.s[1]
2392  .long  0x386e494e                          // ldrb          w14, [x10, w14, uxtw]
2393  .long  0x0e0c3c46                          // mov           w6, v2.s[1]
2394  .long  0x38714911                          // ldrb          w17, [x8, w17, uxtw]
2395  .long  0x0e143c0c                          // mov           w12, v0.s[2]
2396  .long  0x0e1c3c0d                          // mov           w13, v0.s[3]
2397  .long  0x0e143c47                          // mov           w7, v2.s[2]
2398  .long  0x38694949                          // ldrb          w9, [x10, w9, uxtw]
2399  .long  0x38664906                          // ldrb          w6, [x8, w6, uxtw]
2400  .long  0x386c494c                          // ldrb          w12, [x10, w12, uxtw]
2401  .long  0x386d494a                          // ldrb          w10, [x10, w13, uxtw]
2402  .long  0x0e1c3c4d                          // mov           w13, v2.s[3]
2403  .long  0x38674907                          // ldrb          w7, [x8, w7, uxtw]
2404  .long  0x386d4908                          // ldrb          w8, [x8, w13, uxtw]
2405  .long  0x4e021dc0                          // mov           v0.h[0], w14
2406  .long  0x4e021e41                          // mov           v1.h[0], w18
2407  .long  0x4e021e22                          // mov           v2.h[0], w17
2408  .long  0x4e061d20                          // mov           v0.h[1], w9
2409  .long  0x4e061de1                          // mov           v1.h[1], w15
2410  .long  0x4e061cc2                          // mov           v2.h[1], w6
2411  .long  0x4e0a1d80                          // mov           v0.h[2], w12
2412  .long  0x4e0a1e01                          // mov           v1.h[2], w16
2413  .long  0x4e0a1ce2                          // mov           v2.h[2], w7
2414  .long  0x4e0e1d40                          // mov           v0.h[3], w10
2415  .long  0x4e0e1d61                          // mov           v1.h[3], w11
2416  .long  0x4e0e1d02                          // mov           v2.h[3], w8
2417  .long  0x2f07b7e0                          // bic           v0.4h, #0xff, lsl #8
2418  .long  0x2f07b7e1                          // bic           v1.4h, #0xff, lsl #8
2419  .long  0x2f07b7e2                          // bic           v2.4h, #0xff, lsl #8
2420  .long  0x2f10a400                          // uxtl          v0.4s, v0.4h
2421  .long  0x2f10a421                          // uxtl          v1.4s, v1.4h
2422  .long  0x2f10a442                          // uxtl          v2.4s, v2.4h
2423  .long  0x6e21d800                          // ucvtf         v0.4s, v0.4s
2424  .long  0x6e21d821                          // ucvtf         v1.4s, v1.4s
2425  .long  0x6e21d842                          // ucvtf         v2.4s, v2.4s
2426  .long  0x6e30dc00                          // fmul          v0.4s, v0.4s, v16.4s
2427  .long  0x6e30dc21                          // fmul          v1.4s, v1.4s, v16.4s
2428  .long  0x6e30dc42                          // fmul          v2.4s, v2.4s, v16.4s
2429  .long  0xd61f00a0                          // br            x5
2430
2431HIDDEN _sk_table_r_aarch64
2432.globl _sk_table_r_aarch64
2433FUNCTION(_sk_table_r_aarch64)
2434_sk_table_r_aarch64:
2435  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
2436  .long  0xb9400909                          // ldr           w9, [x8, #8]
2437  .long  0xf9400108                          // ldr           x8, [x8]
2438  .long  0x51000529                          // sub           w9, w9, #0x1
2439  .long  0x4e040d30                          // dup           v16.4s, w9
2440  .long  0x4e21da10                          // scvtf         v16.4s, v16.4s
2441  .long  0x6e20de00                          // fmul          v0.4s, v16.4s, v0.4s
2442  .long  0x6e21a810                          // fcvtnu        v16.4s, v0.4s
2443  .long  0x1e26020b                          // fmov          w11, s16
2444  .long  0x8b2b490b                          // add           x11, x8, w11, uxtw #2
2445  .long  0x0d408160                          // ld1           {v0.s}[0], [x11]
2446  .long  0x0e0c3e09                          // mov           w9, v16.s[1]
2447  .long  0x0e143e0a                          // mov           w10, v16.s[2]
2448  .long  0x8b294909                          // add           x9, x8, w9, uxtw #2
2449  .long  0x0e1c3e0b                          // mov           w11, v16.s[3]
2450  .long  0xbc6a5910                          // ldr           s16, [x8, w10, uxtw #2]
2451  .long  0x0d409120                          // ld1           {v0.s}[1], [x9]
2452  .long  0xbc6b5911                          // ldr           s17, [x8, w11, uxtw #2]
2453  .long  0x6e140600                          // mov           v0.s[2], v16.s[0]
2454  .long  0x6e1c0620                          // mov           v0.s[3], v17.s[0]
2455  .long  0xd61f00a0                          // br            x5
2456
2457HIDDEN _sk_table_g_aarch64
2458.globl _sk_table_g_aarch64
2459FUNCTION(_sk_table_g_aarch64)
2460_sk_table_g_aarch64:
2461  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
2462  .long  0xb9400909                          // ldr           w9, [x8, #8]
2463  .long  0xf9400108                          // ldr           x8, [x8]
2464  .long  0x51000529                          // sub           w9, w9, #0x1
2465  .long  0x4e040d30                          // dup           v16.4s, w9
2466  .long  0x4e21da10                          // scvtf         v16.4s, v16.4s
2467  .long  0x6e21de01                          // fmul          v1.4s, v16.4s, v1.4s
2468  .long  0x6e21a830                          // fcvtnu        v16.4s, v1.4s
2469  .long  0x1e26020b                          // fmov          w11, s16
2470  .long  0x8b2b490b                          // add           x11, x8, w11, uxtw #2
2471  .long  0x0d408161                          // ld1           {v1.s}[0], [x11]
2472  .long  0x0e0c3e09                          // mov           w9, v16.s[1]
2473  .long  0x0e143e0a                          // mov           w10, v16.s[2]
2474  .long  0x8b294909                          // add           x9, x8, w9, uxtw #2
2475  .long  0x0e1c3e0b                          // mov           w11, v16.s[3]
2476  .long  0xbc6a5910                          // ldr           s16, [x8, w10, uxtw #2]
2477  .long  0x0d409121                          // ld1           {v1.s}[1], [x9]
2478  .long  0xbc6b5911                          // ldr           s17, [x8, w11, uxtw #2]
2479  .long  0x6e140601                          // mov           v1.s[2], v16.s[0]
2480  .long  0x6e1c0621                          // mov           v1.s[3], v17.s[0]
2481  .long  0xd61f00a0                          // br            x5
2482
2483HIDDEN _sk_table_b_aarch64
2484.globl _sk_table_b_aarch64
2485FUNCTION(_sk_table_b_aarch64)
2486_sk_table_b_aarch64:
2487  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
2488  .long  0xb9400909                          // ldr           w9, [x8, #8]
2489  .long  0xf9400108                          // ldr           x8, [x8]
2490  .long  0x51000529                          // sub           w9, w9, #0x1
2491  .long  0x4e040d30                          // dup           v16.4s, w9
2492  .long  0x4e21da10                          // scvtf         v16.4s, v16.4s
2493  .long  0x6e22de02                          // fmul          v2.4s, v16.4s, v2.4s
2494  .long  0x6e21a850                          // fcvtnu        v16.4s, v2.4s
2495  .long  0x1e26020b                          // fmov          w11, s16
2496  .long  0x8b2b490b                          // add           x11, x8, w11, uxtw #2
2497  .long  0x0d408162                          // ld1           {v2.s}[0], [x11]
2498  .long  0x0e0c3e09                          // mov           w9, v16.s[1]
2499  .long  0x0e143e0a                          // mov           w10, v16.s[2]
2500  .long  0x8b294909                          // add           x9, x8, w9, uxtw #2
2501  .long  0x0e1c3e0b                          // mov           w11, v16.s[3]
2502  .long  0xbc6a5910                          // ldr           s16, [x8, w10, uxtw #2]
2503  .long  0x0d409122                          // ld1           {v2.s}[1], [x9]
2504  .long  0xbc6b5911                          // ldr           s17, [x8, w11, uxtw #2]
2505  .long  0x6e140602                          // mov           v2.s[2], v16.s[0]
2506  .long  0x6e1c0622                          // mov           v2.s[3], v17.s[0]
2507  .long  0xd61f00a0                          // br            x5
2508
2509HIDDEN _sk_table_a_aarch64
2510.globl _sk_table_a_aarch64
2511FUNCTION(_sk_table_a_aarch64)
2512_sk_table_a_aarch64:
2513  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
2514  .long  0xb9400909                          // ldr           w9, [x8, #8]
2515  .long  0xf9400108                          // ldr           x8, [x8]
2516  .long  0x51000529                          // sub           w9, w9, #0x1
2517  .long  0x4e040d30                          // dup           v16.4s, w9
2518  .long  0x4e21da10                          // scvtf         v16.4s, v16.4s
2519  .long  0x6e23de03                          // fmul          v3.4s, v16.4s, v3.4s
2520  .long  0x6e21a870                          // fcvtnu        v16.4s, v3.4s
2521  .long  0x1e26020b                          // fmov          w11, s16
2522  .long  0x8b2b490b                          // add           x11, x8, w11, uxtw #2
2523  .long  0x0d408163                          // ld1           {v3.s}[0], [x11]
2524  .long  0x0e0c3e09                          // mov           w9, v16.s[1]
2525  .long  0x0e143e0a                          // mov           w10, v16.s[2]
2526  .long  0x8b294909                          // add           x9, x8, w9, uxtw #2
2527  .long  0x0e1c3e0b                          // mov           w11, v16.s[3]
2528  .long  0xbc6a5910                          // ldr           s16, [x8, w10, uxtw #2]
2529  .long  0x0d409123                          // ld1           {v3.s}[1], [x9]
2530  .long  0xbc6b5911                          // ldr           s17, [x8, w11, uxtw #2]
2531  .long  0x6e140603                          // mov           v3.s[2], v16.s[0]
2532  .long  0x6e1c0623                          // mov           v3.s[3], v17.s[0]
2533  .long  0xd61f00a0                          // br            x5
2534
2535HIDDEN _sk_parametric_r_aarch64
2536.globl _sk_parametric_r_aarch64
2537FUNCTION(_sk_parametric_r_aarch64)
2538_sk_parametric_r_aarch64:
2539  .long  0xf9400028                          // ldr           x8, [x1]
2540  .long  0x4f016696                          // movi          v22.4s, #0x34, lsl #24
2541  .long  0x91004109                          // add           x9, x8, #0x10
2542  .long  0x9100610a                          // add           x10, x8, #0x18
2543  .long  0x4d40c932                          // ld1r          {v18.4s}, [x9]
2544  .long  0xaa0803e9                          // mov           x9, x8
2545  .long  0xbd400d11                          // ldr           s17, [x8, #12]
2546  .long  0x4d40c950                          // ld1r          {v16.4s}, [x10]
2547  .long  0x4ddfc933                          // ld1r          {v19.4s}, [x9], #4
2548  .long  0x9100210a                          // add           x10, x8, #0x8
2549  .long  0x4d40c954                          // ld1r          {v20.4s}, [x10]
2550  .long  0x4f911010                          // fmla          v16.4s, v0.4s, v17.s[0]
2551  .long  0xbd400135                          // ldr           s21, [x9]
2552  .long  0x52b85f09                          // mov           w9, #0xc2f80000
2553  .long  0x728e6ee9                          // movk          w9, #0x7377
2554  .long  0x4e040d37                          // dup           v23.4s, w9
2555  .long  0x52a7f7e9                          // mov           w9, #0x3fbf0000
2556  .long  0x7297eea9                          // movk          w9, #0xbf75
2557  .long  0x4f951014                          // fmla          v20.4s, v0.4s, v21.s[0]
2558  .long  0x6e20e640                          // fcmge         v0.4s, v18.4s, v0.4s
2559  .long  0x4e040d32                          // dup           v18.4s, w9
2560  .long  0x52a7d689                          // mov           w9, #0x3eb40000
2561  .long  0x4f03d7f1                          // movi          v17.4s, #0x7f, msl #16
2562  .long  0x72889f29                          // movk          w9, #0x44f9
2563  .long  0x4e21da95                          // scvtf         v21.4s, v20.4s
2564  .long  0x4e311e91                          // and           v17.16b, v20.16b, v17.16b
2565  .long  0x4e040d34                          // dup           v20.4s, w9
2566  .long  0x52a7fb89                          // mov           w9, #0x3fdc0000
2567  .long  0x4e35ced7                          // fmla          v23.4s, v22.4s, v21.4s
2568  .long  0x729d3469                          // movk          w9, #0xe9a3
2569  .long  0x4f0177f1                          // orr           v17.4s, #0x3f, lsl #24
2570  .long  0x4eb2ce37                          // fmls          v23.4s, v17.4s, v18.4s
2571  .long  0x4e040d32                          // dup           v18.4s, w9
2572  .long  0x52a85e49                          // mov           w9, #0x42f20000
2573  .long  0x72918a29                          // movk          w9, #0x8c51
2574  .long  0x4e34d631                          // fadd          v17.4s, v17.4s, v20.4s
2575  .long  0x4e040d34                          // dup           v20.4s, w9
2576  .long  0x52a7f7c9                          // mov           w9, #0x3fbe0000
2577  .long  0x729791a9                          // movk          w9, #0xbc8d
2578  .long  0x6e31fe51                          // fdiv          v17.4s, v18.4s, v17.4s
2579  .long  0x4e040d32                          // dup           v18.4s, w9
2580  .long  0x52a81349                          // mov           w9, #0x409a0000
2581  .long  0x4eb1d6f1                          // fsub          v17.4s, v23.4s, v17.4s
2582  .long  0x729ebf09                          // movk          w9, #0xf5f8
2583  .long  0x6e31de71                          // fmul          v17.4s, v19.4s, v17.4s
2584  .long  0x4e040d35                          // dup           v21.4s, w9
2585  .long  0x52a83ba9                          // mov           w9, #0x41dd0000
2586  .long  0x4e219a33                          // frintm        v19.4s, v17.4s
2587  .long  0x729a5fc9                          // movk          w9, #0xd2fe
2588  .long  0x4e34d634                          // fadd          v20.4s, v17.4s, v20.4s
2589  .long  0x4eb3d631                          // fsub          v17.4s, v17.4s, v19.4s
2590  .long  0x4eb2ce34                          // fmls          v20.4s, v17.4s, v18.4s
2591  .long  0x4eb1d6b1                          // fsub          v17.4s, v21.4s, v17.4s
2592  .long  0x4e040d35                          // dup           v21.4s, w9
2593  .long  0x91005108                          // add           x8, x8, #0x14
2594  .long  0x6e31feb1                          // fdiv          v17.4s, v21.4s, v17.4s
2595  .long  0x4e31d691                          // fadd          v17.4s, v20.4s, v17.4s
2596  .long  0x4d40c914                          // ld1r          {v20.4s}, [x8]
2597  .long  0x4f026573                          // movi          v19.4s, #0x4b, lsl #24
2598  .long  0x6e33de31                          // fmul          v17.4s, v17.4s, v19.4s
2599  .long  0x6e21aa31                          // fcvtnu        v17.4s, v17.4s
2600  .long  0xf9400425                          // ldr           x5, [x1, #8]
2601  .long  0x4e34d631                          // fadd          v17.4s, v17.4s, v20.4s
2602  .long  0x6f00e412                          // movi          v18.2d, #0x0
2603  .long  0x6e711e00                          // bsl           v0.16b, v16.16b, v17.16b
2604  .long  0x4f03f615                          // fmov          v21.4s, #1.000000000000000000e+00
2605  .long  0x4e32f400                          // fmax          v0.4s, v0.4s, v18.4s
2606  .long  0x4eb5f400                          // fmin          v0.4s, v0.4s, v21.4s
2607  .long  0x91004021                          // add           x1, x1, #0x10
2608  .long  0xd61f00a0                          // br            x5
2609
2610HIDDEN _sk_parametric_g_aarch64
2611.globl _sk_parametric_g_aarch64
2612FUNCTION(_sk_parametric_g_aarch64)
2613_sk_parametric_g_aarch64:
2614  .long  0xf9400028                          // ldr           x8, [x1]
2615  .long  0x4f016696                          // movi          v22.4s, #0x34, lsl #24
2616  .long  0x91004109                          // add           x9, x8, #0x10
2617  .long  0x9100610a                          // add           x10, x8, #0x18
2618  .long  0x4d40c932                          // ld1r          {v18.4s}, [x9]
2619  .long  0xaa0803e9                          // mov           x9, x8
2620  .long  0xbd400d11                          // ldr           s17, [x8, #12]
2621  .long  0x4d40c950                          // ld1r          {v16.4s}, [x10]
2622  .long  0x4ddfc933                          // ld1r          {v19.4s}, [x9], #4
2623  .long  0x9100210a                          // add           x10, x8, #0x8
2624  .long  0x4d40c954                          // ld1r          {v20.4s}, [x10]
2625  .long  0x4f911030                          // fmla          v16.4s, v1.4s, v17.s[0]
2626  .long  0xbd400135                          // ldr           s21, [x9]
2627  .long  0x52b85f09                          // mov           w9, #0xc2f80000
2628  .long  0x728e6ee9                          // movk          w9, #0x7377
2629  .long  0x4e040d37                          // dup           v23.4s, w9
2630  .long  0x52a7f7e9                          // mov           w9, #0x3fbf0000
2631  .long  0x7297eea9                          // movk          w9, #0xbf75
2632  .long  0x4f951034                          // fmla          v20.4s, v1.4s, v21.s[0]
2633  .long  0x6e21e641                          // fcmge         v1.4s, v18.4s, v1.4s
2634  .long  0x4e040d32                          // dup           v18.4s, w9
2635  .long  0x52a7d689                          // mov           w9, #0x3eb40000
2636  .long  0x4f03d7f1                          // movi          v17.4s, #0x7f, msl #16
2637  .long  0x72889f29                          // movk          w9, #0x44f9
2638  .long  0x4e21da95                          // scvtf         v21.4s, v20.4s
2639  .long  0x4e311e91                          // and           v17.16b, v20.16b, v17.16b
2640  .long  0x4e040d34                          // dup           v20.4s, w9
2641  .long  0x52a7fb89                          // mov           w9, #0x3fdc0000
2642  .long  0x4e35ced7                          // fmla          v23.4s, v22.4s, v21.4s
2643  .long  0x729d3469                          // movk          w9, #0xe9a3
2644  .long  0x4f0177f1                          // orr           v17.4s, #0x3f, lsl #24
2645  .long  0x4eb2ce37                          // fmls          v23.4s, v17.4s, v18.4s
2646  .long  0x4e040d32                          // dup           v18.4s, w9
2647  .long  0x52a85e49                          // mov           w9, #0x42f20000
2648  .long  0x72918a29                          // movk          w9, #0x8c51
2649  .long  0x4e34d631                          // fadd          v17.4s, v17.4s, v20.4s
2650  .long  0x4e040d34                          // dup           v20.4s, w9
2651  .long  0x52a7f7c9                          // mov           w9, #0x3fbe0000
2652  .long  0x729791a9                          // movk          w9, #0xbc8d
2653  .long  0x6e31fe51                          // fdiv          v17.4s, v18.4s, v17.4s
2654  .long  0x4e040d32                          // dup           v18.4s, w9
2655  .long  0x52a81349                          // mov           w9, #0x409a0000
2656  .long  0x4eb1d6f1                          // fsub          v17.4s, v23.4s, v17.4s
2657  .long  0x729ebf09                          // movk          w9, #0xf5f8
2658  .long  0x6e31de71                          // fmul          v17.4s, v19.4s, v17.4s
2659  .long  0x4e040d35                          // dup           v21.4s, w9
2660  .long  0x52a83ba9                          // mov           w9, #0x41dd0000
2661  .long  0x4e219a33                          // frintm        v19.4s, v17.4s
2662  .long  0x729a5fc9                          // movk          w9, #0xd2fe
2663  .long  0x4e34d634                          // fadd          v20.4s, v17.4s, v20.4s
2664  .long  0x4eb3d631                          // fsub          v17.4s, v17.4s, v19.4s
2665  .long  0x4eb2ce34                          // fmls          v20.4s, v17.4s, v18.4s
2666  .long  0x4eb1d6b1                          // fsub          v17.4s, v21.4s, v17.4s
2667  .long  0x4e040d35                          // dup           v21.4s, w9
2668  .long  0x91005108                          // add           x8, x8, #0x14
2669  .long  0x6e31feb1                          // fdiv          v17.4s, v21.4s, v17.4s
2670  .long  0x4e31d691                          // fadd          v17.4s, v20.4s, v17.4s
2671  .long  0x4d40c914                          // ld1r          {v20.4s}, [x8]
2672  .long  0x4f026573                          // movi          v19.4s, #0x4b, lsl #24
2673  .long  0x6e33de31                          // fmul          v17.4s, v17.4s, v19.4s
2674  .long  0x6e21aa31                          // fcvtnu        v17.4s, v17.4s
2675  .long  0xf9400425                          // ldr           x5, [x1, #8]
2676  .long  0x4e34d631                          // fadd          v17.4s, v17.4s, v20.4s
2677  .long  0x6f00e412                          // movi          v18.2d, #0x0
2678  .long  0x6e711e01                          // bsl           v1.16b, v16.16b, v17.16b
2679  .long  0x4f03f615                          // fmov          v21.4s, #1.000000000000000000e+00
2680  .long  0x4e32f421                          // fmax          v1.4s, v1.4s, v18.4s
2681  .long  0x4eb5f421                          // fmin          v1.4s, v1.4s, v21.4s
2682  .long  0x91004021                          // add           x1, x1, #0x10
2683  .long  0xd61f00a0                          // br            x5
2684
2685HIDDEN _sk_parametric_b_aarch64
2686.globl _sk_parametric_b_aarch64
2687FUNCTION(_sk_parametric_b_aarch64)
2688_sk_parametric_b_aarch64:
2689  .long  0xf9400028                          // ldr           x8, [x1]
2690  .long  0x4f016696                          // movi          v22.4s, #0x34, lsl #24
2691  .long  0x91004109                          // add           x9, x8, #0x10
2692  .long  0x9100610a                          // add           x10, x8, #0x18
2693  .long  0x4d40c932                          // ld1r          {v18.4s}, [x9]
2694  .long  0xaa0803e9                          // mov           x9, x8
2695  .long  0xbd400d11                          // ldr           s17, [x8, #12]
2696  .long  0x4d40c950                          // ld1r          {v16.4s}, [x10]
2697  .long  0x4ddfc933                          // ld1r          {v19.4s}, [x9], #4
2698  .long  0x9100210a                          // add           x10, x8, #0x8
2699  .long  0x4d40c954                          // ld1r          {v20.4s}, [x10]
2700  .long  0x4f911050                          // fmla          v16.4s, v2.4s, v17.s[0]
2701  .long  0xbd400135                          // ldr           s21, [x9]
2702  .long  0x52b85f09                          // mov           w9, #0xc2f80000
2703  .long  0x728e6ee9                          // movk          w9, #0x7377
2704  .long  0x4e040d37                          // dup           v23.4s, w9
2705  .long  0x52a7f7e9                          // mov           w9, #0x3fbf0000
2706  .long  0x7297eea9                          // movk          w9, #0xbf75
2707  .long  0x4f951054                          // fmla          v20.4s, v2.4s, v21.s[0]
2708  .long  0x6e22e642                          // fcmge         v2.4s, v18.4s, v2.4s
2709  .long  0x4e040d32                          // dup           v18.4s, w9
2710  .long  0x52a7d689                          // mov           w9, #0x3eb40000
2711  .long  0x4f03d7f1                          // movi          v17.4s, #0x7f, msl #16
2712  .long  0x72889f29                          // movk          w9, #0x44f9
2713  .long  0x4e21da95                          // scvtf         v21.4s, v20.4s
2714  .long  0x4e311e91                          // and           v17.16b, v20.16b, v17.16b
2715  .long  0x4e040d34                          // dup           v20.4s, w9
2716  .long  0x52a7fb89                          // mov           w9, #0x3fdc0000
2717  .long  0x4e35ced7                          // fmla          v23.4s, v22.4s, v21.4s
2718  .long  0x729d3469                          // movk          w9, #0xe9a3
2719  .long  0x4f0177f1                          // orr           v17.4s, #0x3f, lsl #24
2720  .long  0x4eb2ce37                          // fmls          v23.4s, v17.4s, v18.4s
2721  .long  0x4e040d32                          // dup           v18.4s, w9
2722  .long  0x52a85e49                          // mov           w9, #0x42f20000
2723  .long  0x72918a29                          // movk          w9, #0x8c51
2724  .long  0x4e34d631                          // fadd          v17.4s, v17.4s, v20.4s
2725  .long  0x4e040d34                          // dup           v20.4s, w9
2726  .long  0x52a7f7c9                          // mov           w9, #0x3fbe0000
2727  .long  0x729791a9                          // movk          w9, #0xbc8d
2728  .long  0x6e31fe51                          // fdiv          v17.4s, v18.4s, v17.4s
2729  .long  0x4e040d32                          // dup           v18.4s, w9
2730  .long  0x52a81349                          // mov           w9, #0x409a0000
2731  .long  0x4eb1d6f1                          // fsub          v17.4s, v23.4s, v17.4s
2732  .long  0x729ebf09                          // movk          w9, #0xf5f8
2733  .long  0x6e31de71                          // fmul          v17.4s, v19.4s, v17.4s
2734  .long  0x4e040d35                          // dup           v21.4s, w9
2735  .long  0x52a83ba9                          // mov           w9, #0x41dd0000
2736  .long  0x4e219a33                          // frintm        v19.4s, v17.4s
2737  .long  0x729a5fc9                          // movk          w9, #0xd2fe
2738  .long  0x4e34d634                          // fadd          v20.4s, v17.4s, v20.4s
2739  .long  0x4eb3d631                          // fsub          v17.4s, v17.4s, v19.4s
2740  .long  0x4eb2ce34                          // fmls          v20.4s, v17.4s, v18.4s
2741  .long  0x4eb1d6b1                          // fsub          v17.4s, v21.4s, v17.4s
2742  .long  0x4e040d35                          // dup           v21.4s, w9
2743  .long  0x91005108                          // add           x8, x8, #0x14
2744  .long  0x6e31feb1                          // fdiv          v17.4s, v21.4s, v17.4s
2745  .long  0x4e31d691                          // fadd          v17.4s, v20.4s, v17.4s
2746  .long  0x4d40c914                          // ld1r          {v20.4s}, [x8]
2747  .long  0x4f026573                          // movi          v19.4s, #0x4b, lsl #24
2748  .long  0x6e33de31                          // fmul          v17.4s, v17.4s, v19.4s
2749  .long  0x6e21aa31                          // fcvtnu        v17.4s, v17.4s
2750  .long  0xf9400425                          // ldr           x5, [x1, #8]
2751  .long  0x4e34d631                          // fadd          v17.4s, v17.4s, v20.4s
2752  .long  0x6f00e412                          // movi          v18.2d, #0x0
2753  .long  0x6e711e02                          // bsl           v2.16b, v16.16b, v17.16b
2754  .long  0x4f03f615                          // fmov          v21.4s, #1.000000000000000000e+00
2755  .long  0x4e32f442                          // fmax          v2.4s, v2.4s, v18.4s
2756  .long  0x4eb5f442                          // fmin          v2.4s, v2.4s, v21.4s
2757  .long  0x91004021                          // add           x1, x1, #0x10
2758  .long  0xd61f00a0                          // br            x5
2759
2760HIDDEN _sk_parametric_a_aarch64
2761.globl _sk_parametric_a_aarch64
2762FUNCTION(_sk_parametric_a_aarch64)
2763_sk_parametric_a_aarch64:
2764  .long  0xf9400028                          // ldr           x8, [x1]
2765  .long  0x4f016696                          // movi          v22.4s, #0x34, lsl #24
2766  .long  0x91004109                          // add           x9, x8, #0x10
2767  .long  0x9100610a                          // add           x10, x8, #0x18
2768  .long  0x4d40c932                          // ld1r          {v18.4s}, [x9]
2769  .long  0xaa0803e9                          // mov           x9, x8
2770  .long  0xbd400d11                          // ldr           s17, [x8, #12]
2771  .long  0x4d40c950                          // ld1r          {v16.4s}, [x10]
2772  .long  0x4ddfc933                          // ld1r          {v19.4s}, [x9], #4
2773  .long  0x9100210a                          // add           x10, x8, #0x8
2774  .long  0x4d40c954                          // ld1r          {v20.4s}, [x10]
2775  .long  0x4f911070                          // fmla          v16.4s, v3.4s, v17.s[0]
2776  .long  0xbd400135                          // ldr           s21, [x9]
2777  .long  0x52b85f09                          // mov           w9, #0xc2f80000
2778  .long  0x728e6ee9                          // movk          w9, #0x7377
2779  .long  0x4e040d37                          // dup           v23.4s, w9
2780  .long  0x52a7f7e9                          // mov           w9, #0x3fbf0000
2781  .long  0x7297eea9                          // movk          w9, #0xbf75
2782  .long  0x4f951074                          // fmla          v20.4s, v3.4s, v21.s[0]
2783  .long  0x6e23e643                          // fcmge         v3.4s, v18.4s, v3.4s
2784  .long  0x4e040d32                          // dup           v18.4s, w9
2785  .long  0x52a7d689                          // mov           w9, #0x3eb40000
2786  .long  0x4f03d7f1                          // movi          v17.4s, #0x7f, msl #16
2787  .long  0x72889f29                          // movk          w9, #0x44f9
2788  .long  0x4e21da95                          // scvtf         v21.4s, v20.4s
2789  .long  0x4e311e91                          // and           v17.16b, v20.16b, v17.16b
2790  .long  0x4e040d34                          // dup           v20.4s, w9
2791  .long  0x52a7fb89                          // mov           w9, #0x3fdc0000
2792  .long  0x4e35ced7                          // fmla          v23.4s, v22.4s, v21.4s
2793  .long  0x729d3469                          // movk          w9, #0xe9a3
2794  .long  0x4f0177f1                          // orr           v17.4s, #0x3f, lsl #24
2795  .long  0x4eb2ce37                          // fmls          v23.4s, v17.4s, v18.4s
2796  .long  0x4e040d32                          // dup           v18.4s, w9
2797  .long  0x52a85e49                          // mov           w9, #0x42f20000
2798  .long  0x72918a29                          // movk          w9, #0x8c51
2799  .long  0x4e34d631                          // fadd          v17.4s, v17.4s, v20.4s
2800  .long  0x4e040d34                          // dup           v20.4s, w9
2801  .long  0x52a7f7c9                          // mov           w9, #0x3fbe0000
2802  .long  0x729791a9                          // movk          w9, #0xbc8d
2803  .long  0x6e31fe51                          // fdiv          v17.4s, v18.4s, v17.4s
2804  .long  0x4e040d32                          // dup           v18.4s, w9
2805  .long  0x52a81349                          // mov           w9, #0x409a0000
2806  .long  0x4eb1d6f1                          // fsub          v17.4s, v23.4s, v17.4s
2807  .long  0x729ebf09                          // movk          w9, #0xf5f8
2808  .long  0x6e31de71                          // fmul          v17.4s, v19.4s, v17.4s
2809  .long  0x4e040d35                          // dup           v21.4s, w9
2810  .long  0x52a83ba9                          // mov           w9, #0x41dd0000
2811  .long  0x4e219a33                          // frintm        v19.4s, v17.4s
2812  .long  0x729a5fc9                          // movk          w9, #0xd2fe
2813  .long  0x4e34d634                          // fadd          v20.4s, v17.4s, v20.4s
2814  .long  0x4eb3d631                          // fsub          v17.4s, v17.4s, v19.4s
2815  .long  0x4eb2ce34                          // fmls          v20.4s, v17.4s, v18.4s
2816  .long  0x4eb1d6b1                          // fsub          v17.4s, v21.4s, v17.4s
2817  .long  0x4e040d35                          // dup           v21.4s, w9
2818  .long  0x91005108                          // add           x8, x8, #0x14
2819  .long  0x6e31feb1                          // fdiv          v17.4s, v21.4s, v17.4s
2820  .long  0x4e31d691                          // fadd          v17.4s, v20.4s, v17.4s
2821  .long  0x4d40c914                          // ld1r          {v20.4s}, [x8]
2822  .long  0x4f026573                          // movi          v19.4s, #0x4b, lsl #24
2823  .long  0x6e33de31                          // fmul          v17.4s, v17.4s, v19.4s
2824  .long  0x6e21aa31                          // fcvtnu        v17.4s, v17.4s
2825  .long  0xf9400425                          // ldr           x5, [x1, #8]
2826  .long  0x4e34d631                          // fadd          v17.4s, v17.4s, v20.4s
2827  .long  0x6f00e412                          // movi          v18.2d, #0x0
2828  .long  0x6e711e03                          // bsl           v3.16b, v16.16b, v17.16b
2829  .long  0x4f03f615                          // fmov          v21.4s, #1.000000000000000000e+00
2830  .long  0x4e32f463                          // fmax          v3.4s, v3.4s, v18.4s
2831  .long  0x4eb5f463                          // fmin          v3.4s, v3.4s, v21.4s
2832  .long  0x91004021                          // add           x1, x1, #0x10
2833  .long  0xd61f00a0                          // br            x5
2834
2835HIDDEN _sk_lab_to_xyz_aarch64
2836.globl _sk_lab_to_xyz_aarch64
2837FUNCTION(_sk_lab_to_xyz_aarch64)
2838_sk_lab_to_xyz_aarch64:
2839  .long  0x52a85908                          // mov           w8, #0x42c80000
2840  .long  0x4e040d10                          // dup           v16.4s, w8
2841  .long  0x52a86fe8                          // mov           w8, #0x437f0000
2842  .long  0x4f066471                          // movi          v17.4s, #0xc3, lsl #24
2843  .long  0x4e040d13                          // dup           v19.4s, w8
2844  .long  0x52a781a8                          // mov           w8, #0x3c0d0000
2845  .long  0x7287b968                          // movk          w8, #0x3dcb
2846  .long  0x4eb11e34                          // mov           v20.16b, v17.16b
2847  .long  0x4e21ce74                          // fmla          v20.4s, v19.4s, v1.4s
2848  .long  0x4e040d01                          // dup           v1.4s, w8
2849  .long  0x52a76068                          // mov           w8, #0x3b030000
2850  .long  0x72824de8                          // movk          w8, #0x126f
2851  .long  0x4e22ce71                          // fmla          v17.4s, v19.4s, v2.4s
2852  .long  0x4e040d02                          // dup           v2.4s, w8
2853  .long  0x52a77468                          // mov           w8, #0x3ba30000
2854  .long  0x729ae148                          // movk          w8, #0xd70a
2855  .long  0x4e040d13                          // dup           v19.4s, w8
2856  .long  0x52a78228                          // mov           w8, #0x3c110000
2857  .long  0x4f01f612                          // fmov          v18.4s, #1.600000000000000000e+01
2858  .long  0x72831848                          // movk          w8, #0x18c2
2859  .long  0x4e20ce12                          // fmla          v18.4s, v16.4s, v0.4s
2860  .long  0x4e040d00                          // dup           v0.4s, w8
2861  .long  0x52b7c1a8                          // mov           w8, #0xbe0d0000
2862  .long  0x7287b968                          // movk          w8, #0x3dcb
2863  .long  0x6e21de41                          // fmul          v1.4s, v18.4s, v1.4s
2864  .long  0x4e040d10                          // dup           v16.4s, w8
2865  .long  0x52a7c068                          // mov           w8, #0x3e030000
2866  .long  0x4ea11c32                          // mov           v18.16b, v1.16b
2867  .long  0x72900a08                          // movk          w8, #0x8050
2868  .long  0x4eb3ce32                          // fmls          v18.4s, v17.4s, v19.4s
2869  .long  0x6e21dc31                          // fmul          v17.4s, v1.4s, v1.4s
2870  .long  0x4ea11c35                          // mov           v21.16b, v1.16b
2871  .long  0x4e30d433                          // fadd          v19.4s, v1.4s, v16.4s
2872  .long  0x6e31dc31                          // fmul          v17.4s, v1.4s, v17.4s
2873  .long  0x4e34cc55                          // fmla          v21.4s, v2.4s, v20.4s
2874  .long  0x4e040d02                          // dup           v2.4s, w8
2875  .long  0x6e22de73                          // fmul          v19.4s, v19.4s, v2.4s
2876  .long  0x6ea0e621                          // fcmgt         v1.4s, v17.4s, v0.4s
2877  .long  0x6e731e21                          // bsl           v1.16b, v17.16b, v19.16b
2878  .long  0x6e32de51                          // fmul          v17.4s, v18.4s, v18.4s
2879  .long  0x4e30d653                          // fadd          v19.4s, v18.4s, v16.4s
2880  .long  0x6e31de51                          // fmul          v17.4s, v18.4s, v17.4s
2881  .long  0x52a7eec8                          // mov           w8, #0x3f760000
2882  .long  0x6e22de72                          // fmul          v18.4s, v19.4s, v2.4s
2883  .long  0x6ea0e633                          // fcmgt         v19.4s, v17.4s, v0.4s
2884  .long  0x729ae3e8                          // movk          w8, #0xd71f
2885  .long  0x6e721e33                          // bsl           v19.16b, v17.16b, v18.16b
2886  .long  0x6e35deb2                          // fmul          v18.4s, v21.4s, v21.4s
2887  .long  0x4e040d11                          // dup           v17.4s, w8
2888  .long  0x52a7ea68                          // mov           w8, #0x3f530000
2889  .long  0x4e30d6b0                          // fadd          v16.4s, v21.4s, v16.4s
2890  .long  0x6e32deb2                          // fmul          v18.4s, v21.4s, v18.4s
2891  .long  0xf8408425                          // ldr           x5, [x1], #8
2892  .long  0x72881ec8                          // movk          w8, #0x40f6
2893  .long  0x6e22de02                          // fmul          v2.4s, v16.4s, v2.4s
2894  .long  0x6ea0e640                          // fcmgt         v0.4s, v18.4s, v0.4s
2895  .long  0x4e040d14                          // dup           v20.4s, w8
2896  .long  0x6e621e40                          // bsl           v0.16b, v18.16b, v2.16b
2897  .long  0x6e31dc00                          // fmul          v0.4s, v0.4s, v17.4s
2898  .long  0x6e34de62                          // fmul          v2.4s, v19.4s, v20.4s
2899  .long  0xd61f00a0                          // br            x5
2900
2901HIDDEN _sk_load_a8_aarch64
2902.globl _sk_load_a8_aarch64
2903FUNCTION(_sk_load_a8_aarch64)
2904_sk_load_a8_aarch64:
2905  .long  0xf9400028                          // ldr           x8, [x1]
2906  .long  0xf9400108                          // ldr           x8, [x8]
2907  .long  0x8b020108                          // add           x8, x8, x2
2908  .long  0xb50002e4                          // cbnz          x4, 279c <sk_load_a8_aarch64+0x68>
2909  .long  0x39400109                          // ldrb          w9, [x8]
2910  .long  0x3940050a                          // ldrb          w10, [x8, #1]
2911  .long  0x3940090b                          // ldrb          w11, [x8, #2]
2912  .long  0x39400d08                          // ldrb          w8, [x8, #3]
2913  .long  0x4e021d22                          // mov           v2.h[0], w9
2914  .long  0x4e061d42                          // mov           v2.h[1], w10
2915  .long  0x4e0a1d62                          // mov           v2.h[2], w11
2916  .long  0x4e0e1d02                          // mov           v2.h[3], w8
2917  .long  0x2f07b7e2                          // bic           v2.4h, #0xff, lsl #8
2918  .long  0x52a77008                          // mov           w8, #0x3b800000
2919  .long  0xf9400425                          // ldr           x5, [x1, #8]
2920  .long  0x72901028                          // movk          w8, #0x8081
2921  .long  0x2f10a442                          // uxtl          v2.4s, v2.4h
2922  .long  0x4e040d03                          // dup           v3.4s, w8
2923  .long  0x91004028                          // add           x8, x1, #0x10
2924  .long  0x6e21d842                          // ucvtf         v2.4s, v2.4s
2925  .long  0x6f00e400                          // movi          v0.2d, #0x0
2926  .long  0x6f00e401                          // movi          v1.2d, #0x0
2927  .long  0x6e23dc43                          // fmul          v3.4s, v2.4s, v3.4s
2928  .long  0x6f00e402                          // movi          v2.2d, #0x0
2929  .long  0xaa0803e1                          // mov           x1, x8
2930  .long  0xd61f00a0                          // br            x5
2931  .long  0x12000489                          // and           w9, w4, #0x3
2932  .long  0x7100053f                          // cmp           w9, #0x1
2933  .long  0x54000220                          // b.eq          27e8 <sk_load_a8_aarch64+0xb4>  // b.none
2934  .long  0x7100093f                          // cmp           w9, #0x2
2935  .long  0x2f00e402                          // movi          d2, #0x0
2936  .long  0x540000c0                          // b.eq          27c8 <sk_load_a8_aarch64+0x94>  // b.none
2937  .long  0x71000d3f                          // cmp           w9, #0x3
2938  .long  0x54fffd61                          // b.ne          2764 <sk_load_a8_aarch64+0x30>  // b.any
2939  .long  0x39400909                          // ldrb          w9, [x8, #2]
2940  .long  0x0e020fe2                          // dup           v2.4h, wzr
2941  .long  0x4e0a1d22                          // mov           v2.h[2], w9
2942  .long  0x39400109                          // ldrb          w9, [x8]
2943  .long  0x39400508                          // ldrb          w8, [x8, #1]
2944  .long  0x4e041d20                          // mov           v0.s[0], w9
2945  .long  0x4e0c1d00                          // mov           v0.s[1], w8
2946  .long  0x0e401800                          // uzp1          v0.4h, v0.4h, v0.4h
2947  .long  0x2e002040                          // ext           v0.8b, v2.8b, v0.8b, #4
2948  .long  0x2e002002                          // ext           v2.8b, v0.8b, v0.8b, #4
2949  .long  0x17ffffe0                          // b             2764 <sk_load_a8_aarch64+0x30>
2950  .long  0x39400108                          // ldrb          w8, [x8]
2951  .long  0x0e020fe2                          // dup           v2.4h, wzr
2952  .long  0x4e021d02                          // mov           v2.h[0], w8
2953  .long  0x17ffffdc                          // b             2764 <sk_load_a8_aarch64+0x30>
2954
2955HIDDEN _sk_load_a8_dst_aarch64
2956.globl _sk_load_a8_dst_aarch64
2957FUNCTION(_sk_load_a8_dst_aarch64)
2958_sk_load_a8_dst_aarch64:
2959  .long  0xf9400028                          // ldr           x8, [x1]
2960  .long  0xf9400108                          // ldr           x8, [x8]
2961  .long  0x8b020108                          // add           x8, x8, x2
2962  .long  0xb50002e4                          // cbnz          x4, 2860 <sk_load_a8_dst_aarch64+0x68>
2963  .long  0x39400109                          // ldrb          w9, [x8]
2964  .long  0x3940050a                          // ldrb          w10, [x8, #1]
2965  .long  0x3940090b                          // ldrb          w11, [x8, #2]
2966  .long  0x39400d08                          // ldrb          w8, [x8, #3]
2967  .long  0x4e021d26                          // mov           v6.h[0], w9
2968  .long  0x4e061d46                          // mov           v6.h[1], w10
2969  .long  0x4e0a1d66                          // mov           v6.h[2], w11
2970  .long  0x4e0e1d06                          // mov           v6.h[3], w8
2971  .long  0x2f07b7e6                          // bic           v6.4h, #0xff, lsl #8
2972  .long  0x52a77008                          // mov           w8, #0x3b800000
2973  .long  0xf9400425                          // ldr           x5, [x1, #8]
2974  .long  0x72901028                          // movk          w8, #0x8081
2975  .long  0x2f10a4c6                          // uxtl          v6.4s, v6.4h
2976  .long  0x4e040d07                          // dup           v7.4s, w8
2977  .long  0x91004028                          // add           x8, x1, #0x10
2978  .long  0x6e21d8c6                          // ucvtf         v6.4s, v6.4s
2979  .long  0x6f00e404                          // movi          v4.2d, #0x0
2980  .long  0x6f00e405                          // movi          v5.2d, #0x0
2981  .long  0x6e27dcc7                          // fmul          v7.4s, v6.4s, v7.4s
2982  .long  0x6f00e406                          // movi          v6.2d, #0x0
2983  .long  0xaa0803e1                          // mov           x1, x8
2984  .long  0xd61f00a0                          // br            x5
2985  .long  0x12000489                          // and           w9, w4, #0x3
2986  .long  0x7100053f                          // cmp           w9, #0x1
2987  .long  0x54000220                          // b.eq          28ac <sk_load_a8_dst_aarch64+0xb4>  // b.none
2988  .long  0x7100093f                          // cmp           w9, #0x2
2989  .long  0x2f00e406                          // movi          d6, #0x0
2990  .long  0x540000c0                          // b.eq          288c <sk_load_a8_dst_aarch64+0x94>  // b.none
2991  .long  0x71000d3f                          // cmp           w9, #0x3
2992  .long  0x54fffd61                          // b.ne          2828 <sk_load_a8_dst_aarch64+0x30>  // b.any
2993  .long  0x39400909                          // ldrb          w9, [x8, #2]
2994  .long  0x0e020fe6                          // dup           v6.4h, wzr
2995  .long  0x4e0a1d26                          // mov           v6.h[2], w9
2996  .long  0x39400109                          // ldrb          w9, [x8]
2997  .long  0x39400508                          // ldrb          w8, [x8, #1]
2998  .long  0x4e041d24                          // mov           v4.s[0], w9
2999  .long  0x4e0c1d04                          // mov           v4.s[1], w8
3000  .long  0x0e401884                          // uzp1          v4.4h, v4.4h, v0.4h
3001  .long  0x2e0420c4                          // ext           v4.8b, v6.8b, v4.8b, #4
3002  .long  0x2e042086                          // ext           v6.8b, v4.8b, v4.8b, #4
3003  .long  0x17ffffe0                          // b             2828 <sk_load_a8_dst_aarch64+0x30>
3004  .long  0x39400108                          // ldrb          w8, [x8]
3005  .long  0x0e020fe6                          // dup           v6.4h, wzr
3006  .long  0x4e021d06                          // mov           v6.h[0], w8
3007  .long  0x17ffffdc                          // b             2828 <sk_load_a8_dst_aarch64+0x30>
3008
3009HIDDEN _sk_gather_a8_aarch64
3010.globl _sk_gather_a8_aarch64
3011FUNCTION(_sk_gather_a8_aarch64)
3012_sk_gather_a8_aarch64:
3013  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
3014  .long  0x4ea1b821                          // fcvtzs        v1.4s, v1.4s
3015  .long  0x4ea1b800                          // fcvtzs        v0.4s, v0.4s
3016  .long  0x91002109                          // add           x9, x8, #0x8
3017  .long  0x4d40c922                          // ld1r          {v2.4s}, [x9]
3018  .long  0xf9400108                          // ldr           x8, [x8]
3019  .long  0x52a77009                          // mov           w9, #0x3b800000
3020  .long  0x72901029                          // movk          w9, #0x8081
3021  .long  0x4ea19440                          // mla           v0.4s, v2.4s, v1.4s
3022  .long  0x1e26000c                          // fmov          w12, s0
3023  .long  0x4e040d23                          // dup           v3.4s, w9
3024  .long  0x0e0c3c09                          // mov           w9, v0.s[1]
3025  .long  0x386c490c                          // ldrb          w12, [x8, w12, uxtw]
3026  .long  0x0e143c0a                          // mov           w10, v0.s[2]
3027  .long  0x38694909                          // ldrb          w9, [x8, w9, uxtw]
3028  .long  0x0e1c3c0b                          // mov           w11, v0.s[3]
3029  .long  0x386a490a                          // ldrb          w10, [x8, w10, uxtw]
3030  .long  0x386b4908                          // ldrb          w8, [x8, w11, uxtw]
3031  .long  0x4e021d82                          // mov           v2.h[0], w12
3032  .long  0x4e061d22                          // mov           v2.h[1], w9
3033  .long  0x4e0a1d42                          // mov           v2.h[2], w10
3034  .long  0x4e0e1d02                          // mov           v2.h[3], w8
3035  .long  0x2f07b7e2                          // bic           v2.4h, #0xff, lsl #8
3036  .long  0x2f10a442                          // uxtl          v2.4s, v2.4h
3037  .long  0x6e21d842                          // ucvtf         v2.4s, v2.4s
3038  .long  0x6f00e400                          // movi          v0.2d, #0x0
3039  .long  0x6f00e401                          // movi          v1.2d, #0x0
3040  .long  0x6e23dc43                          // fmul          v3.4s, v2.4s, v3.4s
3041  .long  0x6f00e402                          // movi          v2.2d, #0x0
3042  .long  0xd61f00a0                          // br            x5
3043
3044HIDDEN _sk_store_a8_aarch64
3045.globl _sk_store_a8_aarch64
3046FUNCTION(_sk_store_a8_aarch64)
3047_sk_store_a8_aarch64:
3048  .long  0xf9400028                          // ldr           x8, [x1]
3049  .long  0x52a86fe9                          // mov           w9, #0x437f0000
3050  .long  0x4e040d30                          // dup           v16.4s, w9
3051  .long  0x6e30dc70                          // fmul          v16.4s, v3.4s, v16.4s
3052  .long  0xf9400108                          // ldr           x8, [x8]
3053  .long  0x6e21aa10                          // fcvtnu        v16.4s, v16.4s
3054  .long  0x0e612a10                          // xtn           v16.4h, v16.4s
3055  .long  0x8b020108                          // add           x8, x8, x2
3056  .long  0xb5000184                          // cbnz          x4, 2984 <sk_store_a8_aarch64+0x50>
3057  .long  0x0e0e3e09                          // umov          w9, v16.h[3]
3058  .long  0x0e0a3e0a                          // umov          w10, v16.h[2]
3059  .long  0x0e063e0b                          // umov          w11, v16.h[1]
3060  .long  0x0e023e0c                          // umov          w12, v16.h[0]
3061  .long  0x39000d09                          // strb          w9, [x8, #3]
3062  .long  0x3900090a                          // strb          w10, [x8, #2]
3063  .long  0x3900050b                          // strb          w11, [x8, #1]
3064  .long  0x3900010c                          // strb          w12, [x8]
3065  .long  0xf9400425                          // ldr           x5, [x1, #8]
3066  .long  0x91004021                          // add           x1, x1, #0x10
3067  .long  0xd61f00a0                          // br            x5
3068  .long  0x12000489                          // and           w9, w4, #0x3
3069  .long  0x7100053f                          // cmp           w9, #0x1
3070  .long  0x54000180                          // b.eq          29bc <sk_store_a8_aarch64+0x88>  // b.none
3071  .long  0x7100093f                          // cmp           w9, #0x2
3072  .long  0x540000a0                          // b.eq          29a8 <sk_store_a8_aarch64+0x74>  // b.none
3073  .long  0x71000d3f                          // cmp           w9, #0x3
3074  .long  0x54fffee1                          // b.ne          2978 <sk_store_a8_aarch64+0x44>  // b.any
3075  .long  0x0e0a3e09                          // umov          w9, v16.h[2]
3076  .long  0x39000909                          // strb          w9, [x8, #2]
3077  .long  0x0e023e09                          // umov          w9, v16.h[0]
3078  .long  0x0e063e0a                          // umov          w10, v16.h[1]
3079  .long  0x3900050a                          // strb          w10, [x8, #1]
3080  .long  0x39000109                          // strb          w9, [x8]
3081  .long  0x17fffff0                          // b             2978 <sk_store_a8_aarch64+0x44>
3082  .long  0x0e023e09                          // umov          w9, v16.h[0]
3083  .long  0x39000109                          // strb          w9, [x8]
3084  .long  0x17ffffed                          // b             2978 <sk_store_a8_aarch64+0x44>
3085
3086HIDDEN _sk_load_g8_aarch64
3087.globl _sk_load_g8_aarch64
3088FUNCTION(_sk_load_g8_aarch64)
3089_sk_load_g8_aarch64:
3090  .long  0xf9400028                          // ldr           x8, [x1]
3091  .long  0xf9400108                          // ldr           x8, [x8]
3092  .long  0x8b020108                          // add           x8, x8, x2
3093  .long  0xb50002e4                          // cbnz          x4, 2a30 <sk_load_g8_aarch64+0x68>
3094  .long  0x39400109                          // ldrb          w9, [x8]
3095  .long  0x3940050a                          // ldrb          w10, [x8, #1]
3096  .long  0x3940090b                          // ldrb          w11, [x8, #2]
3097  .long  0x39400d08                          // ldrb          w8, [x8, #3]
3098  .long  0x4e021d20                          // mov           v0.h[0], w9
3099  .long  0x4e061d40                          // mov           v0.h[1], w10
3100  .long  0x4e0a1d60                          // mov           v0.h[2], w11
3101  .long  0x4e0e1d00                          // mov           v0.h[3], w8
3102  .long  0x2f07b7e0                          // bic           v0.4h, #0xff, lsl #8
3103  .long  0x52a77008                          // mov           w8, #0x3b800000
3104  .long  0x72901028                          // movk          w8, #0x8081
3105  .long  0xf9400425                          // ldr           x5, [x1, #8]
3106  .long  0x2f10a400                          // uxtl          v0.4s, v0.4h
3107  .long  0x4e040d01                          // dup           v1.4s, w8
3108  .long  0x6e21d800                          // ucvtf         v0.4s, v0.4s
3109  .long  0x91004028                          // add           x8, x1, #0x10
3110  .long  0x6e21dc00                          // fmul          v0.4s, v0.4s, v1.4s
3111  .long  0x4f03f603                          // fmov          v3.4s, #1.000000000000000000e+00
3112  .long  0xaa0803e1                          // mov           x1, x8
3113  .long  0x4ea01c01                          // mov           v1.16b, v0.16b
3114  .long  0x4ea01c02                          // mov           v2.16b, v0.16b
3115  .long  0xd61f00a0                          // br            x5
3116  .long  0x12000489                          // and           w9, w4, #0x3
3117  .long  0x7100053f                          // cmp           w9, #0x1
3118  .long  0x54000220                          // b.eq          2a7c <sk_load_g8_aarch64+0xb4>  // b.none
3119  .long  0x7100093f                          // cmp           w9, #0x2
3120  .long  0x2f00e400                          // movi          d0, #0x0
3121  .long  0x540000c0                          // b.eq          2a5c <sk_load_g8_aarch64+0x94>  // b.none
3122  .long  0x71000d3f                          // cmp           w9, #0x3
3123  .long  0x54fffd61                          // b.ne          29f8 <sk_load_g8_aarch64+0x30>  // b.any
3124  .long  0x39400909                          // ldrb          w9, [x8, #2]
3125  .long  0x0e020fe0                          // dup           v0.4h, wzr
3126  .long  0x4e0a1d20                          // mov           v0.h[2], w9
3127  .long  0x39400109                          // ldrb          w9, [x8]
3128  .long  0x39400508                          // ldrb          w8, [x8, #1]
3129  .long  0x4e041d21                          // mov           v1.s[0], w9
3130  .long  0x4e0c1d01                          // mov           v1.s[1], w8
3131  .long  0x0e401821                          // uzp1          v1.4h, v1.4h, v0.4h
3132  .long  0x2e012000                          // ext           v0.8b, v0.8b, v1.8b, #4
3133  .long  0x2e002000                          // ext           v0.8b, v0.8b, v0.8b, #4
3134  .long  0x17ffffe0                          // b             29f8 <sk_load_g8_aarch64+0x30>
3135  .long  0x39400108                          // ldrb          w8, [x8]
3136  .long  0x0e020fe0                          // dup           v0.4h, wzr
3137  .long  0x4e021d00                          // mov           v0.h[0], w8
3138  .long  0x17ffffdc                          // b             29f8 <sk_load_g8_aarch64+0x30>
3139
3140HIDDEN _sk_load_g8_dst_aarch64
3141.globl _sk_load_g8_dst_aarch64
3142FUNCTION(_sk_load_g8_dst_aarch64)
3143_sk_load_g8_dst_aarch64:
3144  .long  0xf9400028                          // ldr           x8, [x1]
3145  .long  0xf9400108                          // ldr           x8, [x8]
3146  .long  0x8b020108                          // add           x8, x8, x2
3147  .long  0xb50002e4                          // cbnz          x4, 2af4 <sk_load_g8_dst_aarch64+0x68>
3148  .long  0x39400109                          // ldrb          w9, [x8]
3149  .long  0x3940050a                          // ldrb          w10, [x8, #1]
3150  .long  0x3940090b                          // ldrb          w11, [x8, #2]
3151  .long  0x39400d08                          // ldrb          w8, [x8, #3]
3152  .long  0x4e021d24                          // mov           v4.h[0], w9
3153  .long  0x4e061d44                          // mov           v4.h[1], w10
3154  .long  0x4e0a1d64                          // mov           v4.h[2], w11
3155  .long  0x4e0e1d04                          // mov           v4.h[3], w8
3156  .long  0x2f07b7e4                          // bic           v4.4h, #0xff, lsl #8
3157  .long  0x52a77008                          // mov           w8, #0x3b800000
3158  .long  0x72901028                          // movk          w8, #0x8081
3159  .long  0xf9400425                          // ldr           x5, [x1, #8]
3160  .long  0x2f10a484                          // uxtl          v4.4s, v4.4h
3161  .long  0x4e040d05                          // dup           v5.4s, w8
3162  .long  0x6e21d884                          // ucvtf         v4.4s, v4.4s
3163  .long  0x91004028                          // add           x8, x1, #0x10
3164  .long  0x6e25dc84                          // fmul          v4.4s, v4.4s, v5.4s
3165  .long  0x4f03f607                          // fmov          v7.4s, #1.000000000000000000e+00
3166  .long  0xaa0803e1                          // mov           x1, x8
3167  .long  0x4ea41c85                          // mov           v5.16b, v4.16b
3168  .long  0x4ea41c86                          // mov           v6.16b, v4.16b
3169  .long  0xd61f00a0                          // br            x5
3170  .long  0x12000489                          // and           w9, w4, #0x3
3171  .long  0x7100053f                          // cmp           w9, #0x1
3172  .long  0x54000220                          // b.eq          2b40 <sk_load_g8_dst_aarch64+0xb4>  // b.none
3173  .long  0x7100093f                          // cmp           w9, #0x2
3174  .long  0x2f00e404                          // movi          d4, #0x0
3175  .long  0x540000c0                          // b.eq          2b20 <sk_load_g8_dst_aarch64+0x94>  // b.none
3176  .long  0x71000d3f                          // cmp           w9, #0x3
3177  .long  0x54fffd61                          // b.ne          2abc <sk_load_g8_dst_aarch64+0x30>  // b.any
3178  .long  0x39400909                          // ldrb          w9, [x8, #2]
3179  .long  0x0e020fe4                          // dup           v4.4h, wzr
3180  .long  0x4e0a1d24                          // mov           v4.h[2], w9
3181  .long  0x39400109                          // ldrb          w9, [x8]
3182  .long  0x39400508                          // ldrb          w8, [x8, #1]
3183  .long  0x4e041d25                          // mov           v5.s[0], w9
3184  .long  0x4e0c1d05                          // mov           v5.s[1], w8
3185  .long  0x0e4018a5                          // uzp1          v5.4h, v5.4h, v0.4h
3186  .long  0x2e052084                          // ext           v4.8b, v4.8b, v5.8b, #4
3187  .long  0x2e042084                          // ext           v4.8b, v4.8b, v4.8b, #4
3188  .long  0x17ffffe0                          // b             2abc <sk_load_g8_dst_aarch64+0x30>
3189  .long  0x39400108                          // ldrb          w8, [x8]
3190  .long  0x0e020fe4                          // dup           v4.4h, wzr
3191  .long  0x4e021d04                          // mov           v4.h[0], w8
3192  .long  0x17ffffdc                          // b             2abc <sk_load_g8_dst_aarch64+0x30>
3193
3194HIDDEN _sk_gather_g8_aarch64
3195.globl _sk_gather_g8_aarch64
3196FUNCTION(_sk_gather_g8_aarch64)
3197_sk_gather_g8_aarch64:
3198  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
3199  .long  0x4ea1b821                          // fcvtzs        v1.4s, v1.4s
3200  .long  0x4ea1b800                          // fcvtzs        v0.4s, v0.4s
3201  .long  0x91002109                          // add           x9, x8, #0x8
3202  .long  0x4d40c922                          // ld1r          {v2.4s}, [x9]
3203  .long  0xf9400108                          // ldr           x8, [x8]
3204  .long  0x52a77009                          // mov           w9, #0x3b800000
3205  .long  0x72901029                          // movk          w9, #0x8081
3206  .long  0x4ea19440                          // mla           v0.4s, v2.4s, v1.4s
3207  .long  0x1e26000c                          // fmov          w12, s0
3208  .long  0x4e040d23                          // dup           v3.4s, w9
3209  .long  0x0e0c3c09                          // mov           w9, v0.s[1]
3210  .long  0x386c490c                          // ldrb          w12, [x8, w12, uxtw]
3211  .long  0x0e143c0a                          // mov           w10, v0.s[2]
3212  .long  0x38694909                          // ldrb          w9, [x8, w9, uxtw]
3213  .long  0x0e1c3c0b                          // mov           w11, v0.s[3]
3214  .long  0x386a490a                          // ldrb          w10, [x8, w10, uxtw]
3215  .long  0x386b4908                          // ldrb          w8, [x8, w11, uxtw]
3216  .long  0x4e021d80                          // mov           v0.h[0], w12
3217  .long  0x4e061d20                          // mov           v0.h[1], w9
3218  .long  0x4e0a1d40                          // mov           v0.h[2], w10
3219  .long  0x4e0e1d00                          // mov           v0.h[3], w8
3220  .long  0x2f07b7e0                          // bic           v0.4h, #0xff, lsl #8
3221  .long  0x2f10a400                          // uxtl          v0.4s, v0.4h
3222  .long  0x6e21d800                          // ucvtf         v0.4s, v0.4s
3223  .long  0x6e23dc00                          // fmul          v0.4s, v0.4s, v3.4s
3224  .long  0x4f03f603                          // fmov          v3.4s, #1.000000000000000000e+00
3225  .long  0x4ea01c01                          // mov           v1.16b, v0.16b
3226  .long  0x4ea01c02                          // mov           v2.16b, v0.16b
3227  .long  0xd61f00a0                          // br            x5
3228
3229HIDDEN _sk_load_565_aarch64
3230.globl _sk_load_565_aarch64
3231FUNCTION(_sk_load_565_aarch64)
3232_sk_load_565_aarch64:
3233  .long  0xf9400028                          // ldr           x8, [x1]
3234  .long  0xf9400108                          // ldr           x8, [x8]
3235  .long  0x8b020508                          // add           x8, x8, x2, lsl #1
3236  .long  0xb50003c4                          // cbnz          x4, 2c4c <sk_load_565_aarch64+0x84>
3237  .long  0xfd400100                          // ldr           d0, [x8]
3238  .long  0x321b17e8                          // orr           w8, wzr, #0x7e0
3239  .long  0x4e040d02                          // dup           v2.4s, w8
3240  .long  0x52a6f088                          // mov           w8, #0x37840000
3241  .long  0x2f10a400                          // uxtl          v0.4s, v0.4h
3242  .long  0x4f072701                          // movi          v1.4s, #0xf8, lsl #8
3243  .long  0x72842108                          // movk          w8, #0x2108
3244  .long  0x4f0007e3                          // movi          v3.4s, #0x1f
3245  .long  0x4e211c01                          // and           v1.16b, v0.16b, v1.16b
3246  .long  0x4e231c03                          // and           v3.16b, v0.16b, v3.16b
3247  .long  0x4e221c10                          // and           v16.16b, v0.16b, v2.16b
3248  .long  0x4e040d00                          // dup           v0.4s, w8
3249  .long  0x52a7a088                          // mov           w8, #0x3d040000
3250  .long  0x72842108                          // movk          w8, #0x2108
3251  .long  0x4e21d821                          // scvtf         v1.4s, v1.4s
3252  .long  0x6e20dc20                          // fmul          v0.4s, v1.4s, v0.4s
3253  .long  0x4e040d01                          // dup           v1.4s, w8
3254  .long  0x52a74048                          // mov           w8, #0x3a020000
3255  .long  0xf9400425                          // ldr           x5, [x1, #8]
3256  .long  0x72810428                          // movk          w8, #0x821
3257  .long  0x4e21d862                          // scvtf         v2.4s, v3.4s
3258  .long  0x6e21dc42                          // fmul          v2.4s, v2.4s, v1.4s
3259  .long  0x4e040d01                          // dup           v1.4s, w8
3260  .long  0x91004028                          // add           x8, x1, #0x10
3261  .long  0x4e21da03                          // scvtf         v3.4s, v16.4s
3262  .long  0x6e21dc61                          // fmul          v1.4s, v3.4s, v1.4s
3263  .long  0x4f03f603                          // fmov          v3.4s, #1.000000000000000000e+00
3264  .long  0xaa0803e1                          // mov           x1, x8
3265  .long  0xd61f00a0                          // br            x5
3266  .long  0x12000489                          // and           w9, w4, #0x3
3267  .long  0x7100053f                          // cmp           w9, #0x1
3268  .long  0x54000220                          // b.eq          2c98 <sk_load_565_aarch64+0xd0>  // b.none
3269  .long  0x7100093f                          // cmp           w9, #0x2
3270  .long  0x2f00e400                          // movi          d0, #0x0
3271  .long  0x540000c0                          // b.eq          2c78 <sk_load_565_aarch64+0xb0>  // b.none
3272  .long  0x71000d3f                          // cmp           w9, #0x3
3273  .long  0x54fffba1                          // b.ne          2bdc <sk_load_565_aarch64+0x14>  // b.any
3274  .long  0x91001109                          // add           x9, x8, #0x4
3275  .long  0x0e020fe0                          // dup           v0.4h, wzr
3276  .long  0x0d405120                          // ld1           {v0.h}[2], [x9]
3277  .long  0x79400109                          // ldrh          w9, [x8]
3278  .long  0x79400508                          // ldrh          w8, [x8, #2]
3279  .long  0x4e041d21                          // mov           v1.s[0], w9
3280  .long  0x4e0c1d01                          // mov           v1.s[1], w8
3281  .long  0x0e401821                          // uzp1          v1.4h, v1.4h, v0.4h
3282  .long  0x2e012000                          // ext           v0.8b, v0.8b, v1.8b, #4
3283  .long  0x2e002000                          // ext           v0.8b, v0.8b, v0.8b, #4
3284  .long  0x17ffffd2                          // b             2bdc <sk_load_565_aarch64+0x14>
3285  .long  0x0e020fe0                          // dup           v0.4h, wzr
3286  .long  0x0d404100                          // ld1           {v0.h}[0], [x8]
3287  .long  0x17ffffcf                          // b             2bdc <sk_load_565_aarch64+0x14>
3288
3289HIDDEN _sk_load_565_dst_aarch64
3290.globl _sk_load_565_dst_aarch64
3291FUNCTION(_sk_load_565_dst_aarch64)
3292_sk_load_565_dst_aarch64:
3293  .long  0xf9400028                          // ldr           x8, [x1]
3294  .long  0xf9400108                          // ldr           x8, [x8]
3295  .long  0x8b020508                          // add           x8, x8, x2, lsl #1
3296  .long  0xb50003c4                          // cbnz          x4, 2d28 <sk_load_565_dst_aarch64+0x84>
3297  .long  0xfd400104                          // ldr           d4, [x8]
3298  .long  0x321b17e8                          // orr           w8, wzr, #0x7e0
3299  .long  0x4e040d06                          // dup           v6.4s, w8
3300  .long  0x52a6f088                          // mov           w8, #0x37840000
3301  .long  0x2f10a484                          // uxtl          v4.4s, v4.4h
3302  .long  0x4f072705                          // movi          v5.4s, #0xf8, lsl #8
3303  .long  0x72842108                          // movk          w8, #0x2108
3304  .long  0x4f0007e7                          // movi          v7.4s, #0x1f
3305  .long  0x4e251c85                          // and           v5.16b, v4.16b, v5.16b
3306  .long  0x4e271c87                          // and           v7.16b, v4.16b, v7.16b
3307  .long  0x4e261c90                          // and           v16.16b, v4.16b, v6.16b
3308  .long  0x4e040d04                          // dup           v4.4s, w8
3309  .long  0x52a7a088                          // mov           w8, #0x3d040000
3310  .long  0x72842108                          // movk          w8, #0x2108
3311  .long  0x4e21d8a5                          // scvtf         v5.4s, v5.4s
3312  .long  0x6e24dca4                          // fmul          v4.4s, v5.4s, v4.4s
3313  .long  0x4e040d05                          // dup           v5.4s, w8
3314  .long  0x52a74048                          // mov           w8, #0x3a020000
3315  .long  0xf9400425                          // ldr           x5, [x1, #8]
3316  .long  0x72810428                          // movk          w8, #0x821
3317  .long  0x4e21d8e6                          // scvtf         v6.4s, v7.4s
3318  .long  0x6e25dcc6                          // fmul          v6.4s, v6.4s, v5.4s
3319  .long  0x4e040d05                          // dup           v5.4s, w8
3320  .long  0x91004028                          // add           x8, x1, #0x10
3321  .long  0x4e21da07                          // scvtf         v7.4s, v16.4s
3322  .long  0x6e25dce5                          // fmul          v5.4s, v7.4s, v5.4s
3323  .long  0x4f03f607                          // fmov          v7.4s, #1.000000000000000000e+00
3324  .long  0xaa0803e1                          // mov           x1, x8
3325  .long  0xd61f00a0                          // br            x5
3326  .long  0x12000489                          // and           w9, w4, #0x3
3327  .long  0x7100053f                          // cmp           w9, #0x1
3328  .long  0x54000220                          // b.eq          2d74 <sk_load_565_dst_aarch64+0xd0>  // b.none
3329  .long  0x7100093f                          // cmp           w9, #0x2
3330  .long  0x2f00e404                          // movi          d4, #0x0
3331  .long  0x540000c0                          // b.eq          2d54 <sk_load_565_dst_aarch64+0xb0>  // b.none
3332  .long  0x71000d3f                          // cmp           w9, #0x3
3333  .long  0x54fffba1                          // b.ne          2cb8 <sk_load_565_dst_aarch64+0x14>  // b.any
3334  .long  0x91001109                          // add           x9, x8, #0x4
3335  .long  0x0e020fe4                          // dup           v4.4h, wzr
3336  .long  0x0d405124                          // ld1           {v4.h}[2], [x9]
3337  .long  0x79400109                          // ldrh          w9, [x8]
3338  .long  0x79400508                          // ldrh          w8, [x8, #2]
3339  .long  0x4e041d25                          // mov           v5.s[0], w9
3340  .long  0x4e0c1d05                          // mov           v5.s[1], w8
3341  .long  0x0e4018a5                          // uzp1          v5.4h, v5.4h, v0.4h
3342  .long  0x2e052084                          // ext           v4.8b, v4.8b, v5.8b, #4
3343  .long  0x2e042084                          // ext           v4.8b, v4.8b, v4.8b, #4
3344  .long  0x17ffffd2                          // b             2cb8 <sk_load_565_dst_aarch64+0x14>
3345  .long  0x0e020fe4                          // dup           v4.4h, wzr
3346  .long  0x0d404104                          // ld1           {v4.h}[0], [x8]
3347  .long  0x17ffffcf                          // b             2cb8 <sk_load_565_dst_aarch64+0x14>
3348
3349HIDDEN _sk_gather_565_aarch64
3350.globl _sk_gather_565_aarch64
3351FUNCTION(_sk_gather_565_aarch64)
3352_sk_gather_565_aarch64:
3353  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
3354  .long  0x4ea1b821                          // fcvtzs        v1.4s, v1.4s
3355  .long  0x4ea1b800                          // fcvtzs        v0.4s, v0.4s
3356  .long  0x91002109                          // add           x9, x8, #0x8
3357  .long  0x4d40c922                          // ld1r          {v2.4s}, [x9]
3358  .long  0xf9400108                          // ldr           x8, [x8]
3359  .long  0x321b17e9                          // orr           w9, wzr, #0x7e0
3360  .long  0x4e040d23                          // dup           v3.4s, w9
3361  .long  0x4ea19440                          // mla           v0.4s, v2.4s, v1.4s
3362  .long  0x1e26000c                          // fmov          w12, s0
3363  .long  0x0e0c3c09                          // mov           w9, v0.s[1]
3364  .long  0x8b2c450c                          // add           x12, x8, w12, uxtw #1
3365  .long  0x0e143c0a                          // mov           w10, v0.s[2]
3366  .long  0x0e1c3c0b                          // mov           w11, v0.s[3]
3367  .long  0x0d404180                          // ld1           {v0.h}[0], [x12]
3368  .long  0x78695909                          // ldrh          w9, [x8, w9, uxtw #1]
3369  .long  0x786a590a                          // ldrh          w10, [x8, w10, uxtw #1]
3370  .long  0x786b5908                          // ldrh          w8, [x8, w11, uxtw #1]
3371  .long  0x4f072701                          // movi          v1.4s, #0xf8, lsl #8
3372  .long  0x4e061d20                          // mov           v0.h[1], w9
3373  .long  0x4e0a1d40                          // mov           v0.h[2], w10
3374  .long  0x4e0e1d00                          // mov           v0.h[3], w8
3375  .long  0x52a6f08b                          // mov           w11, #0x37840000
3376  .long  0x2f10a400                          // uxtl          v0.4s, v0.4h
3377  .long  0x7284210b                          // movk          w11, #0x2108
3378  .long  0x52a74049                          // mov           w9, #0x3a020000
3379  .long  0x4f0007e2                          // movi          v2.4s, #0x1f
3380  .long  0x4e211c01                          // and           v1.16b, v0.16b, v1.16b
3381  .long  0x72810429                          // movk          w9, #0x821
3382  .long  0x52a7a08a                          // mov           w10, #0x3d040000
3383  .long  0x4e231c03                          // and           v3.16b, v0.16b, v3.16b
3384  .long  0x4e221c02                          // and           v2.16b, v0.16b, v2.16b
3385  .long  0x4e040d60                          // dup           v0.4s, w11
3386  .long  0x4e21d821                          // scvtf         v1.4s, v1.4s
3387  .long  0x7284210a                          // movk          w10, #0x2108
3388  .long  0x6e20dc20                          // fmul          v0.4s, v1.4s, v0.4s
3389  .long  0x4e040d21                          // dup           v1.4s, w9
3390  .long  0x4e21d863                          // scvtf         v3.4s, v3.4s
3391  .long  0x6e21dc61                          // fmul          v1.4s, v3.4s, v1.4s
3392  .long  0x4e040d43                          // dup           v3.4s, w10
3393  .long  0x4e21d842                          // scvtf         v2.4s, v2.4s
3394  .long  0x6e23dc42                          // fmul          v2.4s, v2.4s, v3.4s
3395  .long  0x4f03f603                          // fmov          v3.4s, #1.000000000000000000e+00
3396  .long  0xd61f00a0                          // br            x5
3397
3398HIDDEN _sk_store_565_aarch64
3399.globl _sk_store_565_aarch64
3400FUNCTION(_sk_store_565_aarch64)
3401_sk_store_565_aarch64:
3402  .long  0xf9400028                          // ldr           x8, [x1]
3403  .long  0x52a84f89                          // mov           w9, #0x427c0000
3404  .long  0x4f01f7f0                          // fmov          v16.4s, #3.100000000000000000e+01
3405  .long  0x4e040d32                          // dup           v18.4s, w9
3406  .long  0x6e30dc11                          // fmul          v17.4s, v0.4s, v16.4s
3407  .long  0x6e32dc32                          // fmul          v18.4s, v1.4s, v18.4s
3408  .long  0x6e21aa31                          // fcvtnu        v17.4s, v17.4s
3409  .long  0x6e21aa52                          // fcvtnu        v18.4s, v18.4s
3410  .long  0xf9400108                          // ldr           x8, [x8]
3411  .long  0x6e30dc50                          // fmul          v16.4s, v2.4s, v16.4s
3412  .long  0x4f2b5631                          // shl           v17.4s, v17.4s, #11
3413  .long  0x4f255652                          // shl           v18.4s, v18.4s, #5
3414  .long  0x6e21aa10                          // fcvtnu        v16.4s, v16.4s
3415  .long  0x4eb11e51                          // orr           v17.16b, v18.16b, v17.16b
3416  .long  0x4eb01e30                          // orr           v16.16b, v17.16b, v16.16b
3417  .long  0x8b020508                          // add           x8, x8, x2, lsl #1
3418  .long  0x0e612a10                          // xtn           v16.4h, v16.4s
3419  .long  0xb50000a4                          // cbnz          x4, 2e88 <sk_store_565_aarch64+0x58>
3420  .long  0xfd000110                          // str           d16, [x8]
3421  .long  0xf9400425                          // ldr           x5, [x1, #8]
3422  .long  0x91004021                          // add           x1, x1, #0x10
3423  .long  0xd61f00a0                          // br            x5
3424  .long  0x12000489                          // and           w9, w4, #0x3
3425  .long  0x7100053f                          // cmp           w9, #0x1
3426  .long  0x54000120                          // b.eq          2eb4 <sk_store_565_aarch64+0x84>  // b.none
3427  .long  0x7100093f                          // cmp           w9, #0x2
3428  .long  0x540000a0                          // b.eq          2eac <sk_store_565_aarch64+0x7c>  // b.none
3429  .long  0x71000d3f                          // cmp           w9, #0x3
3430  .long  0x54fffee1                          // b.ne          2e7c <sk_store_565_aarch64+0x4c>  // b.any
3431  .long  0x91001109                          // add           x9, x8, #0x4
3432  .long  0x0d005130                          // st1           {v16.h}[2], [x9]
3433  .long  0x91000909                          // add           x9, x8, #0x2
3434  .long  0x0d004930                          // st1           {v16.h}[1], [x9]
3435  .long  0x0d004110                          // st1           {v16.h}[0], [x8]
3436  .long  0x17fffff1                          // b             2e7c <sk_store_565_aarch64+0x4c>
3437
3438HIDDEN _sk_load_4444_aarch64
3439.globl _sk_load_4444_aarch64
3440FUNCTION(_sk_load_4444_aarch64)
3441_sk_load_4444_aarch64:
3442  .long  0xf9400028                          // ldr           x8, [x1]
3443  .long  0xf9400108                          // ldr           x8, [x8]
3444  .long  0x8b020508                          // add           x8, x8, x2, lsl #1
3445  .long  0xb5000444                          // cbnz          x4, 2f50 <sk_load_4444_aarch64+0x94>
3446  .long  0xfd400100                          // ldr           d0, [x8]
3447  .long  0x52a6f108                          // mov           w8, #0x37880000
3448  .long  0x2f10a400                          // uxtl          v0.4s, v0.4h
3449  .long  0x4f072601                          // movi          v1.4s, #0xf0, lsl #8
3450  .long  0x72911128                          // movk          w8, #0x8889
3451  .long  0x4f0025e2                          // movi          v2.4s, #0xf, lsl #8
3452  .long  0x4f070603                          // movi          v3.4s, #0xf0
3453  .long  0x4f0005f0                          // movi          v16.4s, #0xf
3454  .long  0x4e211c01                          // and           v1.16b, v0.16b, v1.16b
3455  .long  0x4e221c02                          // and           v2.16b, v0.16b, v2.16b
3456  .long  0x4e231c03                          // and           v3.16b, v0.16b, v3.16b
3457  .long  0x4e301c10                          // and           v16.16b, v0.16b, v16.16b
3458  .long  0x4e040d00                          // dup           v0.4s, w8
3459  .long  0x52a73108                          // mov           w8, #0x39880000
3460  .long  0x72911128                          // movk          w8, #0x8889
3461  .long  0x4e21d821                          // scvtf         v1.4s, v1.4s
3462  .long  0x6e20dc20                          // fmul          v0.4s, v1.4s, v0.4s
3463  .long  0x4e040d01                          // dup           v1.4s, w8
3464  .long  0x52a77108                          // mov           w8, #0x3b880000
3465  .long  0x72911128                          // movk          w8, #0x8889
3466  .long  0x4e21d842                          // scvtf         v2.4s, v2.4s
3467  .long  0x6e21dc41                          // fmul          v1.4s, v2.4s, v1.4s
3468  .long  0x4e040d02                          // dup           v2.4s, w8
3469  .long  0x52a7b108                          // mov           w8, #0x3d880000
3470  .long  0xf9400425                          // ldr           x5, [x1, #8]
3471  .long  0x72911128                          // movk          w8, #0x8889
3472  .long  0x4e21d863                          // scvtf         v3.4s, v3.4s
3473  .long  0x6e22dc62                          // fmul          v2.4s, v3.4s, v2.4s
3474  .long  0x4e040d03                          // dup           v3.4s, w8
3475  .long  0x4e21da10                          // scvtf         v16.4s, v16.4s
3476  .long  0x6e23de03                          // fmul          v3.4s, v16.4s, v3.4s
3477  .long  0x91004021                          // add           x1, x1, #0x10
3478  .long  0xd61f00a0                          // br            x5
3479  .long  0x12000489                          // and           w9, w4, #0x3
3480  .long  0x7100053f                          // cmp           w9, #0x1
3481  .long  0x54000220                          // b.eq          2f9c <sk_load_4444_aarch64+0xe0>  // b.none
3482  .long  0x7100093f                          // cmp           w9, #0x2
3483  .long  0x2f00e400                          // movi          d0, #0x0
3484  .long  0x540000c0                          // b.eq          2f7c <sk_load_4444_aarch64+0xc0>  // b.none
3485  .long  0x71000d3f                          // cmp           w9, #0x3
3486  .long  0x54fffb21                          // b.ne          2ed0 <sk_load_4444_aarch64+0x14>  // b.any
3487  .long  0x91001109                          // add           x9, x8, #0x4
3488  .long  0x0e020fe0                          // dup           v0.4h, wzr
3489  .long  0x0d405120                          // ld1           {v0.h}[2], [x9]
3490  .long  0x79400109                          // ldrh          w9, [x8]
3491  .long  0x79400508                          // ldrh          w8, [x8, #2]
3492  .long  0x4e041d21                          // mov           v1.s[0], w9
3493  .long  0x4e0c1d01                          // mov           v1.s[1], w8
3494  .long  0x0e401821                          // uzp1          v1.4h, v1.4h, v0.4h
3495  .long  0x2e012000                          // ext           v0.8b, v0.8b, v1.8b, #4
3496  .long  0x2e002000                          // ext           v0.8b, v0.8b, v0.8b, #4
3497  .long  0x17ffffce                          // b             2ed0 <sk_load_4444_aarch64+0x14>
3498  .long  0x0e020fe0                          // dup           v0.4h, wzr
3499  .long  0x0d404100                          // ld1           {v0.h}[0], [x8]
3500  .long  0x17ffffcb                          // b             2ed0 <sk_load_4444_aarch64+0x14>
3501
3502HIDDEN _sk_load_4444_dst_aarch64
3503.globl _sk_load_4444_dst_aarch64
3504FUNCTION(_sk_load_4444_dst_aarch64)
3505_sk_load_4444_dst_aarch64:
3506  .long  0xf9400028                          // ldr           x8, [x1]
3507  .long  0xf9400108                          // ldr           x8, [x8]
3508  .long  0x8b020508                          // add           x8, x8, x2, lsl #1
3509  .long  0xb5000444                          // cbnz          x4, 303c <sk_load_4444_dst_aarch64+0x94>
3510  .long  0xfd400104                          // ldr           d4, [x8]
3511  .long  0x52a6f108                          // mov           w8, #0x37880000
3512  .long  0x2f10a484                          // uxtl          v4.4s, v4.4h
3513  .long  0x4f072605                          // movi          v5.4s, #0xf0, lsl #8
3514  .long  0x72911128                          // movk          w8, #0x8889
3515  .long  0x4f0025e6                          // movi          v6.4s, #0xf, lsl #8
3516  .long  0x4f070607                          // movi          v7.4s, #0xf0
3517  .long  0x4f0005f0                          // movi          v16.4s, #0xf
3518  .long  0x4e251c85                          // and           v5.16b, v4.16b, v5.16b
3519  .long  0x4e261c86                          // and           v6.16b, v4.16b, v6.16b
3520  .long  0x4e271c87                          // and           v7.16b, v4.16b, v7.16b
3521  .long  0x4e301c90                          // and           v16.16b, v4.16b, v16.16b
3522  .long  0x4e040d04                          // dup           v4.4s, w8
3523  .long  0x52a73108                          // mov           w8, #0x39880000
3524  .long  0x72911128                          // movk          w8, #0x8889
3525  .long  0x4e21d8a5                          // scvtf         v5.4s, v5.4s
3526  .long  0x6e24dca4                          // fmul          v4.4s, v5.4s, v4.4s
3527  .long  0x4e040d05                          // dup           v5.4s, w8
3528  .long  0x52a77108                          // mov           w8, #0x3b880000
3529  .long  0x72911128                          // movk          w8, #0x8889
3530  .long  0x4e21d8c6                          // scvtf         v6.4s, v6.4s
3531  .long  0x6e25dcc5                          // fmul          v5.4s, v6.4s, v5.4s
3532  .long  0x4e040d06                          // dup           v6.4s, w8
3533  .long  0x52a7b108                          // mov           w8, #0x3d880000
3534  .long  0xf9400425                          // ldr           x5, [x1, #8]
3535  .long  0x72911128                          // movk          w8, #0x8889
3536  .long  0x4e21d8e7                          // scvtf         v7.4s, v7.4s
3537  .long  0x6e26dce6                          // fmul          v6.4s, v7.4s, v6.4s
3538  .long  0x4e040d07                          // dup           v7.4s, w8
3539  .long  0x4e21da10                          // scvtf         v16.4s, v16.4s
3540  .long  0x6e27de07                          // fmul          v7.4s, v16.4s, v7.4s
3541  .long  0x91004021                          // add           x1, x1, #0x10
3542  .long  0xd61f00a0                          // br            x5
3543  .long  0x12000489                          // and           w9, w4, #0x3
3544  .long  0x7100053f                          // cmp           w9, #0x1
3545  .long  0x54000220                          // b.eq          3088 <sk_load_4444_dst_aarch64+0xe0>  // b.none
3546  .long  0x7100093f                          // cmp           w9, #0x2
3547  .long  0x2f00e404                          // movi          d4, #0x0
3548  .long  0x540000c0                          // b.eq          3068 <sk_load_4444_dst_aarch64+0xc0>  // b.none
3549  .long  0x71000d3f                          // cmp           w9, #0x3
3550  .long  0x54fffb21                          // b.ne          2fbc <sk_load_4444_dst_aarch64+0x14>  // b.any
3551  .long  0x91001109                          // add           x9, x8, #0x4
3552  .long  0x0e020fe4                          // dup           v4.4h, wzr
3553  .long  0x0d405124                          // ld1           {v4.h}[2], [x9]
3554  .long  0x79400109                          // ldrh          w9, [x8]
3555  .long  0x79400508                          // ldrh          w8, [x8, #2]
3556  .long  0x4e041d25                          // mov           v5.s[0], w9
3557  .long  0x4e0c1d05                          // mov           v5.s[1], w8
3558  .long  0x0e4018a5                          // uzp1          v5.4h, v5.4h, v0.4h
3559  .long  0x2e052084                          // ext           v4.8b, v4.8b, v5.8b, #4
3560  .long  0x2e042084                          // ext           v4.8b, v4.8b, v4.8b, #4
3561  .long  0x17ffffce                          // b             2fbc <sk_load_4444_dst_aarch64+0x14>
3562  .long  0x0e020fe4                          // dup           v4.4h, wzr
3563  .long  0x0d404104                          // ld1           {v4.h}[0], [x8]
3564  .long  0x17ffffcb                          // b             2fbc <sk_load_4444_dst_aarch64+0x14>
3565
3566HIDDEN _sk_gather_4444_aarch64
3567.globl _sk_gather_4444_aarch64
3568FUNCTION(_sk_gather_4444_aarch64)
3569_sk_gather_4444_aarch64:
3570  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
3571  .long  0x4ea1b821                          // fcvtzs        v1.4s, v1.4s
3572  .long  0x4ea1b800                          // fcvtzs        v0.4s, v0.4s
3573  .long  0x4f070603                          // movi          v3.4s, #0xf0
3574  .long  0x91002109                          // add           x9, x8, #0x8
3575  .long  0x4d40c922                          // ld1r          {v2.4s}, [x9]
3576  .long  0xf9400108                          // ldr           x8, [x8]
3577  .long  0x4f0005f0                          // movi          v16.4s, #0xf
3578  .long  0x4ea19440                          // mla           v0.4s, v2.4s, v1.4s
3579  .long  0x1e26000c                          // fmov          w12, s0
3580  .long  0x0e0c3c09                          // mov           w9, v0.s[1]
3581  .long  0x8b2c450c                          // add           x12, x8, w12, uxtw #1
3582  .long  0x0e143c0a                          // mov           w10, v0.s[2]
3583  .long  0x0e1c3c0b                          // mov           w11, v0.s[3]
3584  .long  0x0d404180                          // ld1           {v0.h}[0], [x12]
3585  .long  0x78695909                          // ldrh          w9, [x8, w9, uxtw #1]
3586  .long  0x786a590a                          // ldrh          w10, [x8, w10, uxtw #1]
3587  .long  0x786b5908                          // ldrh          w8, [x8, w11, uxtw #1]
3588  .long  0x4f072601                          // movi          v1.4s, #0xf0, lsl #8
3589  .long  0x4e061d20                          // mov           v0.h[1], w9
3590  .long  0x4e0a1d40                          // mov           v0.h[2], w10
3591  .long  0x4e0e1d00                          // mov           v0.h[3], w8
3592  .long  0x52a6f10b                          // mov           w11, #0x37880000
3593  .long  0x2f10a400                          // uxtl          v0.4s, v0.4h
3594  .long  0x7291112b                          // movk          w11, #0x8889
3595  .long  0x4f0025e2                          // movi          v2.4s, #0xf, lsl #8
3596  .long  0x52a73109                          // mov           w9, #0x39880000
3597  .long  0x4e211c01                          // and           v1.16b, v0.16b, v1.16b
3598  .long  0x72911129                          // movk          w9, #0x8889
3599  .long  0x52a7710a                          // mov           w10, #0x3b880000
3600  .long  0x4e221c02                          // and           v2.16b, v0.16b, v2.16b
3601  .long  0x4e231c03                          // and           v3.16b, v0.16b, v3.16b
3602  .long  0x4e301c10                          // and           v16.16b, v0.16b, v16.16b
3603  .long  0x4e040d60                          // dup           v0.4s, w11
3604  .long  0x4e21d821                          // scvtf         v1.4s, v1.4s
3605  .long  0x7291112a                          // movk          w10, #0x8889
3606  .long  0x52a7b108                          // mov           w8, #0x3d880000
3607  .long  0x6e20dc20                          // fmul          v0.4s, v1.4s, v0.4s
3608  .long  0x4e040d21                          // dup           v1.4s, w9
3609  .long  0x4e21d842                          // scvtf         v2.4s, v2.4s
3610  .long  0x72911128                          // movk          w8, #0x8889
3611  .long  0x6e21dc41                          // fmul          v1.4s, v2.4s, v1.4s
3612  .long  0x4e040d42                          // dup           v2.4s, w10
3613  .long  0x4e21d863                          // scvtf         v3.4s, v3.4s
3614  .long  0x6e22dc62                          // fmul          v2.4s, v3.4s, v2.4s
3615  .long  0x4e040d03                          // dup           v3.4s, w8
3616  .long  0x4e21da10                          // scvtf         v16.4s, v16.4s
3617  .long  0x6e23de03                          // fmul          v3.4s, v16.4s, v3.4s
3618  .long  0xd61f00a0                          // br            x5
3619
3620HIDDEN _sk_store_4444_aarch64
3621.globl _sk_store_4444_aarch64
3622FUNCTION(_sk_store_4444_aarch64)
3623_sk_store_4444_aarch64:
3624  .long  0x4f01f5d0                          // fmov          v16.4s, #1.500000000000000000e+01
3625  .long  0xf9400028                          // ldr           x8, [x1]
3626  .long  0x6e30dc11                          // fmul          v17.4s, v0.4s, v16.4s
3627  .long  0x6e30dc32                          // fmul          v18.4s, v1.4s, v16.4s
3628  .long  0x6e21aa31                          // fcvtnu        v17.4s, v17.4s
3629  .long  0x6e21aa52                          // fcvtnu        v18.4s, v18.4s
3630  .long  0x4f2c5631                          // shl           v17.4s, v17.4s, #12
3631  .long  0x4f285652                          // shl           v18.4s, v18.4s, #8
3632  .long  0x4eb11e51                          // orr           v17.16b, v18.16b, v17.16b
3633  .long  0x6e30dc52                          // fmul          v18.4s, v2.4s, v16.4s
3634  .long  0x6e21aa52                          // fcvtnu        v18.4s, v18.4s
3635  .long  0xf9400108                          // ldr           x8, [x8]
3636  .long  0x6e30dc70                          // fmul          v16.4s, v3.4s, v16.4s
3637  .long  0x4f245652                          // shl           v18.4s, v18.4s, #4
3638  .long  0x6e21aa10                          // fcvtnu        v16.4s, v16.4s
3639  .long  0x4eb21e31                          // orr           v17.16b, v17.16b, v18.16b
3640  .long  0x4eb01e30                          // orr           v16.16b, v17.16b, v16.16b
3641  .long  0x8b020508                          // add           x8, x8, x2, lsl #1
3642  .long  0x0e612a10                          // xtn           v16.4h, v16.4s
3643  .long  0xb50000a4                          // cbnz          x4, 31b8 <sk_store_4444_aarch64+0x60>
3644  .long  0xfd000110                          // str           d16, [x8]
3645  .long  0xf9400425                          // ldr           x5, [x1, #8]
3646  .long  0x91004021                          // add           x1, x1, #0x10
3647  .long  0xd61f00a0                          // br            x5
3648  .long  0x12000489                          // and           w9, w4, #0x3
3649  .long  0x7100053f                          // cmp           w9, #0x1
3650  .long  0x54000120                          // b.eq          31e4 <sk_store_4444_aarch64+0x8c>  // b.none
3651  .long  0x7100093f                          // cmp           w9, #0x2
3652  .long  0x540000a0                          // b.eq          31dc <sk_store_4444_aarch64+0x84>  // b.none
3653  .long  0x71000d3f                          // cmp           w9, #0x3
3654  .long  0x54fffee1                          // b.ne          31ac <sk_store_4444_aarch64+0x54>  // b.any
3655  .long  0x91001109                          // add           x9, x8, #0x4
3656  .long  0x0d005130                          // st1           {v16.h}[2], [x9]
3657  .long  0x91000909                          // add           x9, x8, #0x2
3658  .long  0x0d004930                          // st1           {v16.h}[1], [x9]
3659  .long  0x0d004110                          // st1           {v16.h}[0], [x8]
3660  .long  0x17fffff1                          // b             31ac <sk_store_4444_aarch64+0x54>
3661
3662HIDDEN _sk_load_8888_aarch64
3663.globl _sk_load_8888_aarch64
3664FUNCTION(_sk_load_8888_aarch64)
3665_sk_load_8888_aarch64:
3666  .long  0xf9400028                          // ldr           x8, [x1]
3667  .long  0xf9400108                          // ldr           x8, [x8]
3668  .long  0x8b020908                          // add           x8, x8, x2, lsl #2
3669  .long  0xb50002e4                          // cbnz          x4, 3254 <sk_load_8888_aarch64+0x68>
3670  .long  0x3dc00100                          // ldr           q0, [x8]
3671  .long  0x6f00e621                          // movi          v1.2d, #0xff000000ff
3672  .long  0x52a77008                          // mov           w8, #0x3b800000
3673  .long  0x6f380402                          // ushr          v2.4s, v0.4s, #8
3674  .long  0x6f300403                          // ushr          v3.4s, v0.4s, #16
3675  .long  0xf9400425                          // ldr           x5, [x1, #8]
3676  .long  0x72901028                          // movk          w8, #0x8081
3677  .long  0x6f280410                          // ushr          v16.4s, v0.4s, #24
3678  .long  0x4e211c00                          // and           v0.16b, v0.16b, v1.16b
3679  .long  0x4e211c42                          // and           v2.16b, v2.16b, v1.16b
3680  .long  0x4e211c61                          // and           v1.16b, v3.16b, v1.16b
3681  .long  0x4e040d11                          // dup           v17.4s, w8
3682  .long  0x4e21da03                          // scvtf         v3.4s, v16.4s
3683  .long  0x4e21d800                          // scvtf         v0.4s, v0.4s
3684  .long  0x4e21d842                          // scvtf         v2.4s, v2.4s
3685  .long  0x4e21d830                          // scvtf         v16.4s, v1.4s
3686  .long  0x6e31dc63                          // fmul          v3.4s, v3.4s, v17.4s
3687  .long  0x6e31dc00                          // fmul          v0.4s, v0.4s, v17.4s
3688  .long  0x6e31dc41                          // fmul          v1.4s, v2.4s, v17.4s
3689  .long  0x6e31de02                          // fmul          v2.4s, v16.4s, v17.4s
3690  .long  0x91004021                          // add           x1, x1, #0x10
3691  .long  0xd61f00a0                          // br            x5
3692  .long  0x12000489                          // and           w9, w4, #0x3
3693  .long  0x7100053f                          // cmp           w9, #0x1
3694  .long  0x540001a0                          // b.eq          3290 <sk_load_8888_aarch64+0xa4>  // b.none
3695  .long  0x7100093f                          // cmp           w9, #0x2
3696  .long  0x6f00e400                          // movi          v0.2d, #0x0
3697  .long  0x540000c0                          // b.eq          3280 <sk_load_8888_aarch64+0x94>  // b.none
3698  .long  0x71000d3f                          // cmp           w9, #0x3
3699  .long  0x54fffc81                          // b.ne          3200 <sk_load_8888_aarch64+0x14>  // b.any
3700  .long  0x91002109                          // add           x9, x8, #0x8
3701  .long  0x4e040fe0                          // dup           v0.4s, wzr
3702  .long  0x4d408120                          // ld1           {v0.s}[2], [x9]
3703  .long  0xfd400101                          // ldr           d1, [x8]
3704  .long  0x6e014000                          // ext           v0.16b, v0.16b, v1.16b, #8
3705  .long  0x6e004000                          // ext           v0.16b, v0.16b, v0.16b, #8
3706  .long  0x17ffffdd                          // b             3200 <sk_load_8888_aarch64+0x14>
3707  .long  0x4e040fe0                          // dup           v0.4s, wzr
3708  .long  0x0d408100                          // ld1           {v0.s}[0], [x8]
3709  .long  0x17ffffda                          // b             3200 <sk_load_8888_aarch64+0x14>
3710
3711HIDDEN _sk_load_8888_dst_aarch64
3712.globl _sk_load_8888_dst_aarch64
3713FUNCTION(_sk_load_8888_dst_aarch64)
3714_sk_load_8888_dst_aarch64:
3715  .long  0xf9400028                          // ldr           x8, [x1]
3716  .long  0xf9400108                          // ldr           x8, [x8]
3717  .long  0x8b020908                          // add           x8, x8, x2, lsl #2
3718  .long  0xb50002e4                          // cbnz          x4, 3304 <sk_load_8888_dst_aarch64+0x68>
3719  .long  0x3dc00104                          // ldr           q4, [x8]
3720  .long  0x6f00e625                          // movi          v5.2d, #0xff000000ff
3721  .long  0x52a77008                          // mov           w8, #0x3b800000
3722  .long  0x6f380486                          // ushr          v6.4s, v4.4s, #8
3723  .long  0x6f300487                          // ushr          v7.4s, v4.4s, #16
3724  .long  0xf9400425                          // ldr           x5, [x1, #8]
3725  .long  0x72901028                          // movk          w8, #0x8081
3726  .long  0x6f280490                          // ushr          v16.4s, v4.4s, #24
3727  .long  0x4e251c84                          // and           v4.16b, v4.16b, v5.16b
3728  .long  0x4e251cc6                          // and           v6.16b, v6.16b, v5.16b
3729  .long  0x4e251ce5                          // and           v5.16b, v7.16b, v5.16b
3730  .long  0x4e040d11                          // dup           v17.4s, w8
3731  .long  0x4e21da07                          // scvtf         v7.4s, v16.4s
3732  .long  0x4e21d884                          // scvtf         v4.4s, v4.4s
3733  .long  0x4e21d8c6                          // scvtf         v6.4s, v6.4s
3734  .long  0x4e21d8b0                          // scvtf         v16.4s, v5.4s
3735  .long  0x6e31dce7                          // fmul          v7.4s, v7.4s, v17.4s
3736  .long  0x6e31dc84                          // fmul          v4.4s, v4.4s, v17.4s
3737  .long  0x6e31dcc5                          // fmul          v5.4s, v6.4s, v17.4s
3738  .long  0x6e31de06                          // fmul          v6.4s, v16.4s, v17.4s
3739  .long  0x91004021                          // add           x1, x1, #0x10
3740  .long  0xd61f00a0                          // br            x5
3741  .long  0x12000489                          // and           w9, w4, #0x3
3742  .long  0x7100053f                          // cmp           w9, #0x1
3743  .long  0x540001a0                          // b.eq          3340 <sk_load_8888_dst_aarch64+0xa4>  // b.none
3744  .long  0x7100093f                          // cmp           w9, #0x2
3745  .long  0x6f00e404                          // movi          v4.2d, #0x0
3746  .long  0x540000c0                          // b.eq          3330 <sk_load_8888_dst_aarch64+0x94>  // b.none
3747  .long  0x71000d3f                          // cmp           w9, #0x3
3748  .long  0x54fffc81                          // b.ne          32b0 <sk_load_8888_dst_aarch64+0x14>  // b.any
3749  .long  0x91002109                          // add           x9, x8, #0x8
3750  .long  0x4e040fe4                          // dup           v4.4s, wzr
3751  .long  0x4d408124                          // ld1           {v4.s}[2], [x9]
3752  .long  0xfd400105                          // ldr           d5, [x8]
3753  .long  0x6e054084                          // ext           v4.16b, v4.16b, v5.16b, #8
3754  .long  0x6e044084                          // ext           v4.16b, v4.16b, v4.16b, #8
3755  .long  0x17ffffdd                          // b             32b0 <sk_load_8888_dst_aarch64+0x14>
3756  .long  0x4e040fe4                          // dup           v4.4s, wzr
3757  .long  0x0d408104                          // ld1           {v4.s}[0], [x8]
3758  .long  0x17ffffda                          // b             32b0 <sk_load_8888_dst_aarch64+0x14>
3759
3760HIDDEN _sk_gather_8888_aarch64
3761.globl _sk_gather_8888_aarch64
3762FUNCTION(_sk_gather_8888_aarch64)
3763_sk_gather_8888_aarch64:
3764  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
3765  .long  0x4ea1b821                          // fcvtzs        v1.4s, v1.4s
3766  .long  0x4ea1b800                          // fcvtzs        v0.4s, v0.4s
3767  .long  0x91002109                          // add           x9, x8, #0x8
3768  .long  0x4d40c922                          // ld1r          {v2.4s}, [x9]
3769  .long  0xf9400108                          // ldr           x8, [x8]
3770  .long  0x4ea19440                          // mla           v0.4s, v2.4s, v1.4s
3771  .long  0x1e26000c                          // fmov          w12, s0
3772  .long  0x8b2c490c                          // add           x12, x8, w12, uxtw #2
3773  .long  0x0e0c3c09                          // mov           w9, v0.s[1]
3774  .long  0x0e143c0a                          // mov           w10, v0.s[2]
3775  .long  0x0e1c3c0b                          // mov           w11, v0.s[3]
3776  .long  0x0d408180                          // ld1           {v0.s}[0], [x12]
3777  .long  0x8b294909                          // add           x9, x8, w9, uxtw #2
3778  .long  0xb86a590a                          // ldr           w10, [x8, w10, uxtw #2]
3779  .long  0xb86b5908                          // ldr           w8, [x8, w11, uxtw #2]
3780  .long  0x0d409120                          // ld1           {v0.s}[1], [x9]
3781  .long  0x6f00e621                          // movi          v1.2d, #0xff000000ff
3782  .long  0x52a77009                          // mov           w9, #0x3b800000
3783  .long  0x72901029                          // movk          w9, #0x8081
3784  .long  0x4e141d40                          // mov           v0.s[2], w10
3785  .long  0x4e1c1d00                          // mov           v0.s[3], w8
3786  .long  0x6f380410                          // ushr          v16.4s, v0.4s, #8
3787  .long  0x6f300411                          // ushr          v17.4s, v0.4s, #16
3788  .long  0x4e211c03                          // and           v3.16b, v0.16b, v1.16b
3789  .long  0x6f280400                          // ushr          v0.4s, v0.4s, #24
3790  .long  0x4e211e10                          // and           v16.16b, v16.16b, v1.16b
3791  .long  0x4e211e21                          // and           v1.16b, v17.16b, v1.16b
3792  .long  0x4e040d22                          // dup           v2.4s, w9
3793  .long  0x4e21d863                          // scvtf         v3.4s, v3.4s
3794  .long  0x4e21d811                          // scvtf         v17.4s, v0.4s
3795  .long  0x4e21da10                          // scvtf         v16.4s, v16.4s
3796  .long  0x4e21d832                          // scvtf         v18.4s, v1.4s
3797  .long  0x6e22dc60                          // fmul          v0.4s, v3.4s, v2.4s
3798  .long  0x6e22de23                          // fmul          v3.4s, v17.4s, v2.4s
3799  .long  0x6e22de01                          // fmul          v1.4s, v16.4s, v2.4s
3800  .long  0x6e22de42                          // fmul          v2.4s, v18.4s, v2.4s
3801  .long  0xd61f00a0                          // br            x5
3802
3803HIDDEN _sk_store_8888_aarch64
3804.globl _sk_store_8888_aarch64
3805FUNCTION(_sk_store_8888_aarch64)
3806_sk_store_8888_aarch64:
3807  .long  0x52a86fe9                          // mov           w9, #0x437f0000
3808  .long  0xf9400028                          // ldr           x8, [x1]
3809  .long  0x4e040d30                          // dup           v16.4s, w9
3810  .long  0x6e30dc32                          // fmul          v18.4s, v1.4s, v16.4s
3811  .long  0x6e30dc11                          // fmul          v17.4s, v0.4s, v16.4s
3812  .long  0x6e21aa52                          // fcvtnu        v18.4s, v18.4s
3813  .long  0x6e21aa31                          // fcvtnu        v17.4s, v17.4s
3814  .long  0x4f285652                          // shl           v18.4s, v18.4s, #8
3815  .long  0x4eb11e51                          // orr           v17.16b, v18.16b, v17.16b
3816  .long  0x6e30dc52                          // fmul          v18.4s, v2.4s, v16.4s
3817  .long  0xf9400108                          // ldr           x8, [x8]
3818  .long  0x6e30dc70                          // fmul          v16.4s, v3.4s, v16.4s
3819  .long  0x6e21aa52                          // fcvtnu        v18.4s, v18.4s
3820  .long  0x6e21aa10                          // fcvtnu        v16.4s, v16.4s
3821  .long  0x4f305652                          // shl           v18.4s, v18.4s, #16
3822  .long  0x4f385610                          // shl           v16.4s, v16.4s, #24
3823  .long  0x4eb21e31                          // orr           v17.16b, v17.16b, v18.16b
3824  .long  0x8b020908                          // add           x8, x8, x2, lsl #2
3825  .long  0x4eb01e30                          // orr           v16.16b, v17.16b, v16.16b
3826  .long  0xb50000a4                          // cbnz          x4, 3444 <sk_store_8888_aarch64+0x60>
3827  .long  0x3d800110                          // str           q16, [x8]
3828  .long  0xf9400425                          // ldr           x5, [x1, #8]
3829  .long  0x91004021                          // add           x1, x1, #0x10
3830  .long  0xd61f00a0                          // br            x5
3831  .long  0x12000489                          // and           w9, w4, #0x3
3832  .long  0x7100053f                          // cmp           w9, #0x1
3833  .long  0x54000120                          // b.eq          3470 <sk_store_8888_aarch64+0x8c>  // b.none
3834  .long  0x7100093f                          // cmp           w9, #0x2
3835  .long  0x540000a0                          // b.eq          3468 <sk_store_8888_aarch64+0x84>  // b.none
3836  .long  0x71000d3f                          // cmp           w9, #0x3
3837  .long  0x54fffee1                          // b.ne          3438 <sk_store_8888_aarch64+0x54>  // b.any
3838  .long  0x91002109                          // add           x9, x8, #0x8
3839  .long  0x4d008130                          // st1           {v16.s}[2], [x9]
3840  .long  0xfd000110                          // str           d16, [x8]
3841  .long  0x17fffff3                          // b             3438 <sk_store_8888_aarch64+0x54>
3842  .long  0x0d008110                          // st1           {v16.s}[0], [x8]
3843  .long  0x17fffff1                          // b             3438 <sk_store_8888_aarch64+0x54>
3844
3845HIDDEN _sk_store_8888_2d_aarch64
3846.globl _sk_store_8888_2d_aarch64
3847FUNCTION(_sk_store_8888_2d_aarch64)
3848_sk_store_8888_2d_aarch64:
3849  .long  0xf9400028                          // ldr           x8, [x1]
3850  .long  0x52a86fe9                          // mov           w9, #0x437f0000
3851  .long  0x4e040d30                          // dup           v16.4s, w9
3852  .long  0x6e30dc32                          // fmul          v18.4s, v1.4s, v16.4s
3853  .long  0x6e30dc11                          // fmul          v17.4s, v0.4s, v16.4s
3854  .long  0x6e21aa52                          // fcvtnu        v18.4s, v18.4s
3855  .long  0xf9400109                          // ldr           x9, [x8]
3856  .long  0xb9800908                          // ldrsw         x8, [x8, #8]
3857  .long  0x6e21aa31                          // fcvtnu        v17.4s, v17.4s
3858  .long  0x4f285652                          // shl           v18.4s, v18.4s, #8
3859  .long  0x4eb11e51                          // orr           v17.16b, v18.16b, v17.16b
3860  .long  0x6e30dc52                          // fmul          v18.4s, v2.4s, v16.4s
3861  .long  0x6e30dc70                          // fmul          v16.4s, v3.4s, v16.4s
3862  .long  0x6e21aa52                          // fcvtnu        v18.4s, v18.4s
3863  .long  0x6e21aa10                          // fcvtnu        v16.4s, v16.4s
3864  .long  0x4f305652                          // shl           v18.4s, v18.4s, #16
3865  .long  0x9b037d08                          // mul           x8, x8, x3
3866  .long  0x4f385610                          // shl           v16.4s, v16.4s, #24
3867  .long  0x4eb21e31                          // orr           v17.16b, v17.16b, v18.16b
3868  .long  0x8b080928                          // add           x8, x9, x8, lsl #2
3869  .long  0x8b020908                          // add           x8, x8, x2, lsl #2
3870  .long  0x4eb01e30                          // orr           v16.16b, v17.16b, v16.16b
3871  .long  0xb50000a4                          // cbnz          x4, 34e4 <sk_store_8888_2d_aarch64+0x6c>
3872  .long  0x3d800110                          // str           q16, [x8]
3873  .long  0xf9400425                          // ldr           x5, [x1, #8]
3874  .long  0x91004021                          // add           x1, x1, #0x10
3875  .long  0xd61f00a0                          // br            x5
3876  .long  0x12000489                          // and           w9, w4, #0x3
3877  .long  0x7100053f                          // cmp           w9, #0x1
3878  .long  0x54000120                          // b.eq          3510 <sk_store_8888_2d_aarch64+0x98>  // b.none
3879  .long  0x7100093f                          // cmp           w9, #0x2
3880  .long  0x540000a0                          // b.eq          3508 <sk_store_8888_2d_aarch64+0x90>  // b.none
3881  .long  0x71000d3f                          // cmp           w9, #0x3
3882  .long  0x54fffee1                          // b.ne          34d8 <sk_store_8888_2d_aarch64+0x60>  // b.any
3883  .long  0x91002109                          // add           x9, x8, #0x8
3884  .long  0x4d008130                          // st1           {v16.s}[2], [x9]
3885  .long  0xfd000110                          // str           d16, [x8]
3886  .long  0x17fffff3                          // b             34d8 <sk_store_8888_2d_aarch64+0x60>
3887  .long  0x0d008110                          // st1           {v16.s}[0], [x8]
3888  .long  0x17fffff1                          // b             34d8 <sk_store_8888_2d_aarch64+0x60>
3889
3890HIDDEN _sk_load_bgra_aarch64
3891.globl _sk_load_bgra_aarch64
3892FUNCTION(_sk_load_bgra_aarch64)
3893_sk_load_bgra_aarch64:
3894  .long  0xf9400028                          // ldr           x8, [x1]
3895  .long  0xf9400108                          // ldr           x8, [x8]
3896  .long  0x8b020908                          // add           x8, x8, x2, lsl #2
3897  .long  0xb50002e4                          // cbnz          x4, 3580 <sk_load_bgra_aarch64+0x68>
3898  .long  0x3dc00100                          // ldr           q0, [x8]
3899  .long  0x6f00e621                          // movi          v1.2d, #0xff000000ff
3900  .long  0x52a77008                          // mov           w8, #0x3b800000
3901  .long  0x6f380402                          // ushr          v2.4s, v0.4s, #8
3902  .long  0x6f300403                          // ushr          v3.4s, v0.4s, #16
3903  .long  0xf9400425                          // ldr           x5, [x1, #8]
3904  .long  0x72901028                          // movk          w8, #0x8081
3905  .long  0x6f280410                          // ushr          v16.4s, v0.4s, #24
3906  .long  0x4e211c00                          // and           v0.16b, v0.16b, v1.16b
3907  .long  0x4e211c42                          // and           v2.16b, v2.16b, v1.16b
3908  .long  0x4e211c61                          // and           v1.16b, v3.16b, v1.16b
3909  .long  0x4e040d11                          // dup           v17.4s, w8
3910  .long  0x4e21da03                          // scvtf         v3.4s, v16.4s
3911  .long  0x4e21d800                          // scvtf         v0.4s, v0.4s
3912  .long  0x4e21d850                          // scvtf         v16.4s, v2.4s
3913  .long  0x4e21d832                          // scvtf         v18.4s, v1.4s
3914  .long  0x6e31dc63                          // fmul          v3.4s, v3.4s, v17.4s
3915  .long  0x6e31dc02                          // fmul          v2.4s, v0.4s, v17.4s
3916  .long  0x6e31de01                          // fmul          v1.4s, v16.4s, v17.4s
3917  .long  0x6e31de40                          // fmul          v0.4s, v18.4s, v17.4s
3918  .long  0x91004021                          // add           x1, x1, #0x10
3919  .long  0xd61f00a0                          // br            x5
3920  .long  0x12000489                          // and           w9, w4, #0x3
3921  .long  0x7100053f                          // cmp           w9, #0x1
3922  .long  0x540001a0                          // b.eq          35bc <sk_load_bgra_aarch64+0xa4>  // b.none
3923  .long  0x7100093f                          // cmp           w9, #0x2
3924  .long  0x6f00e400                          // movi          v0.2d, #0x0
3925  .long  0x540000c0                          // b.eq          35ac <sk_load_bgra_aarch64+0x94>  // b.none
3926  .long  0x71000d3f                          // cmp           w9, #0x3
3927  .long  0x54fffc81                          // b.ne          352c <sk_load_bgra_aarch64+0x14>  // b.any
3928  .long  0x91002109                          // add           x9, x8, #0x8
3929  .long  0x4e040fe0                          // dup           v0.4s, wzr
3930  .long  0x4d408120                          // ld1           {v0.s}[2], [x9]
3931  .long  0xfd400101                          // ldr           d1, [x8]
3932  .long  0x6e014000                          // ext           v0.16b, v0.16b, v1.16b, #8
3933  .long  0x6e004000                          // ext           v0.16b, v0.16b, v0.16b, #8
3934  .long  0x17ffffdd                          // b             352c <sk_load_bgra_aarch64+0x14>
3935  .long  0x4e040fe0                          // dup           v0.4s, wzr
3936  .long  0x0d408100                          // ld1           {v0.s}[0], [x8]
3937  .long  0x17ffffda                          // b             352c <sk_load_bgra_aarch64+0x14>
3938
3939HIDDEN _sk_load_bgra_dst_aarch64
3940.globl _sk_load_bgra_dst_aarch64
3941FUNCTION(_sk_load_bgra_dst_aarch64)
3942_sk_load_bgra_dst_aarch64:
3943  .long  0xf9400028                          // ldr           x8, [x1]
3944  .long  0xf9400108                          // ldr           x8, [x8]
3945  .long  0x8b020908                          // add           x8, x8, x2, lsl #2
3946  .long  0xb50002e4                          // cbnz          x4, 3630 <sk_load_bgra_dst_aarch64+0x68>
3947  .long  0x3dc00104                          // ldr           q4, [x8]
3948  .long  0x6f00e625                          // movi          v5.2d, #0xff000000ff
3949  .long  0x52a77008                          // mov           w8, #0x3b800000
3950  .long  0x6f380486                          // ushr          v6.4s, v4.4s, #8
3951  .long  0x6f300487                          // ushr          v7.4s, v4.4s, #16
3952  .long  0xf9400425                          // ldr           x5, [x1, #8]
3953  .long  0x72901028                          // movk          w8, #0x8081
3954  .long  0x6f280490                          // ushr          v16.4s, v4.4s, #24
3955  .long  0x4e251c84                          // and           v4.16b, v4.16b, v5.16b
3956  .long  0x4e251cc6                          // and           v6.16b, v6.16b, v5.16b
3957  .long  0x4e251ce5                          // and           v5.16b, v7.16b, v5.16b
3958  .long  0x4e040d11                          // dup           v17.4s, w8
3959  .long  0x4e21da07                          // scvtf         v7.4s, v16.4s
3960  .long  0x4e21d884                          // scvtf         v4.4s, v4.4s
3961  .long  0x4e21d8d0                          // scvtf         v16.4s, v6.4s
3962  .long  0x4e21d8b2                          // scvtf         v18.4s, v5.4s
3963  .long  0x6e31dce7                          // fmul          v7.4s, v7.4s, v17.4s
3964  .long  0x6e31dc86                          // fmul          v6.4s, v4.4s, v17.4s
3965  .long  0x6e31de05                          // fmul          v5.4s, v16.4s, v17.4s
3966  .long  0x6e31de44                          // fmul          v4.4s, v18.4s, v17.4s
3967  .long  0x91004021                          // add           x1, x1, #0x10
3968  .long  0xd61f00a0                          // br            x5
3969  .long  0x12000489                          // and           w9, w4, #0x3
3970  .long  0x7100053f                          // cmp           w9, #0x1
3971  .long  0x540001a0                          // b.eq          366c <sk_load_bgra_dst_aarch64+0xa4>  // b.none
3972  .long  0x7100093f                          // cmp           w9, #0x2
3973  .long  0x6f00e404                          // movi          v4.2d, #0x0
3974  .long  0x540000c0                          // b.eq          365c <sk_load_bgra_dst_aarch64+0x94>  // b.none
3975  .long  0x71000d3f                          // cmp           w9, #0x3
3976  .long  0x54fffc81                          // b.ne          35dc <sk_load_bgra_dst_aarch64+0x14>  // b.any
3977  .long  0x91002109                          // add           x9, x8, #0x8
3978  .long  0x4e040fe4                          // dup           v4.4s, wzr
3979  .long  0x4d408124                          // ld1           {v4.s}[2], [x9]
3980  .long  0xfd400105                          // ldr           d5, [x8]
3981  .long  0x6e054084                          // ext           v4.16b, v4.16b, v5.16b, #8
3982  .long  0x6e044084                          // ext           v4.16b, v4.16b, v4.16b, #8
3983  .long  0x17ffffdd                          // b             35dc <sk_load_bgra_dst_aarch64+0x14>
3984  .long  0x4e040fe4                          // dup           v4.4s, wzr
3985  .long  0x0d408104                          // ld1           {v4.s}[0], [x8]
3986  .long  0x17ffffda                          // b             35dc <sk_load_bgra_dst_aarch64+0x14>
3987
3988HIDDEN _sk_gather_bgra_aarch64
3989.globl _sk_gather_bgra_aarch64
3990FUNCTION(_sk_gather_bgra_aarch64)
3991_sk_gather_bgra_aarch64:
3992  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
3993  .long  0x4ea1b821                          // fcvtzs        v1.4s, v1.4s
3994  .long  0x4ea1b800                          // fcvtzs        v0.4s, v0.4s
3995  .long  0x91002109                          // add           x9, x8, #0x8
3996  .long  0x4d40c922                          // ld1r          {v2.4s}, [x9]
3997  .long  0xf9400108                          // ldr           x8, [x8]
3998  .long  0x4ea19440                          // mla           v0.4s, v2.4s, v1.4s
3999  .long  0x1e26000c                          // fmov          w12, s0
4000  .long  0x8b2c490c                          // add           x12, x8, w12, uxtw #2
4001  .long  0x0e0c3c09                          // mov           w9, v0.s[1]
4002  .long  0x0e143c0a                          // mov           w10, v0.s[2]
4003  .long  0x0e1c3c0b                          // mov           w11, v0.s[3]
4004  .long  0x0d408180                          // ld1           {v0.s}[0], [x12]
4005  .long  0x8b294909                          // add           x9, x8, w9, uxtw #2
4006  .long  0xb86a590a                          // ldr           w10, [x8, w10, uxtw #2]
4007  .long  0xb86b5908                          // ldr           w8, [x8, w11, uxtw #2]
4008  .long  0x0d409120                          // ld1           {v0.s}[1], [x9]
4009  .long  0x6f00e621                          // movi          v1.2d, #0xff000000ff
4010  .long  0x52a77009                          // mov           w9, #0x3b800000
4011  .long  0x72901029                          // movk          w9, #0x8081
4012  .long  0x4e141d40                          // mov           v0.s[2], w10
4013  .long  0x4e1c1d00                          // mov           v0.s[3], w8
4014  .long  0x6f380403                          // ushr          v3.4s, v0.4s, #8
4015  .long  0x6f300411                          // ushr          v17.4s, v0.4s, #16
4016  .long  0x4e211c02                          // and           v2.16b, v0.16b, v1.16b
4017  .long  0x6f280400                          // ushr          v0.4s, v0.4s, #24
4018  .long  0x4e211c63                          // and           v3.16b, v3.16b, v1.16b
4019  .long  0x4e211e21                          // and           v1.16b, v17.16b, v1.16b
4020  .long  0x4e040d30                          // dup           v16.4s, w9
4021  .long  0x4e21d842                          // scvtf         v2.4s, v2.4s
4022  .long  0x4e21d800                          // scvtf         v0.4s, v0.4s
4023  .long  0x4e21d871                          // scvtf         v17.4s, v3.4s
4024  .long  0x4e21d832                          // scvtf         v18.4s, v1.4s
4025  .long  0x6e30dc42                          // fmul          v2.4s, v2.4s, v16.4s
4026  .long  0x6e30dc03                          // fmul          v3.4s, v0.4s, v16.4s
4027  .long  0x6e30de21                          // fmul          v1.4s, v17.4s, v16.4s
4028  .long  0x6e30de40                          // fmul          v0.4s, v18.4s, v16.4s
4029  .long  0xd61f00a0                          // br            x5
4030
4031HIDDEN _sk_store_bgra_aarch64
4032.globl _sk_store_bgra_aarch64
4033FUNCTION(_sk_store_bgra_aarch64)
4034_sk_store_bgra_aarch64:
4035  .long  0x52a86fe9                          // mov           w9, #0x437f0000
4036  .long  0xf9400028                          // ldr           x8, [x1]
4037  .long  0x4e040d30                          // dup           v16.4s, w9
4038  .long  0x6e30dc32                          // fmul          v18.4s, v1.4s, v16.4s
4039  .long  0x6e30dc51                          // fmul          v17.4s, v2.4s, v16.4s
4040  .long  0x6e21aa52                          // fcvtnu        v18.4s, v18.4s
4041  .long  0x6e21aa31                          // fcvtnu        v17.4s, v17.4s
4042  .long  0x4f285652                          // shl           v18.4s, v18.4s, #8
4043  .long  0x4eb11e51                          // orr           v17.16b, v18.16b, v17.16b
4044  .long  0x6e30dc12                          // fmul          v18.4s, v0.4s, v16.4s
4045  .long  0xf9400108                          // ldr           x8, [x8]
4046  .long  0x6e30dc70                          // fmul          v16.4s, v3.4s, v16.4s
4047  .long  0x6e21aa52                          // fcvtnu        v18.4s, v18.4s
4048  .long  0x6e21aa10                          // fcvtnu        v16.4s, v16.4s
4049  .long  0x4f305652                          // shl           v18.4s, v18.4s, #16
4050  .long  0x4f385610                          // shl           v16.4s, v16.4s, #24
4051  .long  0x4eb21e31                          // orr           v17.16b, v17.16b, v18.16b
4052  .long  0x8b020908                          // add           x8, x8, x2, lsl #2
4053  .long  0x4eb01e30                          // orr           v16.16b, v17.16b, v16.16b
4054  .long  0xb50000a4                          // cbnz          x4, 3770 <sk_store_bgra_aarch64+0x60>
4055  .long  0x3d800110                          // str           q16, [x8]
4056  .long  0xf9400425                          // ldr           x5, [x1, #8]
4057  .long  0x91004021                          // add           x1, x1, #0x10
4058  .long  0xd61f00a0                          // br            x5
4059  .long  0x12000489                          // and           w9, w4, #0x3
4060  .long  0x7100053f                          // cmp           w9, #0x1
4061  .long  0x54000120                          // b.eq          379c <sk_store_bgra_aarch64+0x8c>  // b.none
4062  .long  0x7100093f                          // cmp           w9, #0x2
4063  .long  0x540000a0                          // b.eq          3794 <sk_store_bgra_aarch64+0x84>  // b.none
4064  .long  0x71000d3f                          // cmp           w9, #0x3
4065  .long  0x54fffee1                          // b.ne          3764 <sk_store_bgra_aarch64+0x54>  // b.any
4066  .long  0x91002109                          // add           x9, x8, #0x8
4067  .long  0x4d008130                          // st1           {v16.s}[2], [x9]
4068  .long  0xfd000110                          // str           d16, [x8]
4069  .long  0x17fffff3                          // b             3764 <sk_store_bgra_aarch64+0x54>
4070  .long  0x0d008110                          // st1           {v16.s}[0], [x8]
4071  .long  0x17fffff1                          // b             3764 <sk_store_bgra_aarch64+0x54>
4072
4073HIDDEN _sk_load_f16_aarch64
4074.globl _sk_load_f16_aarch64
4075FUNCTION(_sk_load_f16_aarch64)
4076_sk_load_f16_aarch64:
4077  .long  0xf9400028                          // ldr           x8, [x1]
4078  .long  0xf9400108                          // ldr           x8, [x8]
4079  .long  0x8b020d08                          // add           x8, x8, x2, lsl #3
4080  .long  0xb5000124                          // cbnz          x4, 37d4 <sk_load_f16_aarch64+0x30>
4081  .long  0x0c400510                          // ld4           {v16.4h-v19.4h}, [x8]
4082  .long  0xf9400425                          // ldr           x5, [x1, #8]
4083  .long  0x0e217a00                          // fcvtl         v0.4s, v16.4h
4084  .long  0x0e217a21                          // fcvtl         v1.4s, v17.4h
4085  .long  0x0e217a42                          // fcvtl         v2.4s, v18.4h
4086  .long  0x0e217a63                          // fcvtl         v3.4s, v19.4h
4087  .long  0x91004021                          // add           x1, x1, #0x10
4088  .long  0xd61f00a0                          // br            x5
4089  .long  0x0d606110                          // ld4           {v16.h-v19.h}[0], [x8]
4090  .long  0xf100049f                          // cmp           x4, #0x1
4091  .long  0x54fffee0                          // b.eq          37b8 <sk_load_f16_aarch64+0x14>  // b.none
4092  .long  0x91002109                          // add           x9, x8, #0x8
4093  .long  0x0d606930                          // ld4           {v16.h-v19.h}[1], [x9]
4094  .long  0xf1000c9f                          // cmp           x4, #0x3
4095  .long  0x54fffe63                          // b.cc          37b8 <sk_load_f16_aarch64+0x14>  // b.lo, b.ul, b.last
4096  .long  0x91004108                          // add           x8, x8, #0x10
4097  .long  0x0d607110                          // ld4           {v16.h-v19.h}[2], [x8]
4098  .long  0x17fffff0                          // b             37b8 <sk_load_f16_aarch64+0x14>
4099
4100HIDDEN _sk_load_f16_dst_aarch64
4101.globl _sk_load_f16_dst_aarch64
4102FUNCTION(_sk_load_f16_dst_aarch64)
4103_sk_load_f16_dst_aarch64:
4104  .long  0xf9400028                          // ldr           x8, [x1]
4105  .long  0xf9400108                          // ldr           x8, [x8]
4106  .long  0x8b020d08                          // add           x8, x8, x2, lsl #3
4107  .long  0xb5000124                          // cbnz          x4, 382c <sk_load_f16_dst_aarch64+0x30>
4108  .long  0x0c400510                          // ld4           {v16.4h-v19.4h}, [x8]
4109  .long  0xf9400425                          // ldr           x5, [x1, #8]
4110  .long  0x0e217a04                          // fcvtl         v4.4s, v16.4h
4111  .long  0x0e217a25                          // fcvtl         v5.4s, v17.4h
4112  .long  0x0e217a46                          // fcvtl         v6.4s, v18.4h
4113  .long  0x0e217a67                          // fcvtl         v7.4s, v19.4h
4114  .long  0x91004021                          // add           x1, x1, #0x10
4115  .long  0xd61f00a0                          // br            x5
4116  .long  0x0d606110                          // ld4           {v16.h-v19.h}[0], [x8]
4117  .long  0xf100049f                          // cmp           x4, #0x1
4118  .long  0x54fffee0                          // b.eq          3810 <sk_load_f16_dst_aarch64+0x14>  // b.none
4119  .long  0x91002109                          // add           x9, x8, #0x8
4120  .long  0x0d606930                          // ld4           {v16.h-v19.h}[1], [x9]
4121  .long  0xf1000c9f                          // cmp           x4, #0x3
4122  .long  0x54fffe63                          // b.cc          3810 <sk_load_f16_dst_aarch64+0x14>  // b.lo, b.ul, b.last
4123  .long  0x91004108                          // add           x8, x8, #0x10
4124  .long  0x0d607110                          // ld4           {v16.h-v19.h}[2], [x8]
4125  .long  0x17fffff0                          // b             3810 <sk_load_f16_dst_aarch64+0x14>
4126
4127HIDDEN _sk_gather_f16_aarch64
4128.globl _sk_gather_f16_aarch64
4129FUNCTION(_sk_gather_f16_aarch64)
4130_sk_gather_f16_aarch64:
4131  .long  0xa9bf7bfd                          // stp           x29, x30, [sp, #-16]!
4132  .long  0xd100c3e9                          // sub           x9, sp, #0x30
4133  .long  0x910003fd                          // mov           x29, sp
4134  .long  0x927be93f                          // and           sp, x9, #0xffffffffffffffe0
4135  .long  0xf9400028                          // ldr           x8, [x1]
4136  .long  0x4ea1b821                          // fcvtzs        v1.4s, v1.4s
4137  .long  0x4ea1b800                          // fcvtzs        v0.4s, v0.4s
4138  .long  0x91002109                          // add           x9, x8, #0x8
4139  .long  0x4d40c922                          // ld1r          {v2.4s}, [x9]
4140  .long  0xf9400108                          // ldr           x8, [x8]
4141  .long  0x4ea19440                          // mla           v0.4s, v2.4s, v1.4s
4142  .long  0x0e143c0a                          // mov           w10, v0.s[2]
4143  .long  0x1e26000c                          // fmov          w12, s0
4144  .long  0x8b2c4d0c                          // add           x12, x8, w12, uxtw #3
4145  .long  0x8b2a4d0a                          // add           x10, x8, w10, uxtw #3
4146  .long  0x0e0c3c09                          // mov           w9, v0.s[1]
4147  .long  0x0e1c3c0b                          // mov           w11, v0.s[3]
4148  .long  0x0d408540                          // ld1           {v0.d}[0], [x10]
4149  .long  0x0d408581                          // ld1           {v1.d}[0], [x12]
4150  .long  0x8b294d09                          // add           x9, x8, w9, uxtw #3
4151  .long  0x8b2b4d08                          // add           x8, x8, w11, uxtw #3
4152  .long  0x4d408500                          // ld1           {v0.d}[1], [x8]
4153  .long  0x4d408521                          // ld1           {v1.d}[1], [x9]
4154  .long  0x910003e8                          // mov           x8, sp
4155  .long  0xad0003e1                          // stp           q1, q0, [sp]
4156  .long  0x0c400510                          // ld4           {v16.4h-v19.4h}, [x8]
4157  .long  0xf9400428                          // ldr           x8, [x1, #8]
4158  .long  0x91004021                          // add           x1, x1, #0x10
4159  .long  0x0e217a00                          // fcvtl         v0.4s, v16.4h
4160  .long  0x0e217a21                          // fcvtl         v1.4s, v17.4h
4161  .long  0x0e217a42                          // fcvtl         v2.4s, v18.4h
4162  .long  0x0e217a63                          // fcvtl         v3.4s, v19.4h
4163  .long  0xd63f0100                          // blr           x8
4164  .long  0x910003bf                          // mov           sp, x29
4165  .long  0xa8c17bfd                          // ldp           x29, x30, [sp], #16
4166  .long  0xd65f03c0                          // ret
4167
4168HIDDEN _sk_store_f16_aarch64
4169.globl _sk_store_f16_aarch64
4170FUNCTION(_sk_store_f16_aarch64)
4171_sk_store_f16_aarch64:
4172  .long  0xf9400028                          // ldr           x8, [x1]
4173  .long  0x0e216810                          // fcvtn         v16.4h, v0.4s
4174  .long  0x0e216831                          // fcvtn         v17.4h, v1.4s
4175  .long  0x0e216852                          // fcvtn         v18.4h, v2.4s
4176  .long  0xf9400108                          // ldr           x8, [x8]
4177  .long  0x0e216873                          // fcvtn         v19.4h, v3.4s
4178  .long  0x8b020d08                          // add           x8, x8, x2, lsl #3
4179  .long  0xb50000a4                          // cbnz          x4, 3914 <sk_store_f16_aarch64+0x30>
4180  .long  0x0c000510                          // st4           {v16.4h-v19.4h}, [x8]
4181  .long  0xf9400425                          // ldr           x5, [x1, #8]
4182  .long  0x91004021                          // add           x1, x1, #0x10
4183  .long  0xd61f00a0                          // br            x5
4184  .long  0xf100049f                          // cmp           x4, #0x1
4185  .long  0x0d206110                          // st4           {v16.h-v19.h}[0], [x8]
4186  .long  0x54ffff60                          // b.eq          3908 <sk_store_f16_aarch64+0x24>  // b.none
4187  .long  0x91002109                          // add           x9, x8, #0x8
4188  .long  0xf1000c9f                          // cmp           x4, #0x3
4189  .long  0x0d206930                          // st4           {v16.h-v19.h}[1], [x9]
4190  .long  0x54fffee3                          // b.cc          3908 <sk_store_f16_aarch64+0x24>  // b.lo, b.ul, b.last
4191  .long  0x91004108                          // add           x8, x8, #0x10
4192  .long  0x0d207110                          // st4           {v16.h-v19.h}[2], [x8]
4193  .long  0x17fffff4                          // b             3908 <sk_store_f16_aarch64+0x24>
4194
4195HIDDEN _sk_load_u16_be_aarch64
4196.globl _sk_load_u16_be_aarch64
4197FUNCTION(_sk_load_u16_be_aarch64)
4198_sk_load_u16_be_aarch64:
4199  .long  0xf9400028                          // ldr           x8, [x1]
4200  .long  0xf9400108                          // ldr           x8, [x8]
4201  .long  0x8b020d08                          // add           x8, x8, x2, lsl #3
4202  .long  0xb5000404                          // cbnz          x4, 39c8 <sk_load_u16_be_aarch64+0x8c>
4203  .long  0x0c400500                          // ld4           {v0.4h-v3.4h}, [x8]
4204  .long  0x0f185410                          // shl           v16.4h, v0.4h, #8
4205  .long  0x2f180411                          // ushr          v17.4h, v0.4h, #8
4206  .long  0x0f185432                          // shl           v18.4h, v1.4h, #8
4207  .long  0x2f180433                          // ushr          v19.4h, v1.4h, #8
4208  .long  0x0f185454                          // shl           v20.4h, v2.4h, #8
4209  .long  0x2f180455                          // ushr          v21.4h, v2.4h, #8
4210  .long  0x0f185476                          // shl           v22.4h, v3.4h, #8
4211  .long  0x2f180460                          // ushr          v0.4h, v3.4h, #8
4212  .long  0x52a6f008                          // mov           w8, #0x37800000
4213  .long  0xf9400425                          // ldr           x5, [x1, #8]
4214  .long  0x0eb11e01                          // orr           v1.8b, v16.8b, v17.8b
4215  .long  0x0eb31e42                          // orr           v2.8b, v18.8b, v19.8b
4216  .long  0x0eb51e90                          // orr           v16.8b, v20.8b, v21.8b
4217  .long  0x0ea01ec0                          // orr           v0.8b, v22.8b, v0.8b
4218  .long  0x72801008                          // movk          w8, #0x80
4219  .long  0x2f10a421                          // uxtl          v1.4s, v1.4h
4220  .long  0x2f10a442                          // uxtl          v2.4s, v2.4h
4221  .long  0x2f10a610                          // uxtl          v16.4s, v16.4h
4222  .long  0x2f10a400                          // uxtl          v0.4s, v0.4h
4223  .long  0x4e040d03                          // dup           v3.4s, w8
4224  .long  0x6e21d821                          // ucvtf         v1.4s, v1.4s
4225  .long  0x6e21d842                          // ucvtf         v2.4s, v2.4s
4226  .long  0x6e21da10                          // ucvtf         v16.4s, v16.4s
4227  .long  0x6e21d811                          // ucvtf         v17.4s, v0.4s
4228  .long  0x6e23dc20                          // fmul          v0.4s, v1.4s, v3.4s
4229  .long  0x6e23dc41                          // fmul          v1.4s, v2.4s, v3.4s
4230  .long  0x6e23de02                          // fmul          v2.4s, v16.4s, v3.4s
4231  .long  0x6e23de23                          // fmul          v3.4s, v17.4s, v3.4s
4232  .long  0x91004021                          // add           x1, x1, #0x10
4233  .long  0xd61f00a0                          // br            x5
4234  .long  0x0d606100                          // ld4           {v0.h-v3.h}[0], [x8]
4235  .long  0xf100049f                          // cmp           x4, #0x1
4236  .long  0x54fffc00                          // b.eq          3950 <sk_load_u16_be_aarch64+0x14>  // b.none
4237  .long  0x91002109                          // add           x9, x8, #0x8
4238  .long  0x0d606920                          // ld4           {v0.h-v3.h}[1], [x9]
4239  .long  0xf1000c9f                          // cmp           x4, #0x3
4240  .long  0x54fffb83                          // b.cc          3950 <sk_load_u16_be_aarch64+0x14>  // b.lo, b.ul, b.last
4241  .long  0x91004108                          // add           x8, x8, #0x10
4242  .long  0x0d607100                          // ld4           {v0.h-v3.h}[2], [x8]
4243  .long  0x17ffffd9                          // b             3950 <sk_load_u16_be_aarch64+0x14>
4244
4245HIDDEN _sk_load_rgb_u16_be_aarch64
4246.globl _sk_load_rgb_u16_be_aarch64
4247FUNCTION(_sk_load_rgb_u16_be_aarch64)
4248_sk_load_rgb_u16_be_aarch64:
4249  .long  0xf9400028                          // ldr           x8, [x1]
4250  .long  0x321f07e9                          // orr           w9, wzr, #0x6
4251  .long  0xf9400108                          // ldr           x8, [x8]
4252  .long  0x9b092048                          // madd          x8, x2, x9, x8
4253  .long  0xb5000384                          // cbnz          x4, 3a70 <sk_load_rgb_u16_be_aarch64+0x80>
4254  .long  0x0c404500                          // ld3           {v0.4h-v2.4h}, [x8]
4255  .long  0x0f185403                          // shl           v3.4h, v0.4h, #8
4256  .long  0x2f180410                          // ushr          v16.4h, v0.4h, #8
4257  .long  0x0f185431                          // shl           v17.4h, v1.4h, #8
4258  .long  0x2f180432                          // ushr          v18.4h, v1.4h, #8
4259  .long  0x0f185453                          // shl           v19.4h, v2.4h, #8
4260  .long  0x2f180440                          // ushr          v0.4h, v2.4h, #8
4261  .long  0x52a6f008                          // mov           w8, #0x37800000
4262  .long  0xf9400425                          // ldr           x5, [x1, #8]
4263  .long  0x0eb01c61                          // orr           v1.8b, v3.8b, v16.8b
4264  .long  0x0eb21e23                          // orr           v3.8b, v17.8b, v18.8b
4265  .long  0x0ea01e60                          // orr           v0.8b, v19.8b, v0.8b
4266  .long  0x72801008                          // movk          w8, #0x80
4267  .long  0x2f10a421                          // uxtl          v1.4s, v1.4h
4268  .long  0x2f10a463                          // uxtl          v3.4s, v3.4h
4269  .long  0x2f10a400                          // uxtl          v0.4s, v0.4h
4270  .long  0x4e040d02                          // dup           v2.4s, w8
4271  .long  0x91004028                          // add           x8, x1, #0x10
4272  .long  0x6e21d821                          // ucvtf         v1.4s, v1.4s
4273  .long  0x6e21d863                          // ucvtf         v3.4s, v3.4s
4274  .long  0x6e21d810                          // ucvtf         v16.4s, v0.4s
4275  .long  0x6e22dc20                          // fmul          v0.4s, v1.4s, v2.4s
4276  .long  0x6e22dc61                          // fmul          v1.4s, v3.4s, v2.4s
4277  .long  0x6e22de02                          // fmul          v2.4s, v16.4s, v2.4s
4278  .long  0x4f03f603                          // fmov          v3.4s, #1.000000000000000000e+00
4279  .long  0xaa0803e1                          // mov           x1, x8
4280  .long  0xd61f00a0                          // br            x5
4281  .long  0x0d406100                          // ld3           {v0.h-v2.h}[0], [x8]
4282  .long  0xf100049f                          // cmp           x4, #0x1
4283  .long  0x54fffc80                          // b.eq          3a08 <sk_load_rgb_u16_be_aarch64+0x18>  // b.none
4284  .long  0x91001909                          // add           x9, x8, #0x6
4285  .long  0x0d406920                          // ld3           {v0.h-v2.h}[1], [x9]
4286  .long  0xf1000c9f                          // cmp           x4, #0x3
4287  .long  0x54fffc03                          // b.cc          3a08 <sk_load_rgb_u16_be_aarch64+0x18>  // b.lo, b.ul, b.last
4288  .long  0x91003108                          // add           x8, x8, #0xc
4289  .long  0x0d407100                          // ld3           {v0.h-v2.h}[2], [x8]
4290  .long  0x17ffffdd                          // b             3a08 <sk_load_rgb_u16_be_aarch64+0x18>
4291
4292HIDDEN _sk_store_u16_be_aarch64
4293.globl _sk_store_u16_be_aarch64
4294FUNCTION(_sk_store_u16_be_aarch64)
4295_sk_store_u16_be_aarch64:
4296  .long  0x52a8efe9                          // mov           w9, #0x477f0000
4297  .long  0x729fe009                          // movk          w9, #0xff00
4298  .long  0x4e040d34                          // dup           v20.4s, w9
4299  .long  0x6e34dc10                          // fmul          v16.4s, v0.4s, v20.4s
4300  .long  0x6e34dc31                          // fmul          v17.4s, v1.4s, v20.4s
4301  .long  0x6e21aa10                          // fcvtnu        v16.4s, v16.4s
4302  .long  0xf9400028                          // ldr           x8, [x1]
4303  .long  0x6e21aa31                          // fcvtnu        v17.4s, v17.4s
4304  .long  0x0e612a10                          // xtn           v16.4h, v16.4s
4305  .long  0x0e612a31                          // xtn           v17.4h, v17.4s
4306  .long  0x0f185612                          // shl           v18.4h, v16.4h, #8
4307  .long  0x2f180610                          // ushr          v16.4h, v16.4h, #8
4308  .long  0x0f185635                          // shl           v21.4h, v17.4h, #8
4309  .long  0x2f180636                          // ushr          v22.4h, v17.4h, #8
4310  .long  0x0eb01e50                          // orr           v16.8b, v18.8b, v16.8b
4311  .long  0x0eb61eb1                          // orr           v17.8b, v21.8b, v22.8b
4312  .long  0x6e34dc55                          // fmul          v21.4s, v2.4s, v20.4s
4313  .long  0x6e34dc74                          // fmul          v20.4s, v3.4s, v20.4s
4314  .long  0x6e21aab5                          // fcvtnu        v21.4s, v21.4s
4315  .long  0xf9400108                          // ldr           x8, [x8]
4316  .long  0x6e21aa94                          // fcvtnu        v20.4s, v20.4s
4317  .long  0x0e612ab5                          // xtn           v21.4h, v21.4s
4318  .long  0x0e612a94                          // xtn           v20.4h, v20.4s
4319  .long  0x0f1856b6                          // shl           v22.4h, v21.4h, #8
4320  .long  0x2f1806b5                          // ushr          v21.4h, v21.4h, #8
4321  .long  0x0eb51ed2                          // orr           v18.8b, v22.8b, v21.8b
4322  .long  0x0f185695                          // shl           v21.4h, v20.4h, #8
4323  .long  0x2f180694                          // ushr          v20.4h, v20.4h, #8
4324  .long  0x8b020d08                          // add           x8, x8, x2, lsl #3
4325  .long  0x0eb41eb3                          // orr           v19.8b, v21.8b, v20.8b
4326  .long  0xb50000a4                          // cbnz          x4, 3b24 <sk_store_u16_be_aarch64+0x8c>
4327  .long  0x0c000510                          // st4           {v16.4h-v19.4h}, [x8]
4328  .long  0xf9400425                          // ldr           x5, [x1, #8]
4329  .long  0x91004021                          // add           x1, x1, #0x10
4330  .long  0xd61f00a0                          // br            x5
4331  .long  0xf100049f                          // cmp           x4, #0x1
4332  .long  0x0d206110                          // st4           {v16.h-v19.h}[0], [x8]
4333  .long  0x54ffff60                          // b.eq          3b18 <sk_store_u16_be_aarch64+0x80>  // b.none
4334  .long  0x91002109                          // add           x9, x8, #0x8
4335  .long  0xf1000c9f                          // cmp           x4, #0x3
4336  .long  0x0d206930                          // st4           {v16.h-v19.h}[1], [x9]
4337  .long  0x54fffee3                          // b.cc          3b18 <sk_store_u16_be_aarch64+0x80>  // b.lo, b.ul, b.last
4338  .long  0x91004108                          // add           x8, x8, #0x10
4339  .long  0x0d207110                          // st4           {v16.h-v19.h}[2], [x8]
4340  .long  0x17fffff4                          // b             3b18 <sk_store_u16_be_aarch64+0x80>
4341
4342HIDDEN _sk_load_f32_aarch64
4343.globl _sk_load_f32_aarch64
4344FUNCTION(_sk_load_f32_aarch64)
4345_sk_load_f32_aarch64:
4346  .long  0xf9400028                          // ldr           x8, [x1]
4347  .long  0xf9400108                          // ldr           x8, [x8]
4348  .long  0x8b021108                          // add           x8, x8, x2, lsl #4
4349  .long  0xb50000a4                          // cbnz          x4, 3b6c <sk_load_f32_aarch64+0x20>
4350  .long  0x4c400900                          // ld4           {v0.4s-v3.4s}, [x8]
4351  .long  0xf9400425                          // ldr           x5, [x1, #8]
4352  .long  0x91004021                          // add           x1, x1, #0x10
4353  .long  0xd61f00a0                          // br            x5
4354  .long  0x0d60a100                          // ld4           {v0.s-v3.s}[0], [x8]
4355  .long  0xf100049f                          // cmp           x4, #0x1
4356  .long  0x54ffff60                          // b.eq          3b60 <sk_load_f32_aarch64+0x14>  // b.none
4357  .long  0x91004109                          // add           x9, x8, #0x10
4358  .long  0x0d60b120                          // ld4           {v0.s-v3.s}[1], [x9]
4359  .long  0xf1000c9f                          // cmp           x4, #0x3
4360  .long  0x54fffee3                          // b.cc          3b60 <sk_load_f32_aarch64+0x14>  // b.lo, b.ul, b.last
4361  .long  0x91008108                          // add           x8, x8, #0x20
4362  .long  0x4d60a100                          // ld4           {v0.s-v3.s}[2], [x8]
4363  .long  0x17fffff4                          // b             3b60 <sk_load_f32_aarch64+0x14>
4364
4365HIDDEN _sk_load_f32_dst_aarch64
4366.globl _sk_load_f32_dst_aarch64
4367FUNCTION(_sk_load_f32_dst_aarch64)
4368_sk_load_f32_dst_aarch64:
4369  .long  0xf9400028                          // ldr           x8, [x1]
4370  .long  0xf9400108                          // ldr           x8, [x8]
4371  .long  0x8b021108                          // add           x8, x8, x2, lsl #4
4372  .long  0xb50000a4                          // cbnz          x4, 3bb4 <sk_load_f32_dst_aarch64+0x20>
4373  .long  0x4c400904                          // ld4           {v4.4s-v7.4s}, [x8]
4374  .long  0xf9400425                          // ldr           x5, [x1, #8]
4375  .long  0x91004021                          // add           x1, x1, #0x10
4376  .long  0xd61f00a0                          // br            x5
4377  .long  0x0d60a104                          // ld4           {v4.s-v7.s}[0], [x8]
4378  .long  0xf100049f                          // cmp           x4, #0x1
4379  .long  0x54ffff60                          // b.eq          3ba8 <sk_load_f32_dst_aarch64+0x14>  // b.none
4380  .long  0x91004109                          // add           x9, x8, #0x10
4381  .long  0x0d60b124                          // ld4           {v4.s-v7.s}[1], [x9]
4382  .long  0xf1000c9f                          // cmp           x4, #0x3
4383  .long  0x54fffee3                          // b.cc          3ba8 <sk_load_f32_dst_aarch64+0x14>  // b.lo, b.ul, b.last
4384  .long  0x91008108                          // add           x8, x8, #0x20
4385  .long  0x4d60a104                          // ld4           {v4.s-v7.s}[2], [x8]
4386  .long  0x17fffff4                          // b             3ba8 <sk_load_f32_dst_aarch64+0x14>
4387
4388HIDDEN _sk_store_f32_aarch64
4389.globl _sk_store_f32_aarch64
4390FUNCTION(_sk_store_f32_aarch64)
4391_sk_store_f32_aarch64:
4392  .long  0xf9400028                          // ldr           x8, [x1]
4393  .long  0xf9400108                          // ldr           x8, [x8]
4394  .long  0x8b021108                          // add           x8, x8, x2, lsl #4
4395  .long  0xb50000a4                          // cbnz          x4, 3bfc <sk_store_f32_aarch64+0x20>
4396  .long  0x4c000900                          // st4           {v0.4s-v3.4s}, [x8]
4397  .long  0xf9400425                          // ldr           x5, [x1, #8]
4398  .long  0x91004021                          // add           x1, x1, #0x10
4399  .long  0xd61f00a0                          // br            x5
4400  .long  0xf100049f                          // cmp           x4, #0x1
4401  .long  0x0d20a100                          // st4           {v0.s-v3.s}[0], [x8]
4402  .long  0x54ffff60                          // b.eq          3bf0 <sk_store_f32_aarch64+0x14>  // b.none
4403  .long  0x91004109                          // add           x9, x8, #0x10
4404  .long  0xf1000c9f                          // cmp           x4, #0x3
4405  .long  0x0d20b120                          // st4           {v0.s-v3.s}[1], [x9]
4406  .long  0x54fffee3                          // b.cc          3bf0 <sk_store_f32_aarch64+0x14>  // b.lo, b.ul, b.last
4407  .long  0x91008108                          // add           x8, x8, #0x20
4408  .long  0x4d20a100                          // st4           {v0.s-v3.s}[2], [x8]
4409  .long  0x17fffff4                          // b             3bf0 <sk_store_f32_aarch64+0x14>
4410
4411HIDDEN _sk_clamp_x_aarch64
4412.globl _sk_clamp_x_aarch64
4413FUNCTION(_sk_clamp_x_aarch64)
4414_sk_clamp_x_aarch64:
4415  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
4416  .long  0x6f00e411                          // movi          v17.2d, #0x0
4417  .long  0x4e20f620                          // fmax          v0.4s, v17.4s, v0.4s
4418  .long  0x6f07e7f1                          // movi          v17.2d, #0xffffffffffffffff
4419  .long  0x4d40c910                          // ld1r          {v16.4s}, [x8]
4420  .long  0x4eb18610                          // add           v16.4s, v16.4s, v17.4s
4421  .long  0x4eb0f400                          // fmin          v0.4s, v0.4s, v16.4s
4422  .long  0xd61f00a0                          // br            x5
4423
4424HIDDEN _sk_clamp_y_aarch64
4425.globl _sk_clamp_y_aarch64
4426FUNCTION(_sk_clamp_y_aarch64)
4427_sk_clamp_y_aarch64:
4428  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
4429  .long  0x6f00e411                          // movi          v17.2d, #0x0
4430  .long  0x4e21f621                          // fmax          v1.4s, v17.4s, v1.4s
4431  .long  0x6f07e7f1                          // movi          v17.2d, #0xffffffffffffffff
4432  .long  0x4d40c910                          // ld1r          {v16.4s}, [x8]
4433  .long  0x4eb18610                          // add           v16.4s, v16.4s, v17.4s
4434  .long  0x4eb0f421                          // fmin          v1.4s, v1.4s, v16.4s
4435  .long  0xd61f00a0                          // br            x5
4436
4437HIDDEN _sk_repeat_x_aarch64
4438.globl _sk_repeat_x_aarch64
4439FUNCTION(_sk_repeat_x_aarch64)
4440_sk_repeat_x_aarch64:
4441  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
4442  .long  0x4ddfc910                          // ld1r          {v16.4s}, [x8], #4
4443  .long  0xbd400111                          // ldr           s17, [x8]
4444  .long  0x4f919011                          // fmul          v17.4s, v0.4s, v17.s[0]
4445  .long  0x4e219a31                          // frintm        v17.4s, v17.4s
4446  .long  0x4eb1ce00                          // fmls          v0.4s, v16.4s, v17.4s
4447  .long  0x6f07e7f1                          // movi          v17.2d, #0xffffffffffffffff
4448  .long  0x4eb18610                          // add           v16.4s, v16.4s, v17.4s
4449  .long  0x4eb0f400                          // fmin          v0.4s, v0.4s, v16.4s
4450  .long  0xd61f00a0                          // br            x5
4451
4452HIDDEN _sk_repeat_y_aarch64
4453.globl _sk_repeat_y_aarch64
4454FUNCTION(_sk_repeat_y_aarch64)
4455_sk_repeat_y_aarch64:
4456  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
4457  .long  0x4ddfc910                          // ld1r          {v16.4s}, [x8], #4
4458  .long  0xbd400111                          // ldr           s17, [x8]
4459  .long  0x4f919031                          // fmul          v17.4s, v1.4s, v17.s[0]
4460  .long  0x4e219a31                          // frintm        v17.4s, v17.4s
4461  .long  0x4eb1ce01                          // fmls          v1.4s, v16.4s, v17.4s
4462  .long  0x6f07e7f1                          // movi          v17.2d, #0xffffffffffffffff
4463  .long  0x4eb18610                          // add           v16.4s, v16.4s, v17.4s
4464  .long  0x4eb0f421                          // fmin          v1.4s, v1.4s, v16.4s
4465  .long  0xd61f00a0                          // br            x5
4466
4467HIDDEN _sk_mirror_x_aarch64
4468.globl _sk_mirror_x_aarch64
4469FUNCTION(_sk_mirror_x_aarch64)
4470_sk_mirror_x_aarch64:
4471  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
4472  .long  0x1e2c1012                          // fmov          s18, #5.000000000000000000e-01
4473  .long  0x6f07e7f3                          // movi          v19.2d, #0xffffffffffffffff
4474  .long  0x2d404111                          // ldp           s17, s16, [x8]
4475  .long  0x1e320a10                          // fmul          s16, s16, s18
4476  .long  0x4e040632                          // dup           v18.4s, v17.s[0]
4477  .long  0x4eb2d400                          // fsub          v0.4s, v0.4s, v18.4s
4478  .long  0x4f909010                          // fmul          v16.4s, v0.4s, v16.s[0]
4479  .long  0x1e312a31                          // fadd          s17, s17, s17
4480  .long  0x4e219a10                          // frintm        v16.4s, v16.4s
4481  .long  0x4f915200                          // fmls          v0.4s, v16.4s, v17.s[0]
4482  .long  0x4eb2d400                          // fsub          v0.4s, v0.4s, v18.4s
4483  .long  0x4eb38653                          // add           v19.4s, v18.4s, v19.4s
4484  .long  0x4ea0f800                          // fabs          v0.4s, v0.4s
4485  .long  0x4eb3f400                          // fmin          v0.4s, v0.4s, v19.4s
4486  .long  0xd61f00a0                          // br            x5
4487
4488HIDDEN _sk_mirror_y_aarch64
4489.globl _sk_mirror_y_aarch64
4490FUNCTION(_sk_mirror_y_aarch64)
4491_sk_mirror_y_aarch64:
4492  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
4493  .long  0x1e2c1012                          // fmov          s18, #5.000000000000000000e-01
4494  .long  0x6f07e7f3                          // movi          v19.2d, #0xffffffffffffffff
4495  .long  0x2d404111                          // ldp           s17, s16, [x8]
4496  .long  0x1e320a10                          // fmul          s16, s16, s18
4497  .long  0x4e040632                          // dup           v18.4s, v17.s[0]
4498  .long  0x4eb2d421                          // fsub          v1.4s, v1.4s, v18.4s
4499  .long  0x4f909030                          // fmul          v16.4s, v1.4s, v16.s[0]
4500  .long  0x1e312a31                          // fadd          s17, s17, s17
4501  .long  0x4e219a10                          // frintm        v16.4s, v16.4s
4502  .long  0x4f915201                          // fmls          v1.4s, v16.4s, v17.s[0]
4503  .long  0x4eb2d421                          // fsub          v1.4s, v1.4s, v18.4s
4504  .long  0x4eb38653                          // add           v19.4s, v18.4s, v19.4s
4505  .long  0x4ea0f821                          // fabs          v1.4s, v1.4s
4506  .long  0x4eb3f421                          // fmin          v1.4s, v1.4s, v19.4s
4507  .long  0xd61f00a0                          // br            x5
4508
4509HIDDEN _sk_clamp_x_1_aarch64
4510.globl _sk_clamp_x_1_aarch64
4511FUNCTION(_sk_clamp_x_1_aarch64)
4512_sk_clamp_x_1_aarch64:
4513  .long  0xf8408425                          // ldr           x5, [x1], #8
4514  .long  0x6f00e410                          // movi          v16.2d, #0x0
4515  .long  0x4e20f600                          // fmax          v0.4s, v16.4s, v0.4s
4516  .long  0x4f03f610                          // fmov          v16.4s, #1.000000000000000000e+00
4517  .long  0x4eb0f400                          // fmin          v0.4s, v0.4s, v16.4s
4518  .long  0xd61f00a0                          // br            x5
4519
4520HIDDEN _sk_repeat_x_1_aarch64
4521.globl _sk_repeat_x_1_aarch64
4522FUNCTION(_sk_repeat_x_1_aarch64)
4523_sk_repeat_x_1_aarch64:
4524  .long  0xf8408425                          // ldr           x5, [x1], #8
4525  .long  0x4e219810                          // frintm        v16.4s, v0.4s
4526  .long  0x4eb0d400                          // fsub          v0.4s, v0.4s, v16.4s
4527  .long  0xd61f00a0                          // br            x5
4528
4529HIDDEN _sk_mirror_x_1_aarch64
4530.globl _sk_mirror_x_1_aarch64
4531FUNCTION(_sk_mirror_x_1_aarch64)
4532_sk_mirror_x_1_aarch64:
4533  .long  0x4f07f610                          // fmov          v16.4s, #-1.000000000000000000e+00
4534  .long  0x4f0167f1                          // movi          v17.4s, #0x3f, lsl #24
4535  .long  0x4e30d400                          // fadd          v0.4s, v0.4s, v16.4s
4536  .long  0x6e31dc11                          // fmul          v17.4s, v0.4s, v17.4s
4537  .long  0x4e219a31                          // frintm        v17.4s, v17.4s
4538  .long  0x4e31d631                          // fadd          v17.4s, v17.4s, v17.4s
4539  .long  0xf8408425                          // ldr           x5, [x1], #8
4540  .long  0x4eb1d400                          // fsub          v0.4s, v0.4s, v17.4s
4541  .long  0x4e30d400                          // fadd          v0.4s, v0.4s, v16.4s
4542  .long  0x4ea0f800                          // fabs          v0.4s, v0.4s
4543  .long  0xd61f00a0                          // br            x5
4544
4545HIDDEN _sk_luminance_to_alpha_aarch64
4546.globl _sk_luminance_to_alpha_aarch64
4547FUNCTION(_sk_luminance_to_alpha_aarch64)
4548_sk_luminance_to_alpha_aarch64:
4549  .long  0x52a7cb28                          // mov           w8, #0x3e590000
4550  .long  0x72967a08                          // movk          w8, #0xb3d0
4551  .long  0x4e040d11                          // dup           v17.4s, w8
4552  .long  0x52a7e6e8                          // mov           w8, #0x3f370000
4553  .long  0x7282eb28                          // movk          w8, #0x1759
4554  .long  0x4ea01c10                          // mov           v16.16b, v0.16b
4555  .long  0x4e040d00                          // dup           v0.4s, w8
4556  .long  0x52a7b268                          // mov           w8, #0x3d930000
4557  .long  0xf8408425                          // ldr           x5, [x1], #8
4558  .long  0x729bb308                          // movk          w8, #0xdd98
4559  .long  0x6e20dc23                          // fmul          v3.4s, v1.4s, v0.4s
4560  .long  0x4e30ce23                          // fmla          v3.4s, v17.4s, v16.4s
4561  .long  0x4e040d10                          // dup           v16.4s, w8
4562  .long  0x6f00e400                          // movi          v0.2d, #0x0
4563  .long  0x6f00e401                          // movi          v1.2d, #0x0
4564  .long  0x4e22ce03                          // fmla          v3.4s, v16.4s, v2.4s
4565  .long  0x6f00e402                          // movi          v2.2d, #0x0
4566  .long  0xd61f00a0                          // br            x5
4567
4568HIDDEN _sk_matrix_translate_aarch64
4569.globl _sk_matrix_translate_aarch64
4570FUNCTION(_sk_matrix_translate_aarch64)
4571_sk_matrix_translate_aarch64:
4572  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
4573  .long  0x4ddfc910                          // ld1r          {v16.4s}, [x8], #4
4574  .long  0x4d40c911                          // ld1r          {v17.4s}, [x8]
4575  .long  0x4e20d600                          // fadd          v0.4s, v16.4s, v0.4s
4576  .long  0x4e21d621                          // fadd          v1.4s, v17.4s, v1.4s
4577  .long  0xd61f00a0                          // br            x5
4578
4579HIDDEN _sk_matrix_scale_translate_aarch64
4580.globl _sk_matrix_scale_translate_aarch64
4581FUNCTION(_sk_matrix_scale_translate_aarch64)
4582_sk_matrix_scale_translate_aarch64:
4583  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
4584  .long  0xaa0803e9                          // mov           x9, x8
4585  .long  0x2d414d12                          // ldp           s18, s19, [x8, #8]
4586  .long  0x4ddfc930                          // ld1r          {v16.4s}, [x9], #4
4587  .long  0x4d40c931                          // ld1r          {v17.4s}, [x9]
4588  .long  0x4f921010                          // fmla          v16.4s, v0.4s, v18.s[0]
4589  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
4590  .long  0x4f931031                          // fmla          v17.4s, v1.4s, v19.s[0]
4591  .long  0x4eb11e21                          // mov           v1.16b, v17.16b
4592  .long  0xd61f00a0                          // br            x5
4593
4594HIDDEN _sk_matrix_2x3_aarch64
4595.globl _sk_matrix_2x3_aarch64
4596FUNCTION(_sk_matrix_2x3_aarch64)
4597_sk_matrix_2x3_aarch64:
4598  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
4599  .long  0xaa0803e9                          // mov           x9, x8
4600  .long  0x9100410a                          // add           x10, x8, #0x10
4601  .long  0x4ddfc932                          // ld1r          {v18.4s}, [x9], #4
4602  .long  0x4d40c950                          // ld1r          {v16.4s}, [x10]
4603  .long  0x2d415113                          // ldp           s19, s20, [x8, #8]
4604  .long  0x9100510a                          // add           x10, x8, #0x14
4605  .long  0x4d40c951                          // ld1r          {v17.4s}, [x10]
4606  .long  0x4f931030                          // fmla          v16.4s, v1.4s, v19.s[0]
4607  .long  0xbd400133                          // ldr           s19, [x9]
4608  .long  0x4f941031                          // fmla          v17.4s, v1.4s, v20.s[0]
4609  .long  0x4e20ce50                          // fmla          v16.4s, v18.4s, v0.4s
4610  .long  0x4f931011                          // fmla          v17.4s, v0.4s, v19.s[0]
4611  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
4612  .long  0x4eb11e21                          // mov           v1.16b, v17.16b
4613  .long  0xd61f00a0                          // br            x5
4614
4615HIDDEN _sk_matrix_3x4_aarch64
4616.globl _sk_matrix_3x4_aarch64
4617FUNCTION(_sk_matrix_3x4_aarch64)
4618_sk_matrix_3x4_aarch64:
4619  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
4620  .long  0xaa0803e9                          // mov           x9, x8
4621  .long  0x9100910a                          // add           x10, x8, #0x24
4622  .long  0x4ddfc933                          // ld1r          {v19.4s}, [x9], #4
4623  .long  0x4d40c950                          // ld1r          {v16.4s}, [x10]
4624  .long  0x9100a10a                          // add           x10, x8, #0x28
4625  .long  0x4d40c951                          // ld1r          {v17.4s}, [x10]
4626  .long  0x9100b10a                          // add           x10, x8, #0x2c
4627  .long  0x2d435514                          // ldp           s20, s21, [x8, #24]
4628  .long  0xbd402116                          // ldr           s22, [x8, #32]
4629  .long  0x4d40c952                          // ld1r          {v18.4s}, [x10]
4630  .long  0x4f941050                          // fmla          v16.4s, v2.4s, v20.s[0]
4631  .long  0x4f951051                          // fmla          v17.4s, v2.4s, v21.s[0]
4632  .long  0x4f961052                          // fmla          v18.4s, v2.4s, v22.s[0]
4633  .long  0x2d425502                          // ldp           s2, s21, [x8, #16]
4634  .long  0x2d415d14                          // ldp           s20, s23, [x8, #8]
4635  .long  0x4f821031                          // fmla          v17.4s, v1.4s, v2.s[0]
4636  .long  0xbd400122                          // ldr           s2, [x9]
4637  .long  0x4f971030                          // fmla          v16.4s, v1.4s, v23.s[0]
4638  .long  0x4f951032                          // fmla          v18.4s, v1.4s, v21.s[0]
4639  .long  0x4e20ce70                          // fmla          v16.4s, v19.4s, v0.4s
4640  .long  0x4f941012                          // fmla          v18.4s, v0.4s, v20.s[0]
4641  .long  0x4f821011                          // fmla          v17.4s, v0.4s, v2.s[0]
4642  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
4643  .long  0x4eb11e21                          // mov           v1.16b, v17.16b
4644  .long  0x4eb21e42                          // mov           v2.16b, v18.16b
4645  .long  0xd61f00a0                          // br            x5
4646
4647HIDDEN _sk_matrix_4x5_aarch64
4648.globl _sk_matrix_4x5_aarch64
4649FUNCTION(_sk_matrix_4x5_aarch64)
4650_sk_matrix_4x5_aarch64:
4651  .long  0xf9400029                          // ldr           x9, [x1]
4652  .long  0xaa0903e8                          // mov           x8, x9
4653  .long  0x9101012a                          // add           x10, x9, #0x40
4654  .long  0x4ddfc914                          // ld1r          {v20.4s}, [x8], #4
4655  .long  0x4d40c950                          // ld1r          {v16.4s}, [x10]
4656  .long  0x9101112a                          // add           x10, x9, #0x44
4657  .long  0x4d40c951                          // ld1r          {v17.4s}, [x10]
4658  .long  0x9101212a                          // add           x10, x9, #0x48
4659  .long  0x4d40c952                          // ld1r          {v18.4s}, [x10]
4660  .long  0x2d465533                          // ldp           s19, s21, [x9, #48]
4661  .long  0x2d475d36                          // ldp           s22, s23, [x9, #56]
4662  .long  0x9101312a                          // add           x10, x9, #0x4c
4663  .long  0xf9400425                          // ldr           x5, [x1, #8]
4664  .long  0x4f931070                          // fmla          v16.4s, v3.4s, v19.s[0]
4665  .long  0x4d40c953                          // ld1r          {v19.4s}, [x10]
4666  .long  0x4f951071                          // fmla          v17.4s, v3.4s, v21.s[0]
4667  .long  0x4f961072                          // fmla          v18.4s, v3.4s, v22.s[0]
4668  .long  0x2d445935                          // ldp           s21, s22, [x9, #32]
4669  .long  0x4f971073                          // fmla          v19.4s, v3.4s, v23.s[0]
4670  .long  0x2d455d23                          // ldp           s3, s23, [x9, #40]
4671  .long  0x91004021                          // add           x1, x1, #0x10
4672  .long  0x4f951050                          // fmla          v16.4s, v2.4s, v21.s[0]
4673  .long  0x4f961051                          // fmla          v17.4s, v2.4s, v22.s[0]
4674  .long  0x2d425935                          // ldp           s21, s22, [x9, #16]
4675  .long  0x4f971053                          // fmla          v19.4s, v2.4s, v23.s[0]
4676  .long  0x4f831052                          // fmla          v18.4s, v2.4s, v3.s[0]
4677  .long  0x2d410d22                          // ldp           s2, s3, [x9, #8]
4678  .long  0x4f951030                          // fmla          v16.4s, v1.4s, v21.s[0]
4679  .long  0x2d435d35                          // ldp           s21, s23, [x9, #24]
4680  .long  0x4f961031                          // fmla          v17.4s, v1.4s, v22.s[0]
4681  .long  0xbd400116                          // ldr           s22, [x8]
4682  .long  0x4e20ce90                          // fmla          v16.4s, v20.4s, v0.4s
4683  .long  0x4f951032                          // fmla          v18.4s, v1.4s, v21.s[0]
4684  .long  0x4f971033                          // fmla          v19.4s, v1.4s, v23.s[0]
4685  .long  0x4f821012                          // fmla          v18.4s, v0.4s, v2.s[0]
4686  .long  0x4f831013                          // fmla          v19.4s, v0.4s, v3.s[0]
4687  .long  0x4f961011                          // fmla          v17.4s, v0.4s, v22.s[0]
4688  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
4689  .long  0x4eb11e21                          // mov           v1.16b, v17.16b
4690  .long  0x4eb21e42                          // mov           v2.16b, v18.16b
4691  .long  0x4eb31e63                          // mov           v3.16b, v19.16b
4692  .long  0xd61f00a0                          // br            x5
4693
4694HIDDEN _sk_matrix_4x3_aarch64
4695.globl _sk_matrix_4x3_aarch64
4696FUNCTION(_sk_matrix_4x3_aarch64)
4697_sk_matrix_4x3_aarch64:
4698  .long  0xf9400028                          // ldr           x8, [x1]
4699  .long  0xaa0803e9                          // mov           x9, x8
4700  .long  0x9100810a                          // add           x10, x8, #0x20
4701  .long  0x4ddfc932                          // ld1r          {v18.4s}, [x9], #4
4702  .long  0x4d40c950                          // ld1r          {v16.4s}, [x10]
4703  .long  0x9100910a                          // add           x10, x8, #0x24
4704  .long  0x4d40c951                          // ld1r          {v17.4s}, [x10]
4705  .long  0x9100a10a                          // add           x10, x8, #0x28
4706  .long  0x2d425113                          // ldp           s19, s20, [x8, #16]
4707  .long  0x4d40c942                          // ld1r          {v2.4s}, [x10]
4708  .long  0x9100b10a                          // add           x10, x8, #0x2c
4709  .long  0x2d435915                          // ldp           s21, s22, [x8, #24]
4710  .long  0x4d40c943                          // ld1r          {v3.4s}, [x10]
4711  .long  0x4f931030                          // fmla          v16.4s, v1.4s, v19.s[0]
4712  .long  0x4e20ce50                          // fmla          v16.4s, v18.4s, v0.4s
4713  .long  0xbd400132                          // ldr           s18, [x9]
4714  .long  0x4f941031                          // fmla          v17.4s, v1.4s, v20.s[0]
4715  .long  0x4f951022                          // fmla          v2.4s, v1.4s, v21.s[0]
4716  .long  0x4f961023                          // fmla          v3.4s, v1.4s, v22.s[0]
4717  .long  0x2d414d01                          // ldp           s1, s19, [x8, #8]
4718  .long  0xf9400425                          // ldr           x5, [x1, #8]
4719  .long  0x4f921011                          // fmla          v17.4s, v0.4s, v18.s[0]
4720  .long  0x91004021                          // add           x1, x1, #0x10
4721  .long  0x4f811002                          // fmla          v2.4s, v0.4s, v1.s[0]
4722  .long  0x4f931003                          // fmla          v3.4s, v0.4s, v19.s[0]
4723  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
4724  .long  0x4eb11e21                          // mov           v1.16b, v17.16b
4725  .long  0xd61f00a0                          // br            x5
4726
4727HIDDEN _sk_matrix_perspective_aarch64
4728.globl _sk_matrix_perspective_aarch64
4729FUNCTION(_sk_matrix_perspective_aarch64)
4730_sk_matrix_perspective_aarch64:
4731  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
4732  .long  0xaa0803e9                          // mov           x9, x8
4733  .long  0x9100510a                          // add           x10, x8, #0x14
4734  .long  0x4ddfc930                          // ld1r          {v16.4s}, [x9], #4
4735  .long  0x4d40c951                          // ld1r          {v17.4s}, [x10]
4736  .long  0x9100810a                          // add           x10, x8, #0x20
4737  .long  0x4d40c952                          // ld1r          {v18.4s}, [x10]
4738  .long  0x2d41d113                          // ldp           s19, s20, [x8, #12]
4739  .long  0x2d435915                          // ldp           s21, s22, [x8, #24]
4740  .long  0x91002108                          // add           x8, x8, #0x8
4741  .long  0x4f941031                          // fmla          v17.4s, v1.4s, v20.s[0]
4742  .long  0x4d40c914                          // ld1r          {v20.4s}, [x8]
4743  .long  0x4f961032                          // fmla          v18.4s, v1.4s, v22.s[0]
4744  .long  0xbd400136                          // ldr           s22, [x9]
4745  .long  0x4f951012                          // fmla          v18.4s, v0.4s, v21.s[0]
4746  .long  0x4f931011                          // fmla          v17.4s, v0.4s, v19.s[0]
4747  .long  0x4f961034                          // fmla          v20.4s, v1.4s, v22.s[0]
4748  .long  0x4ea1da41                          // frecpe        v1.4s, v18.4s
4749  .long  0x4e21fe52                          // frecps        v18.4s, v18.4s, v1.4s
4750  .long  0x6e32dc32                          // fmul          v18.4s, v1.4s, v18.4s
4751  .long  0x4e20ce14                          // fmla          v20.4s, v16.4s, v0.4s
4752  .long  0x6e32de21                          // fmul          v1.4s, v17.4s, v18.4s
4753  .long  0x6e32de80                          // fmul          v0.4s, v20.4s, v18.4s
4754  .long  0xd61f00a0                          // br            x5
4755
4756HIDDEN _sk_evenly_spaced_gradient_aarch64
4757.globl _sk_evenly_spaced_gradient_aarch64
4758FUNCTION(_sk_evenly_spaced_gradient_aarch64)
4759_sk_evenly_spaced_gradient_aarch64:
4760  .long  0xd10043ff                          // sub           sp, sp, #0x10
4761  .long  0xaa0103e8                          // mov           x8, x1
4762  .long  0x91002109                          // add           x9, x8, #0x8
4763  .long  0xf90007e9                          // str           x9, [sp, #8]
4764  .long  0xf841042a                          // ldr           x10, [x1], #16
4765  .long  0xa940254b                          // ldp           x11, x9, [x10]
4766  .long  0xa942354c                          // ldp           x12, x13, [x10, #32]
4767  .long  0xa9413d4e                          // ldp           x14, x15, [x10, #16]
4768  .long  0xa9434550                          // ldp           x16, x17, [x10, #48]
4769  .long  0xd100056b                          // sub           x11, x11, #0x1
4770  .long  0x9e230161                          // ucvtf         s1, x11
4771  .long  0xf940214a                          // ldr           x10, [x10, #64]
4772  .long  0x4f819001                          // fmul          v1.4s, v0.4s, v1.s[0]
4773  .long  0x4ea1b821                          // fcvtzs        v1.4s, v1.4s
4774  .long  0x6f20a422                          // uxtl2         v2.2d, v1.4s
4775  .long  0x2f20a421                          // uxtl          v1.2d, v1.2s
4776  .long  0x9e660032                          // fmov          x18, d1
4777  .long  0x9e660046                          // fmov          x6, d2
4778  .long  0x4e183c2b                          // mov           x11, v1.d[1]
4779  .long  0x4e183c45                          // mov           x5, v2.d[1]
4780  .long  0xbc667921                          // ldr           s1, [x9, x6, lsl #2]
4781  .long  0xbc6679a2                          // ldr           s2, [x13, x6, lsl #2]
4782  .long  0xbc6679c3                          // ldr           s3, [x14, x6, lsl #2]
4783  .long  0xbc667a11                          // ldr           s17, [x16, x6, lsl #2]
4784  .long  0xbc6679f2                          // ldr           s18, [x15, x6, lsl #2]
4785  .long  0xbc667a33                          // ldr           s19, [x17, x6, lsl #2]
4786  .long  0xbc667994                          // ldr           s20, [x12, x6, lsl #2]
4787  .long  0xbc667955                          // ldr           s21, [x10, x6, lsl #2]
4788  .long  0x8b120926                          // add           x6, x9, x18, lsl #2
4789  .long  0x0d4080d6                          // ld1           {v22.s}[0], [x6]
4790  .long  0x8b1209a6                          // add           x6, x13, x18, lsl #2
4791  .long  0x0d4080d0                          // ld1           {v16.s}[0], [x6]
4792  .long  0x8b0b0926                          // add           x6, x9, x11, lsl #2
4793  .long  0x0d4090d6                          // ld1           {v22.s}[1], [x6]
4794  .long  0x8b1209c6                          // add           x6, x14, x18, lsl #2
4795  .long  0x0d4080d7                          // ld1           {v23.s}[0], [x6]
4796  .long  0x8b120a06                          // add           x6, x16, x18, lsl #2
4797  .long  0x6e140436                          // mov           v22.s[2], v1.s[0]
4798  .long  0x0d4080c1                          // ld1           {v1.s}[0], [x6]
4799  .long  0x8b0b09a6                          // add           x6, x13, x11, lsl #2
4800  .long  0x0d4090d0                          // ld1           {v16.s}[1], [x6]
4801  .long  0x8b0b09c6                          // add           x6, x14, x11, lsl #2
4802  .long  0x0d4090d7                          // ld1           {v23.s}[1], [x6]
4803  .long  0x8b1209e6                          // add           x6, x15, x18, lsl #2
4804  .long  0x0d4080d8                          // ld1           {v24.s}[0], [x6]
4805  .long  0x8b120a26                          // add           x6, x17, x18, lsl #2
4806  .long  0x6e140450                          // mov           v16.s[2], v2.s[0]
4807  .long  0x0d4080c2                          // ld1           {v2.s}[0], [x6]
4808  .long  0x8b0b0a06                          // add           x6, x16, x11, lsl #2
4809  .long  0x0d4090c1                          // ld1           {v1.s}[1], [x6]
4810  .long  0x8b0b09e6                          // add           x6, x15, x11, lsl #2
4811  .long  0x0d4090d8                          // ld1           {v24.s}[1], [x6]
4812  .long  0x8b120986                          // add           x6, x12, x18, lsl #2
4813  .long  0x8b120952                          // add           x18, x10, x18, lsl #2
4814  .long  0x6e140477                          // mov           v23.s[2], v3.s[0]
4815  .long  0x0d408243                          // ld1           {v3.s}[0], [x18]
4816  .long  0x8b0b0a32                          // add           x18, x17, x11, lsl #2
4817  .long  0x6e140621                          // mov           v1.s[2], v17.s[0]
4818  .long  0x0d4080d1                          // ld1           {v17.s}[0], [x6]
4819  .long  0x0d409242                          // ld1           {v2.s}[1], [x18]
4820  .long  0x8b0b0992                          // add           x18, x12, x11, lsl #2
4821  .long  0x6e140658                          // mov           v24.s[2], v18.s[0]
4822  .long  0x0d409251                          // ld1           {v17.s}[1], [x18]
4823  .long  0x6e140662                          // mov           v2.s[2], v19.s[0]
4824  .long  0xbc657932                          // ldr           s18, [x9, x5, lsl #2]
4825  .long  0xbc6579b3                          // ldr           s19, [x13, x5, lsl #2]
4826  .long  0x6e140691                          // mov           v17.s[2], v20.s[0]
4827  .long  0xbc6579d4                          // ldr           s20, [x14, x5, lsl #2]
4828  .long  0x6e1c0656                          // mov           v22.s[3], v18.s[0]
4829  .long  0xbc657a12                          // ldr           s18, [x16, x5, lsl #2]
4830  .long  0x6e1c0670                          // mov           v16.s[3], v19.s[0]
4831  .long  0xbc6579f3                          // ldr           s19, [x15, x5, lsl #2]
4832  .long  0x8b0b094b                          // add           x11, x10, x11, lsl #2
4833  .long  0x0d409163                          // ld1           {v3.s}[1], [x11]
4834  .long  0x6e1c0697                          // mov           v23.s[3], v20.s[0]
4835  .long  0xbc657a34                          // ldr           s20, [x17, x5, lsl #2]
4836  .long  0x6e1c0641                          // mov           v1.s[3], v18.s[0]
4837  .long  0xbc657992                          // ldr           s18, [x12, x5, lsl #2]
4838  .long  0x6e1c0678                          // mov           v24.s[3], v19.s[0]
4839  .long  0xbc657953                          // ldr           s19, [x10, x5, lsl #2]
4840  .long  0xf9400505                          // ldr           x5, [x8, #8]
4841  .long  0x6e1406a3                          // mov           v3.s[2], v21.s[0]
4842  .long  0x6e1c0682                          // mov           v2.s[3], v20.s[0]
4843  .long  0x6e1c0651                          // mov           v17.s[3], v18.s[0]
4844  .long  0x6e1c0663                          // mov           v3.s[3], v19.s[0]
4845  .long  0x4e20ced0                          // fmla          v16.4s, v22.4s, v0.4s
4846  .long  0x4e20cee1                          // fmla          v1.4s, v23.4s, v0.4s
4847  .long  0x4e20cf02                          // fmla          v2.4s, v24.4s, v0.4s
4848  .long  0x4e20ce23                          // fmla          v3.4s, v17.4s, v0.4s
4849  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
4850  .long  0x910043ff                          // add           sp, sp, #0x10
4851  .long  0xd61f00a0                          // br            x5
4852
4853HIDDEN _sk_gauss_a_to_rgba_aarch64
4854.globl _sk_gauss_a_to_rgba_aarch64
4855FUNCTION(_sk_gauss_a_to_rgba_aarch64)
4856_sk_gauss_a_to_rgba_aarch64:
4857  .long  0x52b80228                          // mov           w8, #0xc0110000
4858  .long  0x728205a8                          // movk          w8, #0x102d
4859  .long  0x52a80729                          // mov           w9, #0x40390000
4860  .long  0x728f0249                          // movk          w9, #0x7812
4861  .long  0x4e040d00                          // dup           v0.4s, w8
4862  .long  0x52a7cb48                          // mov           w8, #0x3e5a0000
4863  .long  0x72928408                          // movk          w8, #0x9420
4864  .long  0x4e040d21                          // dup           v1.4s, w9
4865  .long  0x52a7c3c9                          // mov           w9, #0x3e1e0000
4866  .long  0x7293a089                          // movk          w9, #0x9d04
4867  .long  0x4e040d02                          // dup           v2.4s, w8
4868  .long  0x52a73428                          // mov           w8, #0x39a10000
4869  .long  0x4e23cc01                          // fmla          v1.4s, v0.4s, v3.4s
4870  .long  0x72830008                          // movk          w8, #0x1800
4871  .long  0x4e040d30                          // dup           v16.4s, w9
4872  .long  0xf8408425                          // ldr           x5, [x1], #8
4873  .long  0x4e23cc22                          // fmla          v2.4s, v1.4s, v3.4s
4874  .long  0x4e040d00                          // dup           v0.4s, w8
4875  .long  0x4e23cc50                          // fmla          v16.4s, v2.4s, v3.4s
4876  .long  0x4e23ce00                          // fmla          v0.4s, v16.4s, v3.4s
4877  .long  0x4ea01c01                          // mov           v1.16b, v0.16b
4878  .long  0x4ea01c02                          // mov           v2.16b, v0.16b
4879  .long  0x4ea01c03                          // mov           v3.16b, v0.16b
4880  .long  0xd61f00a0                          // br            x5
4881
4882HIDDEN _sk_gradient_aarch64
4883.globl _sk_gradient_aarch64
4884FUNCTION(_sk_gradient_aarch64)
4885_sk_gradient_aarch64:
4886  .long  0xd10043ff                          // sub           sp, sp, #0x10
4887  .long  0x91002028                          // add           x8, x1, #0x8
4888  .long  0xf90007e8                          // str           x8, [sp, #8]
4889  .long  0xf9400028                          // ldr           x8, [x1]
4890  .long  0x6f00e401                          // movi          v1.2d, #0x0
4891  .long  0x6f00e411                          // movi          v17.2d, #0x0
4892  .long  0xf9400109                          // ldr           x9, [x8]
4893  .long  0xf100093f                          // cmp           x9, #0x2
4894  .long  0x540001c3                          // b.cc          425c <sk_gradient_aarch64+0x58>  // b.lo, b.ul, b.last
4895  .long  0xf940250a                          // ldr           x10, [x8, #72]
4896  .long  0xd1000529                          // sub           x9, x9, #0x1
4897  .long  0x6f00e401                          // movi          v1.2d, #0x0
4898  .long  0x4f000422                          // movi          v2.4s, #0x1
4899  .long  0x9100114a                          // add           x10, x10, #0x4
4900  .long  0x4ddfc943                          // ld1r          {v3.4s}, [x10], #4
4901  .long  0xd1000529                          // sub           x9, x9, #0x1
4902  .long  0x6e23e403                          // fcmge         v3.4s, v0.4s, v3.4s
4903  .long  0x4e221c63                          // and           v3.16b, v3.16b, v2.16b
4904  .long  0x4ea18461                          // add           v1.4s, v3.4s, v1.4s
4905  .long  0xb5ffff69                          // cbnz          x9, 423c <sk_gradient_aarch64+0x38>
4906  .long  0x6f20a431                          // uxtl2         v17.2d, v1.4s
4907  .long  0x2f20a421                          // uxtl          v1.2d, v1.2s
4908  .long  0xa940b10a                          // ldp           x10, x12, [x8, #8]
4909  .long  0xa942b90d                          // ldp           x13, x14, [x8, #40]
4910  .long  0x9e66002b                          // fmov          x11, d1
4911  .long  0xa941c10f                          // ldp           x15, x16, [x8, #24]
4912  .long  0x8b0b0952                          // add           x18, x10, x11, lsl #2
4913  .long  0xa943a111                          // ldp           x17, x8, [x8, #56]
4914  .long  0x0d408252                          // ld1           {v18.s}[0], [x18]
4915  .long  0x8b0b09b2                          // add           x18, x13, x11, lsl #2
4916  .long  0x0d408250                          // ld1           {v16.s}[0], [x18]
4917  .long  0x8b0b0992                          // add           x18, x12, x11, lsl #2
4918  .long  0x0d408253                          // ld1           {v19.s}[0], [x18]
4919  .long  0x8b0b09d2                          // add           x18, x14, x11, lsl #2
4920  .long  0x4e183c29                          // mov           x9, v1.d[1]
4921  .long  0x0d408241                          // ld1           {v1.s}[0], [x18]
4922  .long  0x8b0b09f2                          // add           x18, x15, x11, lsl #2
4923  .long  0x0d408254                          // ld1           {v20.s}[0], [x18]
4924  .long  0x8b0b0a32                          // add           x18, x17, x11, lsl #2
4925  .long  0x0d408242                          // ld1           {v2.s}[0], [x18]
4926  .long  0x8b0b0a12                          // add           x18, x16, x11, lsl #2
4927  .long  0x8b0b090b                          // add           x11, x8, x11, lsl #2
4928  .long  0x0d408163                          // ld1           {v3.s}[0], [x11]
4929  .long  0x8b09094b                          // add           x11, x10, x9, lsl #2
4930  .long  0x0d409172                          // ld1           {v18.s}[1], [x11]
4931  .long  0x8b0909ab                          // add           x11, x13, x9, lsl #2
4932  .long  0x0d409170                          // ld1           {v16.s}[1], [x11]
4933  .long  0x8b09098b                          // add           x11, x12, x9, lsl #2
4934  .long  0x0d409173                          // ld1           {v19.s}[1], [x11]
4935  .long  0x8b0909cb                          // add           x11, x14, x9, lsl #2
4936  .long  0x0d409161                          // ld1           {v1.s}[1], [x11]
4937  .long  0x8b0909eb                          // add           x11, x15, x9, lsl #2
4938  .long  0x0d408255                          // ld1           {v21.s}[0], [x18]
4939  .long  0x9e660232                          // fmov          x18, d17
4940  .long  0x0d409174                          // ld1           {v20.s}[1], [x11]
4941  .long  0x4e183e2b                          // mov           x11, v17.d[1]
4942  .long  0xbc6b7951                          // ldr           s17, [x10, x11, lsl #2]
4943  .long  0x8b12094a                          // add           x10, x10, x18, lsl #2
4944  .long  0x4d408152                          // ld1           {v18.s}[2], [x10]
4945  .long  0x8b1209aa                          // add           x10, x13, x18, lsl #2
4946  .long  0xbc6b79b6                          // ldr           s22, [x13, x11, lsl #2]
4947  .long  0x4d408150                          // ld1           {v16.s}[2], [x10]
4948  .long  0x8b12098a                          // add           x10, x12, x18, lsl #2
4949  .long  0x4d408153                          // ld1           {v19.s}[2], [x10]
4950  .long  0x8b1209ca                          // add           x10, x14, x18, lsl #2
4951  .long  0x4d408141                          // ld1           {v1.s}[2], [x10]
4952  .long  0x8b090a2a                          // add           x10, x17, x9, lsl #2
4953  .long  0xbc6b7997                          // ldr           s23, [x12, x11, lsl #2]
4954  .long  0x8b1209ec                          // add           x12, x15, x18, lsl #2
4955  .long  0x0d409142                          // ld1           {v2.s}[1], [x10]
4956  .long  0x8b090a0a                          // add           x10, x16, x9, lsl #2
4957  .long  0x8b090909                          // add           x9, x8, x9, lsl #2
4958  .long  0x6e1c0632                          // mov           v18.s[3], v17.s[0]
4959  .long  0xbc6b79d1                          // ldr           s17, [x14, x11, lsl #2]
4960  .long  0x6e1c06d0                          // mov           v16.s[3], v22.s[0]
4961  .long  0xbc6b79f6                          // ldr           s22, [x15, x11, lsl #2]
4962  .long  0x0d409155                          // ld1           {v21.s}[1], [x10]
4963  .long  0x4d408194                          // ld1           {v20.s}[2], [x12]
4964  .long  0x0d409123                          // ld1           {v3.s}[1], [x9]
4965  .long  0xf94007e1                          // ldr           x1, [sp, #8]
4966  .long  0x8b120a2d                          // add           x13, x17, x18, lsl #2
4967  .long  0x8b120a0e                          // add           x14, x16, x18, lsl #2
4968  .long  0x8b12090f                          // add           x15, x8, x18, lsl #2
4969  .long  0x6e1c06f3                          // mov           v19.s[3], v23.s[0]
4970  .long  0xbc6b7a37                          // ldr           s23, [x17, x11, lsl #2]
4971  .long  0x6e1c0621                          // mov           v1.s[3], v17.s[0]
4972  .long  0xbc6b7a11                          // ldr           s17, [x16, x11, lsl #2]
4973  .long  0x4d4081a2                          // ld1           {v2.s}[2], [x13]
4974  .long  0x4d4081d5                          // ld1           {v21.s}[2], [x14]
4975  .long  0x6e1c06d4                          // mov           v20.s[3], v22.s[0]
4976  .long  0xbc6b7916                          // ldr           s22, [x8, x11, lsl #2]
4977  .long  0x4d4081e3                          // ld1           {v3.s}[2], [x15]
4978  .long  0xf8408425                          // ldr           x5, [x1], #8
4979  .long  0x6e1c06e2                          // mov           v2.s[3], v23.s[0]
4980  .long  0x6e1c0635                          // mov           v21.s[3], v17.s[0]
4981  .long  0x6e1c06c3                          // mov           v3.s[3], v22.s[0]
4982  .long  0x4e20ce50                          // fmla          v16.4s, v18.4s, v0.4s
4983  .long  0x4e20ce61                          // fmla          v1.4s, v19.4s, v0.4s
4984  .long  0x4e20ce82                          // fmla          v2.4s, v20.4s, v0.4s
4985  .long  0x4e20cea3                          // fmla          v3.4s, v21.4s, v0.4s
4986  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
4987  .long  0x910043ff                          // add           sp, sp, #0x10
4988  .long  0xd61f00a0                          // br            x5
4989
4990HIDDEN _sk_evenly_spaced_2_stop_gradient_aarch64
4991.globl _sk_evenly_spaced_2_stop_gradient_aarch64
4992FUNCTION(_sk_evenly_spaced_2_stop_gradient_aarch64)
4993_sk_evenly_spaced_2_stop_gradient_aarch64:
4994  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
4995  .long  0xaa0803e9                          // mov           x9, x8
4996  .long  0x9100410a                          // add           x10, x8, #0x10
4997  .long  0x4ddfc931                          // ld1r          {v17.4s}, [x9], #4
4998  .long  0x4d40c950                          // ld1r          {v16.4s}, [x10]
4999  .long  0x9100510a                          // add           x10, x8, #0x14
5000  .long  0x4d40c941                          // ld1r          {v1.4s}, [x10]
5001  .long  0x9100610a                          // add           x10, x8, #0x18
5002  .long  0x4d40c942                          // ld1r          {v2.4s}, [x10]
5003  .long  0x9100710a                          // add           x10, x8, #0x1c
5004  .long  0x2d414d12                          // ldp           s18, s19, [x8, #8]
5005  .long  0x4d40c943                          // ld1r          {v3.4s}, [x10]
5006  .long  0x4e20ce30                          // fmla          v16.4s, v17.4s, v0.4s
5007  .long  0xbd400131                          // ldr           s17, [x9]
5008  .long  0x4f921002                          // fmla          v2.4s, v0.4s, v18.s[0]
5009  .long  0x4f931003                          // fmla          v3.4s, v0.4s, v19.s[0]
5010  .long  0x4f911001                          // fmla          v1.4s, v0.4s, v17.s[0]
5011  .long  0x4eb01e00                          // mov           v0.16b, v16.16b
5012  .long  0xd61f00a0                          // br            x5
5013
5014HIDDEN _sk_xy_to_unit_angle_aarch64
5015.globl _sk_xy_to_unit_angle_aarch64
5016FUNCTION(_sk_xy_to_unit_angle_aarch64)
5017_sk_xy_to_unit_angle_aarch64:
5018  .long  0x52b77ce8                          // mov           w8, #0xbbe70000
5019  .long  0x72856de8                          // movk          w8, #0x2b6f
5020  .long  0x4ea0f810                          // fabs          v16.4s, v0.4s
5021  .long  0x4ea0f831                          // fabs          v17.4s, v1.4s
5022  .long  0x4e040d12                          // dup           v18.4s, w8
5023  .long  0x52a79948                          // mov           w8, #0x3cca0000
5024  .long  0x729af3e8                          // movk          w8, #0xd79f
5025  .long  0x4eb1f614                          // fmin          v20.4s, v16.4s, v17.4s
5026  .long  0x4e31f615                          // fmax          v21.4s, v16.4s, v17.4s
5027  .long  0x4e040d13                          // dup           v19.4s, w8
5028  .long  0x52b7aa88                          // mov           w8, #0xbd540000
5029  .long  0x6e35fe94                          // fdiv          v20.4s, v20.4s, v21.4s
5030  .long  0x728c9a88                          // movk          w8, #0x64d4
5031  .long  0x6e34de95                          // fmul          v21.4s, v20.4s, v20.4s
5032  .long  0x4e35ce53                          // fmla          v19.4s, v18.4s, v21.4s
5033  .long  0x4e040d12                          // dup           v18.4s, w8
5034  .long  0x52a7c448                          // mov           w8, #0x3e220000
5035  .long  0x729e1528                          // movk          w8, #0xf0a9
5036  .long  0x4e35ce72                          // fmla          v18.4s, v19.4s, v21.4s
5037  .long  0x4e040d13                          // dup           v19.4s, w8
5038  .long  0x4e35ce53                          // fmla          v19.4s, v18.4s, v21.4s
5039  .long  0x4f02f612                          // fmov          v18.4s, #2.500000000000000000e-01
5040  .long  0x6e33de93                          // fmul          v19.4s, v20.4s, v19.4s
5041  .long  0x6eb0e630                          // fcmgt         v16.4s, v17.4s, v16.4s
5042  .long  0x4eb3d652                          // fsub          v18.4s, v18.4s, v19.4s
5043  .long  0x4f0167f5                          // movi          v21.4s, #0x3f, lsl #24
5044  .long  0x6e731e50                          // bsl           v16.16b, v18.16b, v19.16b
5045  .long  0x4ea0e800                          // fcmlt         v0.4s, v0.4s, #0.0
5046  .long  0x4eb0d6b2                          // fsub          v18.4s, v21.4s, v16.4s
5047  .long  0x4f03f614                          // fmov          v20.4s, #1.000000000000000000e+00
5048  .long  0x6e701e40                          // bsl           v0.16b, v18.16b, v16.16b
5049  .long  0x4ea0e831                          // fcmlt         v17.4s, v1.4s, #0.0
5050  .long  0x4ea0d690                          // fsub          v16.4s, v20.4s, v0.4s
5051  .long  0xf8408425                          // ldr           x5, [x1], #8
5052  .long  0x6e601e11                          // bsl           v17.16b, v16.16b, v0.16b
5053  .long  0x6ea0ca20                          // fcmge         v0.4s, v17.4s, #0.0
5054  .long  0x4ea0ea30                          // fcmlt         v16.4s, v17.4s, #0.0
5055  .long  0x4ea01e00                          // orr           v0.16b, v16.16b, v0.16b
5056  .long  0x4e201e20                          // and           v0.16b, v17.16b, v0.16b
5057  .long  0xd61f00a0                          // br            x5
5058
5059HIDDEN _sk_xy_to_radius_aarch64
5060.globl _sk_xy_to_radius_aarch64
5061FUNCTION(_sk_xy_to_radius_aarch64)
5062_sk_xy_to_radius_aarch64:
5063  .long  0xf8408425                          // ldr           x5, [x1], #8
5064  .long  0x6e21dc30                          // fmul          v16.4s, v1.4s, v1.4s
5065  .long  0x4e20cc10                          // fmla          v16.4s, v0.4s, v0.4s
5066  .long  0x6ea1fa00                          // fsqrt         v0.4s, v16.4s
5067  .long  0xd61f00a0                          // br            x5
5068
5069HIDDEN _sk_xy_to_2pt_conical_quadratic_max_aarch64
5070.globl _sk_xy_to_2pt_conical_quadratic_max_aarch64
5071FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_aarch64)
5072_sk_xy_to_2pt_conical_quadratic_max_aarch64:
5073  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
5074  .long  0x4f04f614                          // fmov          v20.4s, #-4.000000000000000000e+00
5075  .long  0x2d444d10                          // ldp           s16, s19, [x8, #32]
5076  .long  0x2d454911                          // ldp           s17, s18, [x8, #40]
5077  .long  0x4f909290                          // fmul          v16.4s, v20.4s, v16.s[0]
5078  .long  0x4f0167f4                          // movi          v20.4s, #0x3f, lsl #24
5079  .long  0x4f939293                          // fmul          v19.4s, v20.4s, v19.s[0]
5080  .long  0x6e21dc34                          // fmul          v20.4s, v1.4s, v1.4s
5081  .long  0x1e310a52                          // fmul          s18, s18, s17
5082  .long  0x1e310a31                          // fmul          s17, s17, s17
5083  .long  0x4e20cc14                          // fmla          v20.4s, v0.4s, v0.4s
5084  .long  0x4e040652                          // dup           v18.4s, v18.s[0]
5085  .long  0x4e040631                          // dup           v17.4s, v17.s[0]
5086  .long  0x4e20d640                          // fadd          v0.4s, v18.4s, v0.4s
5087  .long  0x4eb1d691                          // fsub          v17.4s, v20.4s, v17.4s
5088  .long  0x4f066412                          // movi          v18.4s, #0xc0, lsl #24
5089  .long  0x6e32dc00                          // fmul          v0.4s, v0.4s, v18.4s
5090  .long  0x6e31de10                          // fmul          v16.4s, v16.4s, v17.4s
5091  .long  0x4e20cc10                          // fmla          v16.4s, v0.4s, v0.4s
5092  .long  0x6ea0f811                          // fneg          v17.4s, v0.4s
5093  .long  0x6ea1fa10                          // fsqrt         v16.4s, v16.4s
5094  .long  0x4ea0d600                          // fsub          v0.4s, v16.4s, v0.4s
5095  .long  0x4eb0d630                          // fsub          v16.4s, v17.4s, v16.4s
5096  .long  0x6e20de60                          // fmul          v0.4s, v19.4s, v0.4s
5097  .long  0x6e30de70                          // fmul          v16.4s, v19.4s, v16.4s
5098  .long  0x4e30f400                          // fmax          v0.4s, v0.4s, v16.4s
5099  .long  0xd61f00a0                          // br            x5
5100
5101HIDDEN _sk_xy_to_2pt_conical_quadratic_min_aarch64
5102.globl _sk_xy_to_2pt_conical_quadratic_min_aarch64
5103FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_aarch64)
5104_sk_xy_to_2pt_conical_quadratic_min_aarch64:
5105  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
5106  .long  0x4f04f614                          // fmov          v20.4s, #-4.000000000000000000e+00
5107  .long  0x2d444d10                          // ldp           s16, s19, [x8, #32]
5108  .long  0x2d454911                          // ldp           s17, s18, [x8, #40]
5109  .long  0x4f909290                          // fmul          v16.4s, v20.4s, v16.s[0]
5110  .long  0x4f0167f4                          // movi          v20.4s, #0x3f, lsl #24
5111  .long  0x4f939293                          // fmul          v19.4s, v20.4s, v19.s[0]
5112  .long  0x6e21dc34                          // fmul          v20.4s, v1.4s, v1.4s
5113  .long  0x1e310a52                          // fmul          s18, s18, s17
5114  .long  0x1e310a31                          // fmul          s17, s17, s17
5115  .long  0x4e20cc14                          // fmla          v20.4s, v0.4s, v0.4s
5116  .long  0x4e040652                          // dup           v18.4s, v18.s[0]
5117  .long  0x4e040631                          // dup           v17.4s, v17.s[0]
5118  .long  0x4e20d640                          // fadd          v0.4s, v18.4s, v0.4s
5119  .long  0x4eb1d691                          // fsub          v17.4s, v20.4s, v17.4s
5120  .long  0x4f066412                          // movi          v18.4s, #0xc0, lsl #24
5121  .long  0x6e32dc00                          // fmul          v0.4s, v0.4s, v18.4s
5122  .long  0x6e31de10                          // fmul          v16.4s, v16.4s, v17.4s
5123  .long  0x4e20cc10                          // fmla          v16.4s, v0.4s, v0.4s
5124  .long  0x6ea0f811                          // fneg          v17.4s, v0.4s
5125  .long  0x6ea1fa10                          // fsqrt         v16.4s, v16.4s
5126  .long  0x4ea0d600                          // fsub          v0.4s, v16.4s, v0.4s
5127  .long  0x4eb0d630                          // fsub          v16.4s, v17.4s, v16.4s
5128  .long  0x6e20de60                          // fmul          v0.4s, v19.4s, v0.4s
5129  .long  0x6e30de70                          // fmul          v16.4s, v19.4s, v16.4s
5130  .long  0x4eb0f400                          // fmin          v0.4s, v0.4s, v16.4s
5131  .long  0xd61f00a0                          // br            x5
5132
5133HIDDEN _sk_xy_to_2pt_conical_linear_aarch64
5134.globl _sk_xy_to_2pt_conical_linear_aarch64
5135FUNCTION(_sk_xy_to_2pt_conical_linear_aarch64)
5136_sk_xy_to_2pt_conical_linear_aarch64:
5137  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
5138  .long  0x6e21dc32                          // fmul          v18.4s, v1.4s, v1.4s
5139  .long  0x4e20cc12                          // fmla          v18.4s, v0.4s, v0.4s
5140  .long  0x2d454510                          // ldp           s16, s17, [x8, #40]
5141  .long  0x1e300a31                          // fmul          s17, s17, s16
5142  .long  0x1e300a10                          // fmul          s16, s16, s16
5143  .long  0x4e040631                          // dup           v17.4s, v17.s[0]
5144  .long  0x4e040610                          // dup           v16.4s, v16.s[0]
5145  .long  0x4e20d620                          // fadd          v0.4s, v17.4s, v0.4s
5146  .long  0x4f066411                          // movi          v17.4s, #0xc0, lsl #24
5147  .long  0x4eb0d650                          // fsub          v16.4s, v18.4s, v16.4s
5148  .long  0x6e31dc00                          // fmul          v0.4s, v0.4s, v17.4s
5149  .long  0x6ea0fa10                          // fneg          v16.4s, v16.4s
5150  .long  0x6e20fe00                          // fdiv          v0.4s, v16.4s, v0.4s
5151  .long  0xd61f00a0                          // br            x5
5152
5153HIDDEN _sk_mask_2pt_conical_degenerates_aarch64
5154.globl _sk_mask_2pt_conical_degenerates_aarch64
5155FUNCTION(_sk_mask_2pt_conical_degenerates_aarch64)
5156_sk_mask_2pt_conical_degenerates_aarch64:
5157  .long  0xf9400028                          // ldr           x8, [x1]
5158  .long  0x6ea0c812                          // fcmge         v18.4s, v0.4s, #0.0
5159  .long  0x4ea0e813                          // fcmlt         v19.4s, v0.4s, #0.0
5160  .long  0x4eb21e72                          // orr           v18.16b, v19.16b, v18.16b
5161  .long  0x9100a109                          // add           x9, x8, #0x28
5162  .long  0xbd402d10                          // ldr           s16, [x8, #44]
5163  .long  0x4d40c931                          // ld1r          {v17.4s}, [x9]
5164  .long  0x4f901011                          // fmla          v17.4s, v0.4s, v16.s[0]
5165  .long  0x6ea0ca30                          // fcmge         v16.4s, v17.4s, #0.0
5166  .long  0x0e612a10                          // xtn           v16.4h, v16.4s
5167  .long  0x0e612a51                          // xtn           v17.4h, v18.4s
5168  .long  0x0e311e10                          // and           v16.8b, v16.8b, v17.8b
5169  .long  0x2f10a610                          // uxtl          v16.4s, v16.4h
5170  .long  0x4f3f5610                          // shl           v16.4s, v16.4s, #31
5171  .long  0x4f210610                          // sshr          v16.4s, v16.4s, #31
5172  .long  0x3d800110                          // str           q16, [x8]
5173  .long  0xf9400425                          // ldr           x5, [x1, #8]
5174  .long  0x91004021                          // add           x1, x1, #0x10
5175  .long  0xd61f00a0                          // br            x5
5176
5177HIDDEN _sk_apply_vector_mask_aarch64
5178.globl _sk_apply_vector_mask_aarch64
5179FUNCTION(_sk_apply_vector_mask_aarch64)
5180_sk_apply_vector_mask_aarch64:
5181  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
5182  .long  0x3dc00110                          // ldr           q16, [x8]
5183  .long  0x4e201e00                          // and           v0.16b, v16.16b, v0.16b
5184  .long  0x4e211e01                          // and           v1.16b, v16.16b, v1.16b
5185  .long  0x4e221e02                          // and           v2.16b, v16.16b, v2.16b
5186  .long  0x4e231e03                          // and           v3.16b, v16.16b, v3.16b
5187  .long  0xd61f00a0                          // br            x5
5188
5189HIDDEN _sk_save_xy_aarch64
5190.globl _sk_save_xy_aarch64
5191FUNCTION(_sk_save_xy_aarch64)
5192_sk_save_xy_aarch64:
5193  .long  0x4f0167f0                          // movi          v16.4s, #0x3f, lsl #24
5194  .long  0xf9400028                          // ldr           x8, [x1]
5195  .long  0x4e30d411                          // fadd          v17.4s, v0.4s, v16.4s
5196  .long  0x4e30d430                          // fadd          v16.4s, v1.4s, v16.4s
5197  .long  0x4e219a32                          // frintm        v18.4s, v17.4s
5198  .long  0x4eb2d631                          // fsub          v17.4s, v17.4s, v18.4s
5199  .long  0x4e219a12                          // frintm        v18.4s, v16.4s
5200  .long  0x4eb2d610                          // fsub          v16.4s, v16.4s, v18.4s
5201  .long  0x3d800100                          // str           q0, [x8]
5202  .long  0x3d800901                          // str           q1, [x8, #32]
5203  .long  0x3d801111                          // str           q17, [x8, #64]
5204  .long  0x3d801910                          // str           q16, [x8, #96]
5205  .long  0xf9400425                          // ldr           x5, [x1, #8]
5206  .long  0x91004021                          // add           x1, x1, #0x10
5207  .long  0xd61f00a0                          // br            x5
5208
5209HIDDEN _sk_accumulate_aarch64
5210.globl _sk_accumulate_aarch64
5211FUNCTION(_sk_accumulate_aarch64)
5212_sk_accumulate_aarch64:
5213  .long  0xa8c11428                          // ldp           x8, x5, [x1], #16
5214  .long  0x3dc02110                          // ldr           q16, [x8, #128]
5215  .long  0x3dc02911                          // ldr           q17, [x8, #160]
5216  .long  0x6e31de10                          // fmul          v16.4s, v16.4s, v17.4s
5217  .long  0x4e30cc04                          // fmla          v4.4s, v0.4s, v16.4s
5218  .long  0x4e30cc25                          // fmla          v5.4s, v1.4s, v16.4s
5219  .long  0x4e30cc46                          // fmla          v6.4s, v2.4s, v16.4s
5220  .long  0x4e30cc67                          // fmla          v7.4s, v3.4s, v16.4s
5221  .long  0xd61f00a0                          // br            x5
5222
5223HIDDEN _sk_bilinear_nx_aarch64
5224.globl _sk_bilinear_nx_aarch64
5225FUNCTION(_sk_bilinear_nx_aarch64)
5226_sk_bilinear_nx_aarch64:
5227  .long  0xf9400028                          // ldr           x8, [x1]
5228  .long  0x4f03f611                          // fmov          v17.4s, #1.000000000000000000e+00
5229  .long  0x3dc01100                          // ldr           q0, [x8, #64]
5230  .long  0x3dc00110                          // ldr           q16, [x8]
5231  .long  0x4ea0d620                          // fsub          v0.4s, v17.4s, v0.4s
5232  .long  0x3d802100                          // str           q0, [x8, #128]
5233  .long  0xf9400425                          // ldr           x5, [x1, #8]
5234  .long  0x4f0567e0                          // movi          v0.4s, #0xbf, lsl #24
5235  .long  0x4e20d600                          // fadd          v0.4s, v16.4s, v0.4s
5236  .long  0x91004021                          // add           x1, x1, #0x10
5237  .long  0xd61f00a0                          // br            x5
5238
5239HIDDEN _sk_bilinear_px_aarch64
5240.globl _sk_bilinear_px_aarch64
5241FUNCTION(_sk_bilinear_px_aarch64)
5242_sk_bilinear_px_aarch64:
5243  .long  0xf9400028                          // ldr           x8, [x1]
5244  .long  0x3dc01100                          // ldr           q0, [x8, #64]
5245  .long  0x3dc00110                          // ldr           q16, [x8]
5246  .long  0x3d802100                          // str           q0, [x8, #128]
5247  .long  0xf9400425                          // ldr           x5, [x1, #8]
5248  .long  0x4f0167e0                          // movi          v0.4s, #0x3f, lsl #24
5249  .long  0x4e20d600                          // fadd          v0.4s, v16.4s, v0.4s
5250  .long  0x91004021                          // add           x1, x1, #0x10
5251  .long  0xd61f00a0                          // br            x5
5252
5253HIDDEN _sk_bilinear_ny_aarch64
5254.globl _sk_bilinear_ny_aarch64
5255FUNCTION(_sk_bilinear_ny_aarch64)
5256_sk_bilinear_ny_aarch64:
5257  .long  0xf9400028                          // ldr           x8, [x1]
5258  .long  0x4f03f611                          // fmov          v17.4s, #1.000000000000000000e+00
5259  .long  0x3dc01901                          // ldr           q1, [x8, #96]
5260  .long  0x3dc00910                          // ldr           q16, [x8, #32]
5261  .long  0x4ea1d621                          // fsub          v1.4s, v17.4s, v1.4s
5262  .long  0x3d802901                          // str           q1, [x8, #160]
5263  .long  0xf9400425                          // ldr           x5, [x1, #8]
5264  .long  0x4f0567e1                          // movi          v1.4s, #0xbf, lsl #24
5265  .long  0x4e21d601                          // fadd          v1.4s, v16.4s, v1.4s
5266  .long  0x91004021                          // add           x1, x1, #0x10
5267  .long  0xd61f00a0                          // br            x5
5268
5269HIDDEN _sk_bilinear_py_aarch64
5270.globl _sk_bilinear_py_aarch64
5271FUNCTION(_sk_bilinear_py_aarch64)
5272_sk_bilinear_py_aarch64:
5273  .long  0xf9400028                          // ldr           x8, [x1]
5274  .long  0x3dc01901                          // ldr           q1, [x8, #96]
5275  .long  0x3dc00910                          // ldr           q16, [x8, #32]
5276  .long  0x3d802901                          // str           q1, [x8, #160]
5277  .long  0xf9400425                          // ldr           x5, [x1, #8]
5278  .long  0x4f0167e1                          // movi          v1.4s, #0x3f, lsl #24
5279  .long  0x4e21d601                          // fadd          v1.4s, v16.4s, v1.4s
5280  .long  0x91004021                          // add           x1, x1, #0x10
5281  .long  0xd61f00a0                          // br            x5
5282
5283HIDDEN _sk_bicubic_n3x_aarch64
5284.globl _sk_bicubic_n3x_aarch64
5285FUNCTION(_sk_bicubic_n3x_aarch64)
5286_sk_bicubic_n3x_aarch64:
5287  .long  0xf9400028                          // ldr           x8, [x1]
5288  .long  0x52a7d8e9                          // mov           w9, #0x3ec70000
5289  .long  0x72838e49                          // movk          w9, #0x1c72
5290  .long  0x4e040d30                          // dup           v16.4s, w9
5291  .long  0x3dc01111                          // ldr           q17, [x8, #64]
5292  .long  0x52b7d549                          // mov           w9, #0xbeaa0000
5293  .long  0x4f03f600                          // fmov          v0.4s, #1.000000000000000000e+00
5294  .long  0x72955569                          // movk          w9, #0xaaab
5295  .long  0x4e040d32                          // dup           v18.4s, w9
5296  .long  0x4eb1d400                          // fsub          v0.4s, v0.4s, v17.4s
5297  .long  0x6e20dc11                          // fmul          v17.4s, v0.4s, v0.4s
5298  .long  0x4e20ce12                          // fmla          v18.4s, v16.4s, v0.4s
5299  .long  0x6e32de20                          // fmul          v0.4s, v17.4s, v18.4s
5300  .long  0x3dc00113                          // ldr           q19, [x8]
5301  .long  0x3d802100                          // str           q0, [x8, #128]
5302  .long  0xf9400425                          // ldr           x5, [x1, #8]
5303  .long  0x4f07f700                          // fmov          v0.4s, #-1.500000000000000000e+00
5304  .long  0x4e20d660                          // fadd          v0.4s, v19.4s, v0.4s
5305  .long  0x91004021                          // add           x1, x1, #0x10
5306  .long  0xd61f00a0                          // br            x5
5307
5308HIDDEN _sk_bicubic_n1x_aarch64
5309.globl _sk_bicubic_n1x_aarch64
5310FUNCTION(_sk_bicubic_n1x_aarch64)
5311_sk_bicubic_n1x_aarch64:
5312  .long  0xf9400028                          // ldr           x8, [x1]
5313  .long  0x52b7f2a9                          // mov           w9, #0xbf950000
5314  .long  0x4f03f600                          // fmov          v0.4s, #1.000000000000000000e+00
5315  .long  0x728aaaa9                          // movk          w9, #0x5555
5316  .long  0x3dc01110                          // ldr           q16, [x8, #64]
5317  .long  0x4f03f711                          // fmov          v17.4s, #1.500000000000000000e+00
5318  .long  0x4f0167f2                          // movi          v18.4s, #0x3f, lsl #24
5319  .long  0x4eb0d400                          // fsub          v0.4s, v0.4s, v16.4s
5320  .long  0x4e040d30                          // dup           v16.4s, w9
5321  .long  0x52a7ac69                          // mov           w9, #0x3d630000
5322  .long  0x7291c729                          // movk          w9, #0x8e39
5323  .long  0x4e20ce11                          // fmla          v17.4s, v16.4s, v0.4s
5324  .long  0x4e20ce32                          // fmla          v18.4s, v17.4s, v0.4s
5325  .long  0x4e040d31                          // dup           v17.4s, w9
5326  .long  0x4e20ce51                          // fmla          v17.4s, v18.4s, v0.4s
5327  .long  0x3dc00110                          // ldr           q16, [x8]
5328  .long  0x3d802111                          // str           q17, [x8, #128]
5329  .long  0xf9400425                          // ldr           x5, [x1, #8]
5330  .long  0x4f0567e0                          // movi          v0.4s, #0xbf, lsl #24
5331  .long  0x4e20d600                          // fadd          v0.4s, v16.4s, v0.4s
5332  .long  0x91004021                          // add           x1, x1, #0x10
5333  .long  0xd61f00a0                          // br            x5
5334
5335HIDDEN _sk_bicubic_p1x_aarch64
5336.globl _sk_bicubic_p1x_aarch64
5337FUNCTION(_sk_bicubic_p1x_aarch64)
5338_sk_bicubic_p1x_aarch64:
5339  .long  0xf9400028                          // ldr           x8, [x1]
5340  .long  0x52b7f2a9                          // mov           w9, #0xbf950000
5341  .long  0x728aaaa9                          // movk          w9, #0x5555
5342  .long  0x4f03f711                          // fmov          v17.4s, #1.500000000000000000e+00
5343  .long  0x3dc01112                          // ldr           q18, [x8, #64]
5344  .long  0x3dc00100                          // ldr           q0, [x8]
5345  .long  0x4e040d33                          // dup           v19.4s, w9
5346  .long  0x52a7ac69                          // mov           w9, #0x3d630000
5347  .long  0x4f0167f0                          // movi          v16.4s, #0x3f, lsl #24
5348  .long  0x7291c729                          // movk          w9, #0x8e39
5349  .long  0x4e32ce71                          // fmla          v17.4s, v19.4s, v18.4s
5350  .long  0x4e30d400                          // fadd          v0.4s, v0.4s, v16.4s
5351  .long  0x4e32ce30                          // fmla          v16.4s, v17.4s, v18.4s
5352  .long  0x4e040d31                          // dup           v17.4s, w9
5353  .long  0x4e32ce11                          // fmla          v17.4s, v16.4s, v18.4s
5354  .long  0x3d802111                          // str           q17, [x8, #128]
5355  .long  0xf9400425                          // ldr           x5, [x1, #8]
5356  .long  0x91004021                          // add           x1, x1, #0x10
5357  .long  0xd61f00a0                          // br            x5
5358
5359HIDDEN _sk_bicubic_p3x_aarch64
5360.globl _sk_bicubic_p3x_aarch64
5361FUNCTION(_sk_bicubic_p3x_aarch64)
5362_sk_bicubic_p3x_aarch64:
5363  .long  0xf9400028                          // ldr           x8, [x1]
5364  .long  0x52a7d8e9                          // mov           w9, #0x3ec70000
5365  .long  0x72838e49                          // movk          w9, #0x1c72
5366  .long  0x4e040d20                          // dup           v0.4s, w9
5367  .long  0x3dc01110                          // ldr           q16, [x8, #64]
5368  .long  0x52b7d549                          // mov           w9, #0xbeaa0000
5369  .long  0x72955569                          // movk          w9, #0xaaab
5370  .long  0x4e040d31                          // dup           v17.4s, w9
5371  .long  0x6e30de13                          // fmul          v19.4s, v16.4s, v16.4s
5372  .long  0x4e30cc11                          // fmla          v17.4s, v0.4s, v16.4s
5373  .long  0x6e31de60                          // fmul          v0.4s, v19.4s, v17.4s
5374  .long  0x3dc00112                          // ldr           q18, [x8]
5375  .long  0x3d802100                          // str           q0, [x8, #128]
5376  .long  0xf9400425                          // ldr           x5, [x1, #8]
5377  .long  0x4f03f700                          // fmov          v0.4s, #1.500000000000000000e+00
5378  .long  0x4e20d640                          // fadd          v0.4s, v18.4s, v0.4s
5379  .long  0x91004021                          // add           x1, x1, #0x10
5380  .long  0xd61f00a0                          // br            x5
5381
5382HIDDEN _sk_bicubic_n3y_aarch64
5383.globl _sk_bicubic_n3y_aarch64
5384FUNCTION(_sk_bicubic_n3y_aarch64)
5385_sk_bicubic_n3y_aarch64:
5386  .long  0xf9400028                          // ldr           x8, [x1]
5387  .long  0x52a7d8e9                          // mov           w9, #0x3ec70000
5388  .long  0x72838e49                          // movk          w9, #0x1c72
5389  .long  0x4e040d30                          // dup           v16.4s, w9
5390  .long  0x3dc01911                          // ldr           q17, [x8, #96]
5391  .long  0x52b7d549                          // mov           w9, #0xbeaa0000
5392  .long  0x4f03f601                          // fmov          v1.4s, #1.000000000000000000e+00
5393  .long  0x72955569                          // movk          w9, #0xaaab
5394  .long  0x4e040d32                          // dup           v18.4s, w9
5395  .long  0x4eb1d421                          // fsub          v1.4s, v1.4s, v17.4s
5396  .long  0x6e21dc31                          // fmul          v17.4s, v1.4s, v1.4s
5397  .long  0x4e21ce12                          // fmla          v18.4s, v16.4s, v1.4s
5398  .long  0x6e32de21                          // fmul          v1.4s, v17.4s, v18.4s
5399  .long  0x3dc00913                          // ldr           q19, [x8, #32]
5400  .long  0x3d802901                          // str           q1, [x8, #160]
5401  .long  0xf9400425                          // ldr           x5, [x1, #8]
5402  .long  0x4f07f701                          // fmov          v1.4s, #-1.500000000000000000e+00
5403  .long  0x4e21d661                          // fadd          v1.4s, v19.4s, v1.4s
5404  .long  0x91004021                          // add           x1, x1, #0x10
5405  .long  0xd61f00a0                          // br            x5
5406
5407HIDDEN _sk_bicubic_n1y_aarch64
5408.globl _sk_bicubic_n1y_aarch64
5409FUNCTION(_sk_bicubic_n1y_aarch64)
5410_sk_bicubic_n1y_aarch64:
5411  .long  0xf9400028                          // ldr           x8, [x1]
5412  .long  0x52b7f2a9                          // mov           w9, #0xbf950000
5413  .long  0x4f03f601                          // fmov          v1.4s, #1.000000000000000000e+00
5414  .long  0x728aaaa9                          // movk          w9, #0x5555
5415  .long  0x3dc01910                          // ldr           q16, [x8, #96]
5416  .long  0x4f03f711                          // fmov          v17.4s, #1.500000000000000000e+00
5417  .long  0x4f0167f2                          // movi          v18.4s, #0x3f, lsl #24
5418  .long  0x4eb0d421                          // fsub          v1.4s, v1.4s, v16.4s
5419  .long  0x4e040d30                          // dup           v16.4s, w9
5420  .long  0x52a7ac69                          // mov           w9, #0x3d630000
5421  .long  0x7291c729                          // movk          w9, #0x8e39
5422  .long  0x4e21ce11                          // fmla          v17.4s, v16.4s, v1.4s
5423  .long  0x4e21ce32                          // fmla          v18.4s, v17.4s, v1.4s
5424  .long  0x4e040d31                          // dup           v17.4s, w9
5425  .long  0x4e21ce51                          // fmla          v17.4s, v18.4s, v1.4s
5426  .long  0x3dc00910                          // ldr           q16, [x8, #32]
5427  .long  0x3d802911                          // str           q17, [x8, #160]
5428  .long  0xf9400425                          // ldr           x5, [x1, #8]
5429  .long  0x4f0567e1                          // movi          v1.4s, #0xbf, lsl #24
5430  .long  0x4e21d601                          // fadd          v1.4s, v16.4s, v1.4s
5431  .long  0x91004021                          // add           x1, x1, #0x10
5432  .long  0xd61f00a0                          // br            x5
5433
5434HIDDEN _sk_bicubic_p1y_aarch64
5435.globl _sk_bicubic_p1y_aarch64
5436FUNCTION(_sk_bicubic_p1y_aarch64)
5437_sk_bicubic_p1y_aarch64:
5438  .long  0xf9400028                          // ldr           x8, [x1]
5439  .long  0x52b7f2a9                          // mov           w9, #0xbf950000
5440  .long  0x728aaaa9                          // movk          w9, #0x5555
5441  .long  0x4f03f711                          // fmov          v17.4s, #1.500000000000000000e+00
5442  .long  0x3dc01912                          // ldr           q18, [x8, #96]
5443  .long  0x3dc00901                          // ldr           q1, [x8, #32]
5444  .long  0x4e040d33                          // dup           v19.4s, w9
5445  .long  0x52a7ac69                          // mov           w9, #0x3d630000
5446  .long  0x4f0167f0                          // movi          v16.4s, #0x3f, lsl #24
5447  .long  0x7291c729                          // movk          w9, #0x8e39
5448  .long  0x4e32ce71                          // fmla          v17.4s, v19.4s, v18.4s
5449  .long  0x4e30d421                          // fadd          v1.4s, v1.4s, v16.4s
5450  .long  0x4e32ce30                          // fmla          v16.4s, v17.4s, v18.4s
5451  .long  0x4e040d31                          // dup           v17.4s, w9
5452  .long  0x4e32ce11                          // fmla          v17.4s, v16.4s, v18.4s
5453  .long  0x3d802911                          // str           q17, [x8, #160]
5454  .long  0xf9400425                          // ldr           x5, [x1, #8]
5455  .long  0x91004021                          // add           x1, x1, #0x10
5456  .long  0xd61f00a0                          // br            x5
5457
5458HIDDEN _sk_bicubic_p3y_aarch64
5459.globl _sk_bicubic_p3y_aarch64
5460FUNCTION(_sk_bicubic_p3y_aarch64)
5461_sk_bicubic_p3y_aarch64:
5462  .long  0xf9400028                          // ldr           x8, [x1]
5463  .long  0x52a7d8e9                          // mov           w9, #0x3ec70000
5464  .long  0x72838e49                          // movk          w9, #0x1c72
5465  .long  0x4e040d21                          // dup           v1.4s, w9
5466  .long  0x3dc01910                          // ldr           q16, [x8, #96]
5467  .long  0x52b7d549                          // mov           w9, #0xbeaa0000
5468  .long  0x72955569                          // movk          w9, #0xaaab
5469  .long  0x4e040d31                          // dup           v17.4s, w9
5470  .long  0x6e30de13                          // fmul          v19.4s, v16.4s, v16.4s
5471  .long  0x4e30cc31                          // fmla          v17.4s, v1.4s, v16.4s
5472  .long  0x6e31de61                          // fmul          v1.4s, v19.4s, v17.4s
5473  .long  0x3dc00912                          // ldr           q18, [x8, #32]
5474  .long  0x3d802901                          // str           q1, [x8, #160]
5475  .long  0xf9400425                          // ldr           x5, [x1, #8]
5476  .long  0x4f03f701                          // fmov          v1.4s, #1.500000000000000000e+00
5477  .long  0x4e21d641                          // fadd          v1.4s, v18.4s, v1.4s
5478  .long  0x91004021                          // add           x1, x1, #0x10
5479  .long  0xd61f00a0                          // br            x5
5480
5481HIDDEN _sk_callback_aarch64
5482.globl _sk_callback_aarch64
5483FUNCTION(_sk_callback_aarch64)
5484_sk_callback_aarch64:
5485  .long  0xd10203ff                          // sub           sp, sp, #0x80
5486  .long  0xa9045ff8                          // stp           x24, x23, [sp, #64]
5487  .long  0xa90557f6                          // stp           x22, x21, [sp, #80]
5488  .long  0xa9064ff4                          // stp           x20, x19, [sp, #96]
5489  .long  0xa9077bfd                          // stp           x29, x30, [sp, #112]
5490  .long  0xad011fe6                          // stp           q6, q7, [sp, #32]
5491  .long  0xad0017e4                          // stp           q4, q5, [sp]
5492  .long  0xaa0103f6                          // mov           x22, x1
5493  .long  0xf94002d8                          // ldr           x24, [x22]
5494  .long  0xaa0403f3                          // mov           x19, x4
5495  .long  0xf100027f                          // cmp           x19, #0x0
5496  .long  0x321e03e9                          // orr           w9, wzr, #0x4
5497  .long  0x91002308                          // add           x8, x24, #0x8
5498  .long  0x4c000900                          // st4           {v0.4s-v3.4s}, [x8]
5499  .long  0xf9400308                          // ldr           x8, [x24]
5500  .long  0xaa0003f7                          // mov           x23, x0
5501  .long  0x1a891261                          // csel          w1, w19, w9, ne  // ne = any
5502  .long  0xaa1803e0                          // mov           x0, x24
5503  .long  0x9101c3fd                          // add           x29, sp, #0x70
5504  .long  0xaa0303f4                          // mov           x20, x3
5505  .long  0xaa0203f5                          // mov           x21, x2
5506  .long  0xd63f0100                          // blr           x8
5507  .long  0xf9404708                          // ldr           x8, [x24, #136]
5508  .long  0xf94006c5                          // ldr           x5, [x22, #8]
5509  .long  0x910042c1                          // add           x1, x22, #0x10
5510  .long  0xaa1703e0                          // mov           x0, x23
5511  .long  0x4c400900                          // ld4           {v0.4s-v3.4s}, [x8]
5512  .long  0xaa1503e2                          // mov           x2, x21
5513  .long  0xaa1403e3                          // mov           x3, x20
5514  .long  0xaa1303e4                          // mov           x4, x19
5515  .long  0xad4017e4                          // ldp           q4, q5, [sp]
5516  .long  0xad411fe6                          // ldp           q6, q7, [sp, #32]
5517  .long  0xa9477bfd                          // ldp           x29, x30, [sp, #112]
5518  .long  0xa9464ff4                          // ldp           x20, x19, [sp, #96]
5519  .long  0xa94557f6                          // ldp           x22, x21, [sp, #80]
5520  .long  0xa9445ff8                          // ldp           x24, x23, [sp, #64]
5521  .long  0x910203ff                          // add           sp, sp, #0x80
5522  .long  0xd61f00a0                          // br            x5
5523#elif defined(__arm__)
5524BALIGN4
5525
5526HIDDEN _sk_start_pipeline_vfp4
5527.globl _sk_start_pipeline_vfp4
5528FUNCTION(_sk_start_pipeline_vfp4)
5529_sk_start_pipeline_vfp4:
5530  .long  0xe92d4ff0                          // push          {r4, r5, r6, r7, r8, r9, sl, fp, lr}
5531  .long  0xe28db01c                          // add           fp, sp, #28
5532  .long  0xe24dd004                          // sub           sp, sp, #4
5533  .long  0xe1a04003                          // mov           r4, r3
5534  .long  0xe59b8008                          // ldr           r8, [fp, #8]
5535  .long  0xe4945004                          // ldr           r5, [r4], #4
5536  .long  0xe1a06000                          // mov           r6, r0
5537  .long  0xe2860002                          // add           r0, r6, #2
5538  .long  0xe1a07002                          // mov           r7, r2
5539  .long  0xe1a09001                          // mov           r9, r1
5540  .long  0xe1500007                          // cmp           r0, r7
5541  .long  0x8a00000a                          // bhi           5c <sk_start_pipeline_vfp4+0x5c>
5542  .long  0xe3a0a000                          // mov           sl, #0
5543  .long  0xe1a00008                          // mov           r0, r8
5544  .long  0xe1a01004                          // mov           r1, r4
5545  .long  0xe1a02006                          // mov           r2, r6
5546  .long  0xe1a03009                          // mov           r3, r9
5547  .long  0xe58da000                          // str           sl, [sp]
5548  .long  0xe12fff35                          // blx           r5
5549  .long  0xe2860004                          // add           r0, r6, #4
5550  .long  0xe2866002                          // add           r6, r6, #2
5551  .long  0xe1500007                          // cmp           r0, r7
5552  .long  0x9afffff5                          // bls           34 <sk_start_pipeline_vfp4+0x34>
5553  .long  0xe0570006                          // subs          r0, r7, r6
5554  .long  0x0a000005                          // beq           7c <sk_start_pipeline_vfp4+0x7c>
5555  .long  0xe58d0000                          // str           r0, [sp]
5556  .long  0xe1a00008                          // mov           r0, r8
5557  .long  0xe1a01004                          // mov           r1, r4
5558  .long  0xe1a02006                          // mov           r2, r6
5559  .long  0xe1a03009                          // mov           r3, r9
5560  .long  0xe12fff35                          // blx           r5
5561  .long  0xe24bd01c                          // sub           sp, fp, #28
5562  .long  0xe8bd8ff0                          // pop           {r4, r5, r6, r7, r8, r9, sl, fp, pc}
5563
5564HIDDEN _sk_start_pipeline_2d_vfp4
5565.globl _sk_start_pipeline_2d_vfp4
5566FUNCTION(_sk_start_pipeline_2d_vfp4)
5567_sk_start_pipeline_2d_vfp4:
5568  .long  0xe92d4ff0                          // push          {r4, r5, r6, r7, r8, r9, sl, fp, lr}
5569  .long  0xe28db01c                          // add           fp, sp, #28
5570  .long  0xe24dd014                          // sub           sp, sp, #20
5571  .long  0xe1a06001                          // mov           r6, r1
5572  .long  0xe1a05002                          // mov           r5, r2
5573  .long  0xe1560003                          // cmp           r6, r3
5574  .long  0xe58d0010                          // str           r0, [sp, #16]
5575  .long  0xe58d300c                          // str           r3, [sp, #12]
5576  .long  0x2a000023                          // bcs           138 <sk_start_pipeline_2d_vfp4+0xb4>
5577  .long  0xe59b1008                          // ldr           r1, [fp, #8]
5578  .long  0xe3a08000                          // mov           r8, #0
5579  .long  0xe59ba00c                          // ldr           sl, [fp, #12]
5580  .long  0xe59d0010                          // ldr           r0, [sp, #16]
5581  .long  0xe2817004                          // add           r7, r1, #4
5582  .long  0xe2800002                          // add           r0, r0, #2
5583  .long  0xe58d0008                          // str           r0, [sp, #8]
5584  .long  0xe59b0008                          // ldr           r0, [fp, #8]
5585  .long  0xe59d4010                          // ldr           r4, [sp, #16]
5586  .long  0xe5909000                          // ldr           r9, [r0]
5587  .long  0xe59d0008                          // ldr           r0, [sp, #8]
5588  .long  0xe1500005                          // cmp           r0, r5
5589  .long  0x8a00000a                          // bhi           108 <sk_start_pipeline_2d_vfp4+0x84>
5590  .long  0xe59d4010                          // ldr           r4, [sp, #16]
5591  .long  0xe1a0000a                          // mov           r0, sl
5592  .long  0xe1a01007                          // mov           r1, r7
5593  .long  0xe1a02004                          // mov           r2, r4
5594  .long  0xe1a03006                          // mov           r3, r6
5595  .long  0xe58d8000                          // str           r8, [sp]
5596  .long  0xe12fff39                          // blx           r9
5597  .long  0xe2840004                          // add           r0, r4, #4
5598  .long  0xe2844002                          // add           r4, r4, #2
5599  .long  0xe1500005                          // cmp           r0, r5
5600  .long  0x9afffff5                          // bls           e0 <sk_start_pipeline_2d_vfp4+0x5c>
5601  .long  0xe0550004                          // subs          r0, r5, r4
5602  .long  0x0a000005                          // beq           128 <sk_start_pipeline_2d_vfp4+0xa4>
5603  .long  0xe58d0000                          // str           r0, [sp]
5604  .long  0xe1a0000a                          // mov           r0, sl
5605  .long  0xe1a01007                          // mov           r1, r7
5606  .long  0xe1a02004                          // mov           r2, r4
5607  .long  0xe1a03006                          // mov           r3, r6
5608  .long  0xe12fff39                          // blx           r9
5609  .long  0xe59d000c                          // ldr           r0, [sp, #12]
5610  .long  0xe2866001                          // add           r6, r6, #1
5611  .long  0xe1560000                          // cmp           r6, r0
5612  .long  0x1affffe2                          // bne           c4 <sk_start_pipeline_2d_vfp4+0x40>
5613  .long  0xe24bd01c                          // sub           sp, fp, #28
5614  .long  0xe8bd8ff0                          // pop           {r4, r5, r6, r7, r8, r9, sl, fp, pc}
5615
5616HIDDEN _sk_just_return_vfp4
5617.globl _sk_just_return_vfp4
5618FUNCTION(_sk_just_return_vfp4)
5619_sk_just_return_vfp4:
5620  .long  0xe12fff1e                          // bx            lr
5621
5622HIDDEN _sk_seed_shader_vfp4
5623.globl _sk_seed_shader_vfp4
5624FUNCTION(_sk_seed_shader_vfp4)
5625_sk_seed_shader_vfp4:
5626  .long  0xee802b90                          // vdup.32       d16, r2
5627  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
5628  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
5629  .long  0xee823b90                          // vdup.32       d18, r3
5630  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
5631  .long  0xedd03b00                          // vldr          d19, [r0]
5632  .long  0xe491c004                          // ldr           ip, [r1], #4
5633  .long  0xf2872f10                          // vmov.f32      d2, #1
5634  .long  0xf2803010                          // vmov.i32      d3, #0
5635  .long  0xf2400da1                          // vadd.f32      d16, d16, d17
5636  .long  0xf2021da1                          // vadd.f32      d1, d18, d17
5637  .long  0xf2804010                          // vmov.i32      d4, #0
5638  .long  0xf2805010                          // vmov.i32      d5, #0
5639  .long  0xf2000da3                          // vadd.f32      d0, d16, d19
5640  .long  0xf2806010                          // vmov.i32      d6, #0
5641  .long  0xf2807010                          // vmov.i32      d7, #0
5642  .long  0xe12fff1c                          // bx            ip
5643
5644HIDDEN _sk_dither_vfp4
5645.globl _sk_dither_vfp4
5646FUNCTION(_sk_dither_vfp4)
5647_sk_dither_vfp4:
5648  .long  0xe92d4800                          // push          {fp, lr}
5649  .long  0xee802b90                          // vdup.32       d16, r2
5650  .long  0xf2c02011                          // vmov.i32      d18, #1
5651  .long  0xedd01b08                          // vldr          d17, [r0, #32]
5652  .long  0xf2c03014                          // vmov.i32      d19, #4
5653  .long  0xf26108a0                          // vadd.i32      d16, d17, d16
5654  .long  0xee853b90                          // vdup.32       d21, r3
5655  .long  0xf2c01012                          // vmov.i32      d17, #2
5656  .long  0xe3a0c5f2                          // mov           ip, #1015021568
5657  .long  0xf24041b2                          // vand          d20, d16, d18
5658  .long  0xe591e000                          // ldr           lr, [r1]
5659  .long  0xf24061b1                          // vand          d22, d16, d17
5660  .long  0xf34551b0                          // veor          d21, d21, d16
5661  .long  0xf24001b3                          // vand          d16, d16, d19
5662  .long  0xf2e44534                          // vshl.s32      d20, d20, #4
5663  .long  0xf2e16536                          // vshl.s32      d22, d22, #1
5664  .long  0xf24521b2                          // vand          d18, d21, d18
5665  .long  0xf3fe0030                          // vshr.u32      d16, d16, #2
5666  .long  0xf26641b4                          // vorr          d20, d22, d20
5667  .long  0xf24511b1                          // vand          d17, d21, d17
5668  .long  0xf2e52532                          // vshl.s32      d18, d18, #5
5669  .long  0xf26401b0                          // vorr          d16, d20, d16
5670  .long  0xf24531b3                          // vand          d19, d21, d19
5671  .long  0xf26001b2                          // vorr          d16, d16, d18
5672  .long  0xf2e21531                          // vshl.s32      d17, d17, #2
5673  .long  0xf3ff2033                          // vshr.u32      d18, d19, #1
5674  .long  0xf26001b1                          // vorr          d16, d16, d17
5675  .long  0xee81cb90                          // vdup.32       d17, ip
5676  .long  0xf2c03010                          // vmov.i32      d19, #0
5677  .long  0xe591c004                          // ldr           ip, [r1, #4]
5678  .long  0xf26001b2                          // vorr          d16, d16, d18
5679  .long  0xe2811008                          // add           r1, r1, #8
5680  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
5681  .long  0xf3400db1                          // vmul.f32      d16, d16, d17
5682  .long  0xeddf1b0e                          // vldr          d17, [pc, #56]
5683  .long  0xf2400da1                          // vadd.f32      d16, d16, d17
5684  .long  0xf4ee1c9f                          // vld1.32       {d17[]}, [lr :32]
5685  .long  0xf3410db0                          // vmul.f32      d16, d17, d16
5686  .long  0xf2401d80                          // vadd.f32      d17, d16, d0
5687  .long  0xf2402d81                          // vadd.f32      d18, d16, d1
5688  .long  0xf2400d82                          // vadd.f32      d16, d16, d2
5689  .long  0xf2611f83                          // vmin.f32      d17, d17, d3
5690  .long  0xf2622f83                          // vmin.f32      d18, d18, d3
5691  .long  0xf2600f83                          // vmin.f32      d16, d16, d3
5692  .long  0xf2030fa1                          // vmax.f32      d0, d19, d17
5693  .long  0xf2031fa2                          // vmax.f32      d1, d19, d18
5694  .long  0xf2032fa0                          // vmax.f32      d2, d19, d16
5695  .long  0xe8bd4800                          // pop           {fp, lr}
5696  .long  0xe12fff1c                          // bx            ip
5697  .long  0xe320f000                          // nop           {0}
5698  .long  0xbefc0000                          // .word         0xbefc0000
5699  .long  0xbefc0000                          // .word         0xbefc0000
5700
5701HIDDEN _sk_uniform_color_vfp4
5702.globl _sk_uniform_color_vfp4
5703FUNCTION(_sk_uniform_color_vfp4)
5704_sk_uniform_color_vfp4:
5705  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
5706  .long  0xe591e000                          // ldr           lr, [r1]
5707  .long  0xe591c004                          // ldr           ip, [r1, #4]
5708  .long  0xe2811008                          // add           r1, r1, #8
5709  .long  0xe28e500c                          // add           r5, lr, #12
5710  .long  0xe1a0400e                          // mov           r4, lr
5711  .long  0xf4a40c9d                          // vld1.32       {d0[]}, [r4 :32]!
5712  .long  0xf4a53c9f                          // vld1.32       {d3[]}, [r5 :32]
5713  .long  0xe28e5008                          // add           r5, lr, #8
5714  .long  0xf4a52c9f                          // vld1.32       {d2[]}, [r5 :32]
5715  .long  0xf4a41c9f                          // vld1.32       {d1[]}, [r4 :32]
5716  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
5717  .long  0xe12fff1c                          // bx            ip
5718
5719HIDDEN _sk_black_color_vfp4
5720.globl _sk_black_color_vfp4
5721FUNCTION(_sk_black_color_vfp4)
5722_sk_black_color_vfp4:
5723  .long  0xe491c004                          // ldr           ip, [r1], #4
5724  .long  0xf2800010                          // vmov.i32      d0, #0
5725  .long  0xf2801010                          // vmov.i32      d1, #0
5726  .long  0xf2802010                          // vmov.i32      d2, #0
5727  .long  0xf2873f10                          // vmov.f32      d3, #1
5728  .long  0xe12fff1c                          // bx            ip
5729
5730HIDDEN _sk_white_color_vfp4
5731.globl _sk_white_color_vfp4
5732FUNCTION(_sk_white_color_vfp4)
5733_sk_white_color_vfp4:
5734  .long  0xe491c004                          // ldr           ip, [r1], #4
5735  .long  0xf2870f10                          // vmov.f32      d0, #1
5736  .long  0xf2871f10                          // vmov.f32      d1, #1
5737  .long  0xf2872f10                          // vmov.f32      d2, #1
5738  .long  0xf2873f10                          // vmov.f32      d3, #1
5739  .long  0xe12fff1c                          // bx            ip
5740
5741HIDDEN _sk_load_rgba_vfp4
5742.globl _sk_load_rgba_vfp4
5743FUNCTION(_sk_load_rgba_vfp4)
5744_sk_load_rgba_vfp4:
5745  .long  0xe92d4010                          // push          {r4, lr}
5746  .long  0xe591e000                          // ldr           lr, [r1]
5747  .long  0xe591c004                          // ldr           ip, [r1, #4]
5748  .long  0xe2811008                          // add           r1, r1, #8
5749  .long  0xe1a0400e                          // mov           r4, lr
5750  .long  0xed9e2b04                          // vldr          d2, [lr, #16]
5751  .long  0xf424078d                          // vld1.32       {d0}, [r4]!
5752  .long  0xed9e3b06                          // vldr          d3, [lr, #24]
5753  .long  0xed941b00                          // vldr          d1, [r4]
5754  .long  0xe8bd4010                          // pop           {r4, lr}
5755  .long  0xe12fff1c                          // bx            ip
5756
5757HIDDEN _sk_store_rgba_vfp4
5758.globl _sk_store_rgba_vfp4
5759FUNCTION(_sk_store_rgba_vfp4)
5760_sk_store_rgba_vfp4:
5761  .long  0xe92d4800                          // push          {fp, lr}
5762  .long  0xe591c000                          // ldr           ip, [r1]
5763  .long  0xe1a0e00c                          // mov           lr, ip
5764  .long  0xf40e078d                          // vst1.32       {d0}, [lr]!
5765  .long  0xed8e1b00                          // vstr          d1, [lr]
5766  .long  0xed8c2b04                          // vstr          d2, [ip, #16]
5767  .long  0xed8c3b06                          // vstr          d3, [ip, #24]
5768  .long  0xe281c008                          // add           ip, r1, #8
5769  .long  0xe591e004                          // ldr           lr, [r1, #4]
5770  .long  0xe1a0100c                          // mov           r1, ip
5771  .long  0xe1a0c00e                          // mov           ip, lr
5772  .long  0xe8bd4800                          // pop           {fp, lr}
5773  .long  0xe12fff1c                          // bx            ip
5774
5775HIDDEN _sk_clear_vfp4
5776.globl _sk_clear_vfp4
5777FUNCTION(_sk_clear_vfp4)
5778_sk_clear_vfp4:
5779  .long  0xe491c004                          // ldr           ip, [r1], #4
5780  .long  0xf2800010                          // vmov.i32      d0, #0
5781  .long  0xf2801010                          // vmov.i32      d1, #0
5782  .long  0xf2802010                          // vmov.i32      d2, #0
5783  .long  0xf2803010                          // vmov.i32      d3, #0
5784  .long  0xe12fff1c                          // bx            ip
5785
5786HIDDEN _sk_srcatop_vfp4
5787.globl _sk_srcatop_vfp4
5788FUNCTION(_sk_srcatop_vfp4)
5789_sk_srcatop_vfp4:
5790  .long  0xf2c70f10                          // vmov.f32      d16, #1
5791  .long  0xe491c004                          // ldr           ip, [r1], #4
5792  .long  0xf2603d83                          // vsub.f32      d19, d16, d3
5793  .long  0xf3033d17                          // vmul.f32      d3, d3, d7
5794  .long  0xf3430d94                          // vmul.f32      d16, d19, d4
5795  .long  0xf3431d95                          // vmul.f32      d17, d19, d5
5796  .long  0xf3432d96                          // vmul.f32      d18, d19, d6
5797  .long  0xf2400c17                          // vfma.f32      d16, d0, d7
5798  .long  0xf2411c17                          // vfma.f32      d17, d1, d7
5799  .long  0xf2422c17                          // vfma.f32      d18, d2, d7
5800  .long  0xf2033c97                          // vfma.f32      d3, d19, d7
5801  .long  0xf22001b0                          // vorr          d0, d16, d16
5802  .long  0xf22111b1                          // vorr          d1, d17, d17
5803  .long  0xf22221b2                          // vorr          d2, d18, d18
5804  .long  0xe12fff1c                          // bx            ip
5805
5806HIDDEN _sk_dstatop_vfp4
5807.globl _sk_dstatop_vfp4
5808FUNCTION(_sk_dstatop_vfp4)
5809_sk_dstatop_vfp4:
5810  .long  0xf2c70f10                          // vmov.f32      d16, #1
5811  .long  0xe491c004                          // ldr           ip, [r1], #4
5812  .long  0xf3431d15                          // vmul.f32      d17, d3, d5
5813  .long  0xf2604d87                          // vsub.f32      d20, d16, d7
5814  .long  0xf3430d14                          // vmul.f32      d16, d3, d4
5815  .long  0xf3432d16                          // vmul.f32      d18, d3, d6
5816  .long  0xf3433d17                          // vmul.f32      d19, d3, d7
5817  .long  0xf2440c90                          // vfma.f32      d16, d20, d0
5818  .long  0xf2441c91                          // vfma.f32      d17, d20, d1
5819  .long  0xf2442c92                          // vfma.f32      d18, d20, d2
5820  .long  0xf2443c93                          // vfma.f32      d19, d20, d3
5821  .long  0xf22001b0                          // vorr          d0, d16, d16
5822  .long  0xf22111b1                          // vorr          d1, d17, d17
5823  .long  0xf22221b2                          // vorr          d2, d18, d18
5824  .long  0xf22331b3                          // vorr          d3, d19, d19
5825  .long  0xe12fff1c                          // bx            ip
5826
5827HIDDEN _sk_srcin_vfp4
5828.globl _sk_srcin_vfp4
5829FUNCTION(_sk_srcin_vfp4)
5830_sk_srcin_vfp4:
5831  .long  0xf3000d17                          // vmul.f32      d0, d0, d7
5832  .long  0xe491c004                          // ldr           ip, [r1], #4
5833  .long  0xf3011d17                          // vmul.f32      d1, d1, d7
5834  .long  0xf3022d17                          // vmul.f32      d2, d2, d7
5835  .long  0xf3033d17                          // vmul.f32      d3, d3, d7
5836  .long  0xe12fff1c                          // bx            ip
5837
5838HIDDEN _sk_dstin_vfp4
5839.globl _sk_dstin_vfp4
5840FUNCTION(_sk_dstin_vfp4)
5841_sk_dstin_vfp4:
5842  .long  0xf3030d14                          // vmul.f32      d0, d3, d4
5843  .long  0xe491c004                          // ldr           ip, [r1], #4
5844  .long  0xf3031d15                          // vmul.f32      d1, d3, d5
5845  .long  0xf3032d16                          // vmul.f32      d2, d3, d6
5846  .long  0xf3033d17                          // vmul.f32      d3, d3, d7
5847  .long  0xe12fff1c                          // bx            ip
5848
5849HIDDEN _sk_srcout_vfp4
5850.globl _sk_srcout_vfp4
5851FUNCTION(_sk_srcout_vfp4)
5852_sk_srcout_vfp4:
5853  .long  0xf2c70f10                          // vmov.f32      d16, #1
5854  .long  0xe491c004                          // ldr           ip, [r1], #4
5855  .long  0xf2600d87                          // vsub.f32      d16, d16, d7
5856  .long  0xf3000d90                          // vmul.f32      d0, d16, d0
5857  .long  0xf3001d91                          // vmul.f32      d1, d16, d1
5858  .long  0xf3002d92                          // vmul.f32      d2, d16, d2
5859  .long  0xf3003d93                          // vmul.f32      d3, d16, d3
5860  .long  0xe12fff1c                          // bx            ip
5861
5862HIDDEN _sk_dstout_vfp4
5863.globl _sk_dstout_vfp4
5864FUNCTION(_sk_dstout_vfp4)
5865_sk_dstout_vfp4:
5866  .long  0xf2c70f10                          // vmov.f32      d16, #1
5867  .long  0xe491c004                          // ldr           ip, [r1], #4
5868  .long  0xf2600d83                          // vsub.f32      d16, d16, d3
5869  .long  0xf3000d94                          // vmul.f32      d0, d16, d4
5870  .long  0xf3001d95                          // vmul.f32      d1, d16, d5
5871  .long  0xf3002d96                          // vmul.f32      d2, d16, d6
5872  .long  0xf3003d97                          // vmul.f32      d3, d16, d7
5873  .long  0xe12fff1c                          // bx            ip
5874
5875HIDDEN _sk_srcover_vfp4
5876.globl _sk_srcover_vfp4
5877FUNCTION(_sk_srcover_vfp4)
5878_sk_srcover_vfp4:
5879  .long  0xf2c70f10                          // vmov.f32      d16, #1
5880  .long  0xe491c004                          // ldr           ip, [r1], #4
5881  .long  0xf2600d83                          // vsub.f32      d16, d16, d3
5882  .long  0xf2040c30                          // vfma.f32      d0, d4, d16
5883  .long  0xf2051c30                          // vfma.f32      d1, d5, d16
5884  .long  0xf2062c30                          // vfma.f32      d2, d6, d16
5885  .long  0xf2073c30                          // vfma.f32      d3, d7, d16
5886  .long  0xe12fff1c                          // bx            ip
5887
5888HIDDEN _sk_dstover_vfp4
5889.globl _sk_dstover_vfp4
5890FUNCTION(_sk_dstover_vfp4)
5891_sk_dstover_vfp4:
5892  .long  0xf2c70f10                          // vmov.f32      d16, #1
5893  .long  0xe491c004                          // ldr           ip, [r1], #4
5894  .long  0xf2651115                          // vorr          d17, d5, d5
5895  .long  0xf2604d87                          // vsub.f32      d20, d16, d7
5896  .long  0xf2640114                          // vorr          d16, d4, d4
5897  .long  0xf2662116                          // vorr          d18, d6, d6
5898  .long  0xf2673117                          // vorr          d19, d7, d7
5899  .long  0xf2400c34                          // vfma.f32      d16, d0, d20
5900  .long  0xf2411c34                          // vfma.f32      d17, d1, d20
5901  .long  0xf2422c34                          // vfma.f32      d18, d2, d20
5902  .long  0xf2433c34                          // vfma.f32      d19, d3, d20
5903  .long  0xf22001b0                          // vorr          d0, d16, d16
5904  .long  0xf22111b1                          // vorr          d1, d17, d17
5905  .long  0xf22221b2                          // vorr          d2, d18, d18
5906  .long  0xf22331b3                          // vorr          d3, d19, d19
5907  .long  0xe12fff1c                          // bx            ip
5908
5909HIDDEN _sk_modulate_vfp4
5910.globl _sk_modulate_vfp4
5911FUNCTION(_sk_modulate_vfp4)
5912_sk_modulate_vfp4:
5913  .long  0xf3000d14                          // vmul.f32      d0, d0, d4
5914  .long  0xe491c004                          // ldr           ip, [r1], #4
5915  .long  0xf3011d15                          // vmul.f32      d1, d1, d5
5916  .long  0xf3022d16                          // vmul.f32      d2, d2, d6
5917  .long  0xf3033d17                          // vmul.f32      d3, d3, d7
5918  .long  0xe12fff1c                          // bx            ip
5919
5920HIDDEN _sk_multiply_vfp4
5921.globl _sk_multiply_vfp4
5922FUNCTION(_sk_multiply_vfp4)
5923_sk_multiply_vfp4:
5924  .long  0xf2c70f10                          // vmov.f32      d16, #1
5925  .long  0xe491c004                          // ldr           ip, [r1], #4
5926  .long  0xf2601d87                          // vsub.f32      d17, d16, d7
5927  .long  0xf2600d83                          // vsub.f32      d16, d16, d3
5928  .long  0xf3412d90                          // vmul.f32      d18, d17, d0
5929  .long  0xf3403d94                          // vmul.f32      d19, d16, d4
5930  .long  0xf3414d91                          // vmul.f32      d20, d17, d1
5931  .long  0xf3405d95                          // vmul.f32      d21, d16, d5
5932  .long  0xf3416d92                          // vmul.f32      d22, d17, d2
5933  .long  0xf3418d93                          // vmul.f32      d24, d17, d3
5934  .long  0xf3407d96                          // vmul.f32      d23, d16, d6
5935  .long  0xf3409d97                          // vmul.f32      d25, d16, d7
5936  .long  0xf2430da2                          // vadd.f32      d16, d19, d18
5937  .long  0xf2451da4                          // vadd.f32      d17, d21, d20
5938  .long  0xf2472da6                          // vadd.f32      d18, d23, d22
5939  .long  0xf2493da8                          // vadd.f32      d19, d25, d24
5940  .long  0xf2400c14                          // vfma.f32      d16, d0, d4
5941  .long  0xf2411c15                          // vfma.f32      d17, d1, d5
5942  .long  0xf2422c16                          // vfma.f32      d18, d2, d6
5943  .long  0xf2433c17                          // vfma.f32      d19, d3, d7
5944  .long  0xf22001b0                          // vorr          d0, d16, d16
5945  .long  0xf22111b1                          // vorr          d1, d17, d17
5946  .long  0xf22221b2                          // vorr          d2, d18, d18
5947  .long  0xf22331b3                          // vorr          d3, d19, d19
5948  .long  0xe12fff1c                          // bx            ip
5949
5950HIDDEN _sk_plus__vfp4
5951.globl _sk_plus__vfp4
5952FUNCTION(_sk_plus__vfp4)
5953_sk_plus__vfp4:
5954  .long  0xf2000d04                          // vadd.f32      d0, d0, d4
5955  .long  0xe491c004                          // ldr           ip, [r1], #4
5956  .long  0xf2011d05                          // vadd.f32      d1, d1, d5
5957  .long  0xf2022d06                          // vadd.f32      d2, d2, d6
5958  .long  0xf2033d07                          // vadd.f32      d3, d3, d7
5959  .long  0xe12fff1c                          // bx            ip
5960
5961HIDDEN _sk_screen_vfp4
5962.globl _sk_screen_vfp4
5963FUNCTION(_sk_screen_vfp4)
5964_sk_screen_vfp4:
5965  .long  0xf2400d04                          // vadd.f32      d16, d0, d4
5966  .long  0xe491c004                          // ldr           ip, [r1], #4
5967  .long  0xf2411d05                          // vadd.f32      d17, d1, d5
5968  .long  0xf2422d06                          // vadd.f32      d18, d2, d6
5969  .long  0xf2433d07                          // vadd.f32      d19, d3, d7
5970  .long  0xf2600c14                          // vfms.f32      d16, d0, d4
5971  .long  0xf2611c15                          // vfms.f32      d17, d1, d5
5972  .long  0xf2622c16                          // vfms.f32      d18, d2, d6
5973  .long  0xf2633c17                          // vfms.f32      d19, d3, d7
5974  .long  0xf22001b0                          // vorr          d0, d16, d16
5975  .long  0xf22111b1                          // vorr          d1, d17, d17
5976  .long  0xf22221b2                          // vorr          d2, d18, d18
5977  .long  0xf22331b3                          // vorr          d3, d19, d19
5978  .long  0xe12fff1c                          // bx            ip
5979
5980HIDDEN _sk_xor__vfp4
5981.globl _sk_xor__vfp4
5982FUNCTION(_sk_xor__vfp4)
5983_sk_xor__vfp4:
5984  .long  0xf2c70f10                          // vmov.f32      d16, #1
5985  .long  0xe491c004                          // ldr           ip, [r1], #4
5986  .long  0xf2603d83                          // vsub.f32      d19, d16, d3
5987  .long  0xf2604d87                          // vsub.f32      d20, d16, d7
5988  .long  0xf3430d94                          // vmul.f32      d16, d19, d4
5989  .long  0xf3431d95                          // vmul.f32      d17, d19, d5
5990  .long  0xf3432d96                          // vmul.f32      d18, d19, d6
5991  .long  0xf3433d97                          // vmul.f32      d19, d19, d7
5992  .long  0xf2440c90                          // vfma.f32      d16, d20, d0
5993  .long  0xf2441c91                          // vfma.f32      d17, d20, d1
5994  .long  0xf2442c92                          // vfma.f32      d18, d20, d2
5995  .long  0xf2443c93                          // vfma.f32      d19, d20, d3
5996  .long  0xf22001b0                          // vorr          d0, d16, d16
5997  .long  0xf22111b1                          // vorr          d1, d17, d17
5998  .long  0xf22221b2                          // vorr          d2, d18, d18
5999  .long  0xf22331b3                          // vorr          d3, d19, d19
6000  .long  0xe12fff1c                          // bx            ip
6001
6002HIDDEN _sk_darken_vfp4
6003.globl _sk_darken_vfp4
6004FUNCTION(_sk_darken_vfp4)
6005_sk_darken_vfp4:
6006  .long  0xf2c70f10                          // vmov.f32      d16, #1
6007  .long  0xe491c004                          // ldr           ip, [r1], #4
6008  .long  0xf3431d14                          // vmul.f32      d17, d3, d4
6009  .long  0xf3402d17                          // vmul.f32      d18, d0, d7
6010  .long  0xf3433d15                          // vmul.f32      d19, d3, d5
6011  .long  0xf3414d17                          // vmul.f32      d20, d1, d7
6012  .long  0xf3435d16                          // vmul.f32      d21, d3, d6
6013  .long  0xf2600d83                          // vsub.f32      d16, d16, d3
6014  .long  0xf3426d17                          // vmul.f32      d22, d2, d7
6015  .long  0xf2421fa1                          // vmax.f32      d17, d18, d17
6016  .long  0xf2407d04                          // vadd.f32      d23, d0, d4
6017  .long  0xf2443fa3                          // vmax.f32      d19, d20, d19
6018  .long  0xf2412d05                          // vadd.f32      d18, d1, d5
6019  .long  0xf2424d06                          // vadd.f32      d20, d2, d6
6020  .long  0xf2465fa5                          // vmax.f32      d21, d22, d21
6021  .long  0xf2073c30                          // vfma.f32      d3, d7, d16
6022  .long  0xf2270da1                          // vsub.f32      d0, d23, d17
6023  .long  0xf2221da3                          // vsub.f32      d1, d18, d19
6024  .long  0xf2242da5                          // vsub.f32      d2, d20, d21
6025  .long  0xe12fff1c                          // bx            ip
6026
6027HIDDEN _sk_lighten_vfp4
6028.globl _sk_lighten_vfp4
6029FUNCTION(_sk_lighten_vfp4)
6030_sk_lighten_vfp4:
6031  .long  0xf2c70f10                          // vmov.f32      d16, #1
6032  .long  0xe491c004                          // ldr           ip, [r1], #4
6033  .long  0xf3431d14                          // vmul.f32      d17, d3, d4
6034  .long  0xf3402d17                          // vmul.f32      d18, d0, d7
6035  .long  0xf3433d15                          // vmul.f32      d19, d3, d5
6036  .long  0xf3414d17                          // vmul.f32      d20, d1, d7
6037  .long  0xf3435d16                          // vmul.f32      d21, d3, d6
6038  .long  0xf2600d83                          // vsub.f32      d16, d16, d3
6039  .long  0xf3426d17                          // vmul.f32      d22, d2, d7
6040  .long  0xf2621fa1                          // vmin.f32      d17, d18, d17
6041  .long  0xf2407d04                          // vadd.f32      d23, d0, d4
6042  .long  0xf2643fa3                          // vmin.f32      d19, d20, d19
6043  .long  0xf2412d05                          // vadd.f32      d18, d1, d5
6044  .long  0xf2424d06                          // vadd.f32      d20, d2, d6
6045  .long  0xf2665fa5                          // vmin.f32      d21, d22, d21
6046  .long  0xf2073c30                          // vfma.f32      d3, d7, d16
6047  .long  0xf2270da1                          // vsub.f32      d0, d23, d17
6048  .long  0xf2221da3                          // vsub.f32      d1, d18, d19
6049  .long  0xf2242da5                          // vsub.f32      d2, d20, d21
6050  .long  0xe12fff1c                          // bx            ip
6051
6052HIDDEN _sk_difference_vfp4
6053.globl _sk_difference_vfp4
6054FUNCTION(_sk_difference_vfp4)
6055_sk_difference_vfp4:
6056  .long  0xf3430d14                          // vmul.f32      d16, d3, d4
6057  .long  0xe491c004                          // ldr           ip, [r1], #4
6058  .long  0xf3401d17                          // vmul.f32      d17, d0, d7
6059  .long  0xf3432d15                          // vmul.f32      d18, d3, d5
6060  .long  0xf3413d17                          // vmul.f32      d19, d1, d7
6061  .long  0xf3434d16                          // vmul.f32      d20, d3, d6
6062  .long  0xf3425d17                          // vmul.f32      d21, d2, d7
6063  .long  0xf2c76f10                          // vmov.f32      d22, #1
6064  .long  0xf2610fa0                          // vmin.f32      d16, d17, d16
6065  .long  0xf2631fa2                          // vmin.f32      d17, d19, d18
6066  .long  0xf2662d83                          // vsub.f32      d18, d22, d3
6067  .long  0xf2653fa4                          // vmin.f32      d19, d21, d20
6068  .long  0xf2404d04                          // vadd.f32      d20, d0, d4
6069  .long  0xf2400da0                          // vadd.f32      d16, d16, d16
6070  .long  0xf2073c32                          // vfma.f32      d3, d7, d18
6071  .long  0xf2415d05                          // vadd.f32      d21, d1, d5
6072  .long  0xf2411da1                          // vadd.f32      d17, d17, d17
6073  .long  0xf2426d06                          // vadd.f32      d22, d2, d6
6074  .long  0xf2432da3                          // vadd.f32      d18, d19, d19
6075  .long  0xf2240da0                          // vsub.f32      d0, d20, d16
6076  .long  0xf2251da1                          // vsub.f32      d1, d21, d17
6077  .long  0xf2262da2                          // vsub.f32      d2, d22, d18
6078  .long  0xe12fff1c                          // bx            ip
6079
6080HIDDEN _sk_exclusion_vfp4
6081.globl _sk_exclusion_vfp4
6082FUNCTION(_sk_exclusion_vfp4)
6083_sk_exclusion_vfp4:
6084  .long  0xf2c70f10                          // vmov.f32      d16, #1
6085  .long  0xe491c004                          // ldr           ip, [r1], #4
6086  .long  0xf3401d14                          // vmul.f32      d17, d0, d4
6087  .long  0xf3412d15                          // vmul.f32      d18, d1, d5
6088  .long  0xf3423d16                          // vmul.f32      d19, d2, d6
6089  .long  0xf2600d83                          // vsub.f32      d16, d16, d3
6090  .long  0xf2404d04                          // vadd.f32      d20, d0, d4
6091  .long  0xf2411da1                          // vadd.f32      d17, d17, d17
6092  .long  0xf2415d05                          // vadd.f32      d21, d1, d5
6093  .long  0xf2422da2                          // vadd.f32      d18, d18, d18
6094  .long  0xf2426d06                          // vadd.f32      d22, d2, d6
6095  .long  0xf2433da3                          // vadd.f32      d19, d19, d19
6096  .long  0xf2073c30                          // vfma.f32      d3, d7, d16
6097  .long  0xf2240da1                          // vsub.f32      d0, d20, d17
6098  .long  0xf2251da2                          // vsub.f32      d1, d21, d18
6099  .long  0xf2262da3                          // vsub.f32      d2, d22, d19
6100  .long  0xe12fff1c                          // bx            ip
6101
6102HIDDEN _sk_colorburn_vfp4
6103.globl _sk_colorburn_vfp4
6104FUNCTION(_sk_colorburn_vfp4)
6105_sk_colorburn_vfp4:
6106  .long  0xed2d8b08                          // vpush         {d8-d11}
6107  .long  0xf2670d04                          // vsub.f32      d16, d7, d4
6108  .long  0xe491c004                          // ldr           ip, [r1], #4
6109  .long  0xf2671d06                          // vsub.f32      d17, d7, d6
6110  .long  0xf2672d05                          // vsub.f32      d18, d7, d5
6111  .long  0xf3008d93                          // vmul.f32      d8, d16, d3
6112  .long  0xf3019d93                          // vmul.f32      d9, d17, d3
6113  .long  0xf302ad93                          // vmul.f32      d10, d18, d3
6114  .long  0xf2c71f10                          // vmov.f32      d17, #1
6115  .long  0xeec8baa0                          // vdiv.f32      s23, s17, s1
6116  .long  0xee88ba00                          // vdiv.f32      s22, s16, s0
6117  .long  0xeec98aa2                          // vdiv.f32      s17, s19, s5
6118  .long  0xee898a02                          // vdiv.f32      s16, s18, s4
6119  .long  0xeeca9aa1                          // vdiv.f32      s19, s21, s3
6120  .long  0xee8a9a01                          // vdiv.f32      s18, s20, s2
6121  .long  0xf2672f08                          // vmin.f32      d18, d7, d8
6122  .long  0xf2673f09                          // vmin.f32      d19, d7, d9
6123  .long  0xf2670f0b                          // vmin.f32      d16, d7, d11
6124  .long  0xf2614d87                          // vsub.f32      d20, d17, d7
6125  .long  0xf2672d22                          // vsub.f32      d18, d7, d18
6126  .long  0xf2673d23                          // vsub.f32      d19, d7, d19
6127  .long  0xf2611d83                          // vsub.f32      d17, d17, d3
6128  .long  0xf2670d20                          // vsub.f32      d16, d7, d16
6129  .long  0xf3445d90                          // vmul.f32      d21, d20, d0
6130  .long  0xf3446d92                          // vmul.f32      d22, d20, d2
6131  .long  0xf3422d93                          // vmul.f32      d18, d18, d3
6132  .long  0xf3444d91                          // vmul.f32      d20, d20, d1
6133  .long  0xf3433d93                          // vmul.f32      d19, d19, d3
6134  .long  0xf3400d93                          // vmul.f32      d16, d16, d3
6135  .long  0xf3417d95                          // vmul.f32      d23, d17, d5
6136  .long  0xf3418d94                          // vmul.f32      d24, d17, d4
6137  .long  0xf3419d96                          // vmul.f32      d25, d17, d6
6138  .long  0xf2443da3                          // vadd.f32      d19, d20, d19
6139  .long  0xf2462da2                          // vadd.f32      d18, d22, d18
6140  .long  0xf245ada0                          // vadd.f32      d26, d21, d16
6141  .long  0xf247bd81                          // vadd.f32      d27, d23, d1
6142  .long  0xf248cd80                          // vadd.f32      d28, d24, d0
6143  .long  0xf249dd82                          // vadd.f32      d29, d25, d2
6144  .long  0xf2073c31                          // vfma.f32      d3, d7, d17
6145  .long  0xf2499da2                          // vadd.f32      d25, d25, d18
6146  .long  0xf2473da3                          // vadd.f32      d19, d23, d19
6147  .long  0xf3f97501                          // vceq.f32      d23, d1, #0
6148  .long  0xf2455d84                          // vadd.f32      d21, d21, d4
6149  .long  0xf2444d85                          // vadd.f32      d20, d20, d5
6150  .long  0xf2440e07                          // vceq.f32      d16, d4, d7
6151  .long  0xf2466d86                          // vadd.f32      d22, d22, d6
6152  .long  0xf2451e07                          // vceq.f32      d17, d5, d7
6153  .long  0xf2462e07                          // vceq.f32      d18, d6, d7
6154  .long  0xf35b71b3                          // vbsl          d23, d27, d19
6155  .long  0xf3f93500                          // vceq.f32      d19, d0, #0
6156  .long  0xf2488daa                          // vadd.f32      d24, d24, d26
6157  .long  0xf35c31b8                          // vbsl          d19, d28, d24
6158  .long  0xf3f98502                          // vceq.f32      d24, d2, #0
6159  .long  0xf35d81b9                          // vbsl          d24, d29, d25
6160  .long  0xf35501b3                          // vbsl          d16, d21, d19
6161  .long  0xf35411b7                          // vbsl          d17, d20, d23
6162  .long  0xf35621b8                          // vbsl          d18, d22, d24
6163  .long  0xf22001b0                          // vorr          d0, d16, d16
6164  .long  0xf22111b1                          // vorr          d1, d17, d17
6165  .long  0xf22221b2                          // vorr          d2, d18, d18
6166  .long  0xecbd8b08                          // vpop          {d8-d11}
6167  .long  0xe12fff1c                          // bx            ip
6168
6169HIDDEN _sk_colordodge_vfp4
6170.globl _sk_colordodge_vfp4
6171FUNCTION(_sk_colordodge_vfp4)
6172_sk_colordodge_vfp4:
6173  .long  0xed2d8b0e                          // vpush         {d8-d14}
6174  .long  0xf2238d02                          // vsub.f32      d8, d3, d2
6175  .long  0xe491c004                          // ldr           ip, [r1], #4
6176  .long  0xf3039d16                          // vmul.f32      d9, d3, d6
6177  .long  0xf223ad01                          // vsub.f32      d10, d3, d1
6178  .long  0xf303bd15                          // vmul.f32      d11, d3, d5
6179  .long  0xf223cd00                          // vsub.f32      d12, d3, d0
6180  .long  0xf303dd14                          // vmul.f32      d13, d3, d4
6181  .long  0xeec9eaa8                          // vdiv.f32      s29, s19, s17
6182  .long  0xee89ea08                          // vdiv.f32      s28, s18, s16
6183  .long  0xeecb8aaa                          // vdiv.f32      s17, s23, s21
6184  .long  0xeecd9aac                          // vdiv.f32      s19, s27, s25
6185  .long  0xee8b8a0a                          // vdiv.f32      s16, s22, s20
6186  .long  0xee8d9a0c                          // vdiv.f32      s18, s26, s24
6187  .long  0xf2c70f10                          // vmov.f32      d16, #1
6188  .long  0xf2672f0e                          // vmin.f32      d18, d7, d14
6189  .long  0xf2601d87                          // vsub.f32      d17, d16, d7
6190  .long  0xf2673f08                          // vmin.f32      d19, d7, d8
6191  .long  0xf2674f09                          // vmin.f32      d20, d7, d9
6192  .long  0xf2600d83                          // vsub.f32      d16, d16, d3
6193  .long  0xf3415d92                          // vmul.f32      d21, d17, d2
6194  .long  0xf3422d93                          // vmul.f32      d18, d18, d3
6195  .long  0xf3416d91                          // vmul.f32      d22, d17, d1
6196  .long  0xf3433d93                          // vmul.f32      d19, d19, d3
6197  .long  0xf3411d90                          // vmul.f32      d17, d17, d0
6198  .long  0xf3444d93                          // vmul.f32      d20, d20, d3
6199  .long  0xf3407d95                          // vmul.f32      d23, d16, d5
6200  .long  0xf3408d94                          // vmul.f32      d24, d16, d4
6201  .long  0xf3409d96                          // vmul.f32      d25, d16, d6
6202  .long  0xf2452da2                          // vadd.f32      d18, d21, d18
6203  .long  0xf2463da3                          // vadd.f32      d19, d22, d19
6204  .long  0xf2414da4                          // vadd.f32      d20, d17, d20
6205  .long  0xf241ae03                          // vceq.f32      d26, d1, d3
6206  .long  0xf247bd81                          // vadd.f32      d27, d23, d1
6207  .long  0xf3b91505                          // vceq.f32      d1, d5, #0
6208  .long  0xf240ce03                          // vceq.f32      d28, d0, d3
6209  .long  0xf248dd80                          // vadd.f32      d29, d24, d0
6210  .long  0xf3b90504                          // vceq.f32      d0, d4, #0
6211  .long  0xf242ee03                          // vceq.f32      d30, d2, d3
6212  .long  0xf249fd82                          // vadd.f32      d31, d25, d2
6213  .long  0xf3b92506                          // vceq.f32      d2, d6, #0
6214  .long  0xf2073c30                          // vfma.f32      d3, d7, d16
6215  .long  0xf2410d84                          // vadd.f32      d16, d17, d4
6216  .long  0xf2491da2                          // vadd.f32      d17, d25, d18
6217  .long  0xf2462d85                          // vadd.f32      d18, d22, d5
6218  .long  0xf2455d86                          // vadd.f32      d21, d21, d6
6219  .long  0xf2473da3                          // vadd.f32      d19, d23, d19
6220  .long  0xf2484da4                          // vadd.f32      d20, d24, d20
6221  .long  0xf35fe1b1                          // vbsl          d30, d31, d17
6222  .long  0xf35ba1b3                          // vbsl          d26, d27, d19
6223  .long  0xf35dc1b4                          // vbsl          d28, d29, d20
6224  .long  0xf31001bc                          // vbsl          d0, d16, d28
6225  .long  0xf31211ba                          // vbsl          d1, d18, d26
6226  .long  0xf31521be                          // vbsl          d2, d21, d30
6227  .long  0xecbd8b0e                          // vpop          {d8-d14}
6228  .long  0xe12fff1c                          // bx            ip
6229
6230HIDDEN _sk_hardlight_vfp4
6231.globl _sk_hardlight_vfp4
6232FUNCTION(_sk_hardlight_vfp4)
6233_sk_hardlight_vfp4:
6234  .long  0xf2c71f10                          // vmov.f32      d17, #1
6235  .long  0xe491c004                          // ldr           ip, [r1], #4
6236  .long  0xf2670d04                          // vsub.f32      d16, d7, d4
6237  .long  0xf2617d87                          // vsub.f32      d23, d17, d7
6238  .long  0xf2611d83                          // vsub.f32      d17, d17, d3
6239  .long  0xf2672d05                          // vsub.f32      d18, d7, d5
6240  .long  0xf2674d06                          // vsub.f32      d20, d7, d6
6241  .long  0xf2633d00                          // vsub.f32      d19, d3, d0
6242  .long  0xf2635d01                          // vsub.f32      d21, d3, d1
6243  .long  0xf2636d02                          // vsub.f32      d22, d3, d2
6244  .long  0xf347bd90                          // vmul.f32      d27, d23, d0
6245  .long  0xf341cd94                          // vmul.f32      d28, d17, d4
6246  .long  0xf3430db0                          // vmul.f32      d16, d19, d16
6247  .long  0xf3463db4                          // vmul.f32      d19, d22, d20
6248  .long  0xf3452db2                          // vmul.f32      d18, d21, d18
6249  .long  0xf2404d00                          // vadd.f32      d20, d0, d0
6250  .long  0xf3405d14                          // vmul.f32      d21, d0, d4
6251  .long  0xf2416d01                          // vadd.f32      d22, d1, d1
6252  .long  0xf3418d15                          // vmul.f32      d24, d1, d5
6253  .long  0xf2429d02                          // vadd.f32      d25, d2, d2
6254  .long  0xf342ad16                          // vmul.f32      d26, d2, d6
6255  .long  0xf347dd91                          // vmul.f32      d29, d23, d1
6256  .long  0xf341fd95                          // vmul.f32      d31, d17, d5
6257  .long  0xf24cbdab                          // vadd.f32      d27, d28, d27
6258  .long  0xf3477d92                          // vmul.f32      d23, d23, d2
6259  .long  0xf341cd96                          // vmul.f32      d28, d17, d6
6260  .long  0xf2400da0                          // vadd.f32      d16, d16, d16
6261  .long  0xf343ed17                          // vmul.f32      d30, d3, d7
6262  .long  0xf2422da2                          // vadd.f32      d18, d18, d18
6263  .long  0xf2433da3                          // vadd.f32      d19, d19, d19
6264  .long  0xf3434e24                          // vcge.f32      d20, d3, d20
6265  .long  0xf2455da5                          // vadd.f32      d21, d21, d21
6266  .long  0xf3436e26                          // vcge.f32      d22, d3, d22
6267  .long  0xf3439e29                          // vcge.f32      d25, d3, d25
6268  .long  0xf2488da8                          // vadd.f32      d24, d24, d24
6269  .long  0xf24aadaa                          // vadd.f32      d26, d26, d26
6270  .long  0xf2073c31                          // vfma.f32      d3, d7, d17
6271  .long  0xf24fddad                          // vadd.f32      d29, d31, d29
6272  .long  0xf24c1da7                          // vadd.f32      d17, d28, d23
6273  .long  0xf26e0da0                          // vsub.f32      d16, d30, d16
6274  .long  0xf26e2da2                          // vsub.f32      d18, d30, d18
6275  .long  0xf26e3da3                          // vsub.f32      d19, d30, d19
6276  .long  0xf35541b0                          // vbsl          d20, d21, d16
6277  .long  0xf35861b2                          // vbsl          d22, d24, d18
6278  .long  0xf35a91b3                          // vbsl          d25, d26, d19
6279  .long  0xf20b0da4                          // vadd.f32      d0, d27, d20
6280  .long  0xf20d1da6                          // vadd.f32      d1, d29, d22
6281  .long  0xf2012da9                          // vadd.f32      d2, d17, d25
6282  .long  0xe12fff1c                          // bx            ip
6283
6284HIDDEN _sk_overlay_vfp4
6285.globl _sk_overlay_vfp4
6286FUNCTION(_sk_overlay_vfp4)
6287_sk_overlay_vfp4:
6288  .long  0xf2c71f10                          // vmov.f32      d17, #1
6289  .long  0xe491c004                          // ldr           ip, [r1], #4
6290  .long  0xf2670d04                          // vsub.f32      d16, d7, d4
6291  .long  0xf2617d87                          // vsub.f32      d23, d17, d7
6292  .long  0xf2611d83                          // vsub.f32      d17, d17, d3
6293  .long  0xf2672d05                          // vsub.f32      d18, d7, d5
6294  .long  0xf2674d06                          // vsub.f32      d20, d7, d6
6295  .long  0xf2633d00                          // vsub.f32      d19, d3, d0
6296  .long  0xf2635d01                          // vsub.f32      d21, d3, d1
6297  .long  0xf2636d02                          // vsub.f32      d22, d3, d2
6298  .long  0xf347bd90                          // vmul.f32      d27, d23, d0
6299  .long  0xf341cd94                          // vmul.f32      d28, d17, d4
6300  .long  0xf3430db0                          // vmul.f32      d16, d19, d16
6301  .long  0xf3463db4                          // vmul.f32      d19, d22, d20
6302  .long  0xf3452db2                          // vmul.f32      d18, d21, d18
6303  .long  0xf2444d04                          // vadd.f32      d20, d4, d4
6304  .long  0xf3405d14                          // vmul.f32      d21, d0, d4
6305  .long  0xf2456d05                          // vadd.f32      d22, d5, d5
6306  .long  0xf3418d15                          // vmul.f32      d24, d1, d5
6307  .long  0xf2469d06                          // vadd.f32      d25, d6, d6
6308  .long  0xf342ad16                          // vmul.f32      d26, d2, d6
6309  .long  0xf347dd91                          // vmul.f32      d29, d23, d1
6310  .long  0xf341fd95                          // vmul.f32      d31, d17, d5
6311  .long  0xf24cbdab                          // vadd.f32      d27, d28, d27
6312  .long  0xf3477d92                          // vmul.f32      d23, d23, d2
6313  .long  0xf341cd96                          // vmul.f32      d28, d17, d6
6314  .long  0xf343ed17                          // vmul.f32      d30, d3, d7
6315  .long  0xf2400da0                          // vadd.f32      d16, d16, d16
6316  .long  0xf2422da2                          // vadd.f32      d18, d18, d18
6317  .long  0xf2433da3                          // vadd.f32      d19, d19, d19
6318  .long  0xf3474e24                          // vcge.f32      d20, d7, d20
6319  .long  0xf2455da5                          // vadd.f32      d21, d21, d21
6320  .long  0xf3476e26                          // vcge.f32      d22, d7, d22
6321  .long  0xf2488da8                          // vadd.f32      d24, d24, d24
6322  .long  0xf3479e29                          // vcge.f32      d25, d7, d25
6323  .long  0xf24aadaa                          // vadd.f32      d26, d26, d26
6324  .long  0xf2073c31                          // vfma.f32      d3, d7, d17
6325  .long  0xf24fddad                          // vadd.f32      d29, d31, d29
6326  .long  0xf24c1da7                          // vadd.f32      d17, d28, d23
6327  .long  0xf26e0da0                          // vsub.f32      d16, d30, d16
6328  .long  0xf26e2da2                          // vsub.f32      d18, d30, d18
6329  .long  0xf26e3da3                          // vsub.f32      d19, d30, d19
6330  .long  0xf35541b0                          // vbsl          d20, d21, d16
6331  .long  0xf35861b2                          // vbsl          d22, d24, d18
6332  .long  0xf35a91b3                          // vbsl          d25, d26, d19
6333  .long  0xf20b0da4                          // vadd.f32      d0, d27, d20
6334  .long  0xf20d1da6                          // vadd.f32      d1, d29, d22
6335  .long  0xf2012da9                          // vadd.f32      d2, d17, d25
6336  .long  0xe12fff1c                          // bx            ip
6337
6338HIDDEN _sk_softlight_vfp4
6339.globl _sk_softlight_vfp4
6340FUNCTION(_sk_softlight_vfp4)
6341_sk_softlight_vfp4:
6342  .long  0xed2d8b06                          // vpush         {d8-d10}
6343  .long  0xeec58aa7                          // vdiv.f32      s17, s11, s15
6344  .long  0xf3f90407                          // vcgt.f32      d16, d7, #0
6345  .long  0xe491c004                          // ldr           ip, [r1], #4
6346  .long  0xeec49aa7                          // vdiv.f32      s19, s9, s15
6347  .long  0xeec6aaa7                          // vdiv.f32      s21, s13, s15
6348  .long  0xee858a07                          // vdiv.f32      s16, s10, s14
6349  .long  0xee849a07                          // vdiv.f32      s18, s8, s14
6350  .long  0xee86aa07                          // vdiv.f32      s20, s12, s14
6351  .long  0xf26021b0                          // vorr          d18, d16, d16
6352  .long  0xf2c01010                          // vmov.i32      d17, #0
6353  .long  0xf3582131                          // vbsl          d18, d8, d17
6354  .long  0xf26031b0                          // vorr          d19, d16, d16
6355  .long  0xf3fb45a2                          // vrsqrte.f32   d20, d18
6356  .long  0xf3593131                          // vbsl          d19, d9, d17
6357  .long  0xf35a0131                          // vbsl          d16, d10, d17
6358  .long  0xf3fb15a3                          // vrsqrte.f32   d17, d19
6359  .long  0xf3fb55a0                          // vrsqrte.f32   d21, d16
6360  .long  0xf3446db4                          // vmul.f32      d22, d20, d20
6361  .long  0xf243ada3                          // vadd.f32      d26, d19, d19
6362  .long  0xf240bda0                          // vadd.f32      d27, d16, d16
6363  .long  0xf3417db1                          // vmul.f32      d23, d17, d17
6364  .long  0xf3458db5                          // vmul.f32      d24, d21, d21
6365  .long  0xf2626fb6                          // vrsqrts.f32   d22, d18, d22
6366  .long  0xf2429da2                          // vadd.f32      d25, d18, d18
6367  .long  0xf2637fb7                          // vrsqrts.f32   d23, d19, d23
6368  .long  0xf2608fb8                          // vrsqrts.f32   d24, d16, d24
6369  .long  0xf2818f1c                          // vmov.f32      d8, #7
6370  .long  0xf2499da9                          // vadd.f32      d25, d25, d25
6371  .long  0xf3444db6                          // vmul.f32      d20, d20, d22
6372  .long  0xf24a6daa                          // vadd.f32      d22, d26, d26
6373  .long  0xf24badab                          // vadd.f32      d26, d27, d27
6374  .long  0xf3411db7                          // vmul.f32      d17, d17, d23
6375  .long  0xf3455db8                          // vmul.f32      d21, d21, d24
6376  .long  0xf3fb7524                          // vrecpe.f32    d23, d20
6377  .long  0xf3498db9                          // vmul.f32      d24, d25, d25
6378  .long  0xf3fbd521                          // vrecpe.f32    d29, d17
6379  .long  0xf34aedba                          // vmul.f32      d30, d26, d26
6380  .long  0xf3fbf525                          // vrecpe.f32    d31, d21
6381  .long  0xf2444fb7                          // vrecps.f32    d20, d20, d23
6382  .long  0xf346cdb6                          // vmul.f32      d28, d22, d22
6383  .long  0xf2411fbd                          // vrecps.f32    d17, d17, d29
6384  .long  0xf3c7bf10                          // vmov.f32      d27, #-1
6385  .long  0xf2455fbf                          // vrecps.f32    d21, d21, d31
6386  .long  0xf24aadae                          // vadd.f32      d26, d26, d30
6387  .long  0xf2498da8                          // vadd.f32      d24, d25, d24
6388  .long  0xf2429dab                          // vadd.f32      d25, d18, d27
6389  .long  0xf2466dac                          // vadd.f32      d22, d22, d28
6390  .long  0xf243cdab                          // vadd.f32      d28, d19, d27
6391  .long  0xf240bdab                          // vadd.f32      d27, d16, d27
6392  .long  0xf3474db4                          // vmul.f32      d20, d23, d20
6393  .long  0xf2c7ef10                          // vmov.f32      d30, #1
6394  .long  0xf34d1db1                          // vmul.f32      d17, d29, d17
6395  .long  0xf34badba                          // vmul.f32      d26, d27, d26
6396  .long  0xf242bd02                          // vadd.f32      d27, d2, d2
6397  .long  0xf26edda0                          // vsub.f32      d29, d30, d16
6398  .long  0xf3498db8                          // vmul.f32      d24, d25, d24
6399  .long  0xf3429d98                          // vmul.f32      d25, d18, d8
6400  .long  0xf34f5db5                          // vmul.f32      d21, d31, d21
6401  .long  0xf26efda2                          // vsub.f32      d31, d30, d18
6402  .long  0xf2642da2                          // vsub.f32      d18, d20, d18
6403  .long  0xf26b4d83                          // vsub.f32      d20, d27, d3
6404  .long  0xf2498da8                          // vadd.f32      d24, d25, d24
6405  .long  0xf34c6db6                          // vmul.f32      d22, d28, d22
6406  .long  0xf3437d98                          // vmul.f32      d23, d19, d8
6407  .long  0xf3449dbd                          // vmul.f32      d25, d20, d29
6408  .long  0xf245dd05                          // vadd.f32      d29, d5, d5
6409  .long  0xf340cd98                          // vmul.f32      d28, d16, d8
6410  .long  0xf2476da6                          // vadd.f32      d22, d23, d22
6411  .long  0xf2611da3                          // vsub.f32      d17, d17, d19
6412  .long  0xf24dddad                          // vadd.f32      d29, d29, d29
6413  .long  0xf24c7daa                          // vadd.f32      d23, d28, d26
6414  .long  0xf2650da0                          // vsub.f32      d16, d21, d16
6415  .long  0xf26e3da3                          // vsub.f32      d19, d30, d19
6416  .long  0xf347de2d                          // vcge.f32      d29, d7, d29
6417  .long  0xf241ad01                          // vadd.f32      d26, d1, d1
6418  .long  0xf3444d97                          // vmul.f32      d20, d20, d7
6419  .long  0xf358d1b2                          // vbsl          d29, d24, d18
6420  .long  0xf2448d04                          // vadd.f32      d24, d4, d4
6421  .long  0xf2462d06                          // vadd.f32      d18, d6, d6
6422  .long  0xf26a5d83                          // vsub.f32      d21, d26, d3
6423  .long  0xf2488da8                          // vadd.f32      d24, d24, d24
6424  .long  0xf2422da2                          // vadd.f32      d18, d18, d18
6425  .long  0xf345cdbf                          // vmul.f32      d28, d21, d31
6426  .long  0xf3455d97                          // vmul.f32      d21, d21, d7
6427  .long  0xf3478e28                          // vcge.f32      d24, d7, d24
6428  .long  0xf3472e22                          // vcge.f32      d18, d7, d18
6429  .long  0xf343fd14                          // vmul.f32      d31, d3, d4
6430  .long  0xf3455dbd                          // vmul.f32      d21, d21, d29
6431  .long  0xf35681b1                          // vbsl          d24, d22, d17
6432  .long  0xf2401d00                          // vadd.f32      d17, d0, d0
6433  .long  0xf35721b0                          // vbsl          d18, d23, d16
6434  .long  0xf24c0d83                          // vadd.f32      d16, d28, d3
6435  .long  0xf2496d83                          // vadd.f32      d22, d25, d3
6436  .long  0xf2617d83                          // vsub.f32      d23, d17, d3
6437  .long  0xf3442db2                          // vmul.f32      d18, d20, d18
6438  .long  0xf3434e2a                          // vcge.f32      d20, d3, d26
6439  .long  0xf343ae2b                          // vcge.f32      d26, d3, d27
6440  .long  0xf3473db3                          // vmul.f32      d19, d23, d19
6441  .long  0xf3477d97                          // vmul.f32      d23, d23, d7
6442  .long  0xf3431e21                          // vcge.f32      d17, d3, d17
6443  .long  0xf3400d95                          // vmul.f32      d16, d16, d5
6444  .long  0xf2433d83                          // vadd.f32      d19, d19, d3
6445  .long  0xf3477db8                          // vmul.f32      d23, d23, d24
6446  .long  0xf26e8d87                          // vsub.f32      d24, d30, d7
6447  .long  0xf26eed83                          // vsub.f32      d30, d30, d3
6448  .long  0xf3433d94                          // vmul.f32      d19, d19, d4
6449  .long  0xf24f7da7                          // vadd.f32      d23, d31, d23
6450  .long  0xf3489d91                          // vmul.f32      d25, d24, d1
6451  .long  0xf348cd90                          // vmul.f32      d28, d24, d0
6452  .long  0xf34edd94                          // vmul.f32      d29, d30, d4
6453  .long  0xf34ebd95                          // vmul.f32      d27, d30, d5
6454  .long  0xf3488d92                          // vmul.f32      d24, d24, d2
6455  .long  0xf34efd96                          // vmul.f32      d31, d30, d6
6456  .long  0xf24dcdac                          // vadd.f32      d28, d29, d28
6457  .long  0xf343dd15                          // vmul.f32      d29, d3, d5
6458  .long  0xf24b9da9                          // vadd.f32      d25, d27, d25
6459  .long  0xf343bd16                          // vmul.f32      d27, d3, d6
6460  .long  0xf3466d96                          // vmul.f32      d22, d22, d6
6461  .long  0xf24f8da8                          // vadd.f32      d24, d31, d24
6462  .long  0xf24d5da5                          // vadd.f32      d21, d29, d21
6463  .long  0xf24b2da2                          // vadd.f32      d18, d27, d18
6464  .long  0xf35311b7                          // vbsl          d17, d19, d23
6465  .long  0xf35041b5                          // vbsl          d20, d16, d21
6466  .long  0xf356a1b2                          // vbsl          d26, d22, d18
6467  .long  0xf2073c3e                          // vfma.f32      d3, d7, d30
6468  .long  0xf20c0da1                          // vadd.f32      d0, d28, d17
6469  .long  0xf2091da4                          // vadd.f32      d1, d25, d20
6470  .long  0xf2082daa                          // vadd.f32      d2, d24, d26
6471  .long  0xecbd8b06                          // vpop          {d8-d10}
6472  .long  0xe12fff1c                          // bx            ip
6473  .long  0xe320f000                          // nop           {0}
6474
6475HIDDEN _sk_hue_vfp4
6476.globl _sk_hue_vfp4
6477FUNCTION(_sk_hue_vfp4)
6478_sk_hue_vfp4:
6479  .long  0xed2d8b0c                          // vpush         {d8-d13}
6480  .long  0xf3420d13                          // vmul.f32      d16, d2, d3
6481  .long  0xe491c004                          // ldr           ip, [r1], #4
6482  .long  0xf3411d13                          // vmul.f32      d17, d1, d3
6483  .long  0xf2652f06                          // vmin.f32      d18, d5, d6
6484  .long  0xf2453f06                          // vmax.f32      d19, d5, d6
6485  .long  0xf3404d13                          // vmul.f32      d20, d0, d3
6486  .long  0xf2615fa0                          // vmin.f32      d21, d17, d16
6487  .long  0xf2642f22                          // vmin.f32      d18, d4, d18
6488  .long  0xf2443f23                          // vmax.f32      d19, d4, d19
6489  .long  0xf2416fa0                          // vmax.f32      d22, d17, d16
6490  .long  0xf2645fa5                          // vmin.f32      d21, d20, d21
6491  .long  0xf2632da2                          // vsub.f32      d18, d19, d18
6492  .long  0xf2443fa6                          // vmax.f32      d19, d20, d22
6493  .long  0xeddf6b76                          // vldr          d22, [pc, #472]
6494  .long  0xf2611da5                          // vsub.f32      d17, d17, d21
6495  .long  0xf2644da5                          // vsub.f32      d20, d20, d21
6496  .long  0xf3422d93                          // vmul.f32      d18, d18, d3
6497  .long  0xf2238da5                          // vsub.f32      d8, d19, d21
6498  .long  0xf2600da5                          // vsub.f32      d16, d16, d21
6499  .long  0xf3f97508                          // vceq.f32      d23, d8, #0
6500  .long  0xf26751b7                          // vorr          d21, d23, d23
6501  .long  0xf3029db1                          // vmul.f32      d9, d18, d17
6502  .long  0xeddf1b69                          // vldr          d17, [pc, #420]
6503  .long  0xf302adb4                          // vmul.f32      d10, d18, d20
6504  .long  0xf3453d31                          // vmul.f32      d19, d5, d17
6505  .long  0xf302bdb0                          // vmul.f32      d11, d18, d16
6506  .long  0xeddf2b67                          // vldr          d18, [pc, #412]
6507  .long  0xf2c00010                          // vmov.i32      d16, #0
6508  .long  0xeec9caa8                          // vdiv.f32      s25, s19, s17
6509  .long  0xee89ca08                          // vdiv.f32      s24, s18, s16
6510  .long  0xeeca9aa8                          // vdiv.f32      s19, s21, s17
6511  .long  0xee8a9a08                          // vdiv.f32      s18, s20, s16
6512  .long  0xeecbaaa8                          // vdiv.f32      s21, s23, s17
6513  .long  0xee8baa08                          // vdiv.f32      s20, s22, s16
6514  .long  0xf3444d32                          // vmul.f32      d20, d4, d18
6515  .long  0xf350519c                          // vbsl          d21, d16, d12
6516  .long  0xf3468d36                          // vmul.f32      d24, d6, d22
6517  .long  0xf3459db1                          // vmul.f32      d25, d21, d17
6518  .long  0xf2443da3                          // vadd.f32      d19, d20, d19
6519  .long  0xf26741b7                          // vorr          d20, d23, d23
6520  .long  0xf350719a                          // vbsl          d23, d16, d10
6521  .long  0xf3504199                          // vbsl          d20, d16, d9
6522  .long  0xf2433da8                          // vadd.f32      d19, d19, d24
6523  .long  0xf344adb2                          // vmul.f32      d26, d20, d18
6524  .long  0xf3478db6                          // vmul.f32      d24, d23, d22
6525  .long  0xf3433d93                          // vmul.f32      d19, d19, d3
6526  .long  0xf24a9da9                          // vadd.f32      d25, d26, d25
6527  .long  0xf2498da8                          // vadd.f32      d24, d25, d24
6528  .long  0xf2633da8                          // vsub.f32      d19, d19, d24
6529  .long  0xf2458da3                          // vadd.f32      d24, d21, d19
6530  .long  0xf2445da3                          // vadd.f32      d21, d20, d19
6531  .long  0xf2477da3                          // vadd.f32      d23, d23, d19
6532  .long  0xf3481db1                          // vmul.f32      d17, d24, d17
6533  .long  0xf3452db2                          // vmul.f32      d18, d21, d18
6534  .long  0xf3473db6                          // vmul.f32      d19, d23, d22
6535  .long  0xf2684fa7                          // vmin.f32      d20, d24, d23
6536  .long  0xf2486fa7                          // vmax.f32      d22, d24, d23
6537  .long  0xf2421da1                          // vadd.f32      d17, d18, d17
6538  .long  0xf2456fa6                          // vmax.f32      d22, d21, d22
6539  .long  0xf2432da1                          // vadd.f32      d18, d19, d17
6540  .long  0xf2653fa4                          // vmin.f32      d19, d21, d20
6541  .long  0xf3f944a3                          // vcge.f32      d20, d19, #0
6542  .long  0xf264a1b4                          // vorr          d26, d20, d20
6543  .long  0xf2671da2                          // vsub.f32      d17, d23, d18
6544  .long  0xf2228da3                          // vsub.f32      d8, d18, d19
6545  .long  0xf26431b4                          // vorr          d19, d20, d20
6546  .long  0xf3029db1                          // vmul.f32      d9, d18, d17
6547  .long  0xf3431d17                          // vmul.f32      d17, d3, d7
6548  .long  0xeec9aaa8                          // vdiv.f32      s21, s19, s17
6549  .long  0xee89aa08                          // vdiv.f32      s20, s18, s16
6550  .long  0xf2429d8a                          // vadd.f32      d25, d18, d10
6551  .long  0xf35731b9                          // vbsl          d19, d23, d25
6552  .long  0xf2619da2                          // vsub.f32      d25, d17, d18
6553  .long  0xf2637da2                          // vsub.f32      d23, d19, d18
6554  .long  0xf226ada2                          // vsub.f32      d10, d22, d18
6555  .long  0xf309bdb7                          // vmul.f32      d11, d25, d23
6556  .long  0xf2687da2                          // vsub.f32      d23, d24, d18
6557  .long  0xeecb9aaa                          // vdiv.f32      s19, s23, s21
6558  .long  0xee8b9a0a                          // vdiv.f32      s18, s22, s20
6559  .long  0xf302bdb7                          // vmul.f32      d11, d18, d23
6560  .long  0xeecbcaa8                          // vdiv.f32      s25, s23, s17
6561  .long  0xee8bca08                          // vdiv.f32      s24, s22, s16
6562  .long  0xf2427d8c                          // vadd.f32      d23, d18, d12
6563  .long  0xf358a1b7                          // vbsl          d26, d24, d23
6564  .long  0xf26a7da2                          // vsub.f32      d23, d26, d18
6565  .long  0xf309bdb7                          // vmul.f32      d11, d25, d23
6566  .long  0xf2657da2                          // vsub.f32      d23, d21, d18
6567  .long  0xeecbcaaa                          // vdiv.f32      s25, s23, s21
6568  .long  0xee8bca0a                          // vdiv.f32      s24, s22, s20
6569  .long  0xf302bdb7                          // vmul.f32      d11, d18, d23
6570  .long  0xf2428d8c                          // vadd.f32      d24, d18, d12
6571  .long  0xeecbdaa8                          // vdiv.f32      s27, s23, s17
6572  .long  0xee8bda08                          // vdiv.f32      s26, s22, s16
6573  .long  0xf2427d8d                          // vadd.f32      d23, d18, d13
6574  .long  0xf35541b7                          // vbsl          d20, d21, d23
6575  .long  0xf2c77f10                          // vmov.f32      d23, #1
6576  .long  0xf2645da2                          // vsub.f32      d21, d20, d18
6577  .long  0xf3098db5                          // vmul.f32      d8, d25, d21
6578  .long  0xf3665ea1                          // vcgt.f32      d21, d22, d17
6579  .long  0xf2679d87                          // vsub.f32      d25, d23, d7
6580  .long  0xf2677d83                          // vsub.f32      d23, d23, d3
6581  .long  0xeec8baaa                          // vdiv.f32      s23, s17, s21
6582  .long  0xee88ba0a                          // vdiv.f32      s22, s16, s20
6583  .long  0xf2426d8b                          // vadd.f32      d22, d18, d11
6584  .long  0xf265f1b5                          // vorr          d31, d21, d21
6585  .long  0xf2422d89                          // vadd.f32      d18, d18, d9
6586  .long  0xf349bd90                          // vmul.f32      d27, d25, d0
6587  .long  0xf356f1b4                          // vbsl          d31, d22, d20
6588  .long  0xf347cd94                          // vmul.f32      d28, d23, d4
6589  .long  0xf349dd91                          // vmul.f32      d29, d25, d1
6590  .long  0xf3494d92                          // vmul.f32      d20, d25, d2
6591  .long  0xf3476d96                          // vmul.f32      d22, d23, d6
6592  .long  0xf347ed95                          // vmul.f32      d30, d23, d5
6593  .long  0xf26571b5                          // vorr          d23, d21, d21
6594  .long  0xf35251b3                          // vbsl          d21, d18, d19
6595  .long  0xf35871ba                          // vbsl          d23, d24, d26
6596  .long  0xf2438d07                          // vadd.f32      d24, d3, d7
6597  .long  0xf24c9dab                          // vadd.f32      d25, d28, d27
6598  .long  0xf24f2fa0                          // vmax.f32      d18, d31, d16
6599  .long  0xf2477fa0                          // vmax.f32      d23, d23, d16
6600  .long  0xf24e3dad                          // vadd.f32      d19, d30, d29
6601  .long  0xf2464da4                          // vadd.f32      d20, d22, d20
6602  .long  0xf2450fa0                          // vmax.f32      d16, d21, d16
6603  .long  0xf2283da1                          // vsub.f32      d3, d24, d17
6604  .long  0xf2090da2                          // vadd.f32      d0, d25, d18
6605  .long  0xf2031da7                          // vadd.f32      d1, d19, d23
6606  .long  0xf2042da0                          // vadd.f32      d2, d20, d16
6607  .long  0xecbd8b0c                          // vpop          {d8-d13}
6608  .long  0xe12fff1c                          // bx            ip
6609  .long  0x3f170a3d                          // .word         0x3f170a3d
6610  .long  0x3f170a3d                          // .word         0x3f170a3d
6611  .long  0x3e99999a                          // .word         0x3e99999a
6612  .long  0x3e99999a                          // .word         0x3e99999a
6613  .long  0x3de147ae                          // .word         0x3de147ae
6614  .long  0x3de147ae                          // .word         0x3de147ae
6615
6616HIDDEN _sk_saturation_vfp4
6617.globl _sk_saturation_vfp4
6618FUNCTION(_sk_saturation_vfp4)
6619_sk_saturation_vfp4:
6620  .long  0xed2d8b0c                          // vpush         {d8-d13}
6621  .long  0xf3430d16                          // vmul.f32      d16, d3, d6
6622  .long  0xeddf7b82                          // vldr          d23, [pc, #520]
6623  .long  0xf3431d15                          // vmul.f32      d17, d3, d5
6624  .long  0xe491c004                          // ldr           ip, [r1], #4
6625  .long  0xf2612f02                          // vmin.f32      d18, d1, d2
6626  .long  0xf2413f02                          // vmax.f32      d19, d1, d2
6627  .long  0xf3434d14                          // vmul.f32      d20, d3, d4
6628  .long  0xf2615fa0                          // vmin.f32      d21, d17, d16
6629  .long  0xf2602f22                          // vmin.f32      d18, d0, d18
6630  .long  0xf2403f23                          // vmax.f32      d19, d0, d19
6631  .long  0xf2416fa0                          // vmax.f32      d22, d17, d16
6632  .long  0xf2645fa5                          // vmin.f32      d21, d20, d21
6633  .long  0xf3468d37                          // vmul.f32      d24, d6, d23
6634  .long  0xf2632da2                          // vsub.f32      d18, d19, d18
6635  .long  0xf2443fa6                          // vmax.f32      d19, d20, d22
6636  .long  0xf2611da5                          // vsub.f32      d17, d17, d21
6637  .long  0xf2644da5                          // vsub.f32      d20, d20, d21
6638  .long  0xf3422d97                          // vmul.f32      d18, d18, d7
6639  .long  0xf2238da5                          // vsub.f32      d8, d19, d21
6640  .long  0xf2600da5                          // vsub.f32      d16, d16, d21
6641  .long  0xf3f96508                          // vceq.f32      d22, d8, #0
6642  .long  0xf26651b6                          // vorr          d21, d22, d22
6643  .long  0xf3029db1                          // vmul.f32      d9, d18, d17
6644  .long  0xeddf1b68                          // vldr          d17, [pc, #416]
6645  .long  0xf302adb4                          // vmul.f32      d10, d18, d20
6646  .long  0xf3453d31                          // vmul.f32      d19, d5, d17
6647  .long  0xf302bdb0                          // vmul.f32      d11, d18, d16
6648  .long  0xeddf2b66                          // vldr          d18, [pc, #408]
6649  .long  0xf2c00010                          // vmov.i32      d16, #0
6650  .long  0xeec9caa8                          // vdiv.f32      s25, s19, s17
6651  .long  0xee89ca08                          // vdiv.f32      s24, s18, s16
6652  .long  0xeeca9aa8                          // vdiv.f32      s19, s21, s17
6653  .long  0xee8a9a08                          // vdiv.f32      s18, s20, s16
6654  .long  0xeecbaaa8                          // vdiv.f32      s21, s23, s17
6655  .long  0xee8baa08                          // vdiv.f32      s20, s22, s16
6656  .long  0xf3444d32                          // vmul.f32      d20, d4, d18
6657  .long  0xf350519c                          // vbsl          d21, d16, d12
6658  .long  0xf3459db1                          // vmul.f32      d25, d21, d17
6659  .long  0xf2443da3                          // vadd.f32      d19, d20, d19
6660  .long  0xf26641b6                          // vorr          d20, d22, d22
6661  .long  0xf350619a                          // vbsl          d22, d16, d10
6662  .long  0xf3504199                          // vbsl          d20, d16, d9
6663  .long  0xf2433da8                          // vadd.f32      d19, d19, d24
6664  .long  0xf344adb2                          // vmul.f32      d26, d20, d18
6665  .long  0xf3468db7                          // vmul.f32      d24, d22, d23
6666  .long  0xf3433d93                          // vmul.f32      d19, d19, d3
6667  .long  0xf24a9da9                          // vadd.f32      d25, d26, d25
6668  .long  0xf2498da8                          // vadd.f32      d24, d25, d24
6669  .long  0xf2633da8                          // vsub.f32      d19, d19, d24
6670  .long  0xf2458da3                          // vadd.f32      d24, d21, d19
6671  .long  0xf2445da3                          // vadd.f32      d21, d20, d19
6672  .long  0xf2466da3                          // vadd.f32      d22, d22, d19
6673  .long  0xf3481db1                          // vmul.f32      d17, d24, d17
6674  .long  0xf3452db2                          // vmul.f32      d18, d21, d18
6675  .long  0xf3463db7                          // vmul.f32      d19, d22, d23
6676  .long  0xf2684fa6                          // vmin.f32      d20, d24, d22
6677  .long  0xf2487fa6                          // vmax.f32      d23, d24, d22
6678  .long  0xf2421da1                          // vadd.f32      d17, d18, d17
6679  .long  0xf2457fa7                          // vmax.f32      d23, d21, d23
6680  .long  0xf2432da1                          // vadd.f32      d18, d19, d17
6681  .long  0xf2653fa4                          // vmin.f32      d19, d21, d20
6682  .long  0xf3f944a3                          // vcge.f32      d20, d19, #0
6683  .long  0xf264a1b4                          // vorr          d26, d20, d20
6684  .long  0xf2661da2                          // vsub.f32      d17, d22, d18
6685  .long  0xf2228da3                          // vsub.f32      d8, d18, d19
6686  .long  0xf26431b4                          // vorr          d19, d20, d20
6687  .long  0xf3029db1                          // vmul.f32      d9, d18, d17
6688  .long  0xf3431d17                          // vmul.f32      d17, d3, d7
6689  .long  0xeec9aaa8                          // vdiv.f32      s21, s19, s17
6690  .long  0xee89aa08                          // vdiv.f32      s20, s18, s16
6691  .long  0xf2429d8a                          // vadd.f32      d25, d18, d10
6692  .long  0xf35631b9                          // vbsl          d19, d22, d25
6693  .long  0xf2619da2                          // vsub.f32      d25, d17, d18
6694  .long  0xf2636da2                          // vsub.f32      d22, d19, d18
6695  .long  0xf227ada2                          // vsub.f32      d10, d23, d18
6696  .long  0xf309bdb6                          // vmul.f32      d11, d25, d22
6697  .long  0xf2686da2                          // vsub.f32      d22, d24, d18
6698  .long  0xeecb9aaa                          // vdiv.f32      s19, s23, s21
6699  .long  0xee8b9a0a                          // vdiv.f32      s18, s22, s20
6700  .long  0xf302bdb6                          // vmul.f32      d11, d18, d22
6701  .long  0xeecbcaa8                          // vdiv.f32      s25, s23, s17
6702  .long  0xee8bca08                          // vdiv.f32      s24, s22, s16
6703  .long  0xf2426d8c                          // vadd.f32      d22, d18, d12
6704  .long  0xf358a1b6                          // vbsl          d26, d24, d22
6705  .long  0xf26a6da2                          // vsub.f32      d22, d26, d18
6706  .long  0xf309bdb6                          // vmul.f32      d11, d25, d22
6707  .long  0xf2656da2                          // vsub.f32      d22, d21, d18
6708  .long  0xeecbcaaa                          // vdiv.f32      s25, s23, s21
6709  .long  0xee8bca0a                          // vdiv.f32      s24, s22, s20
6710  .long  0xf302bdb6                          // vmul.f32      d11, d18, d22
6711  .long  0xf2428d8c                          // vadd.f32      d24, d18, d12
6712  .long  0xeecbdaa8                          // vdiv.f32      s27, s23, s17
6713  .long  0xee8bda08                          // vdiv.f32      s26, s22, s16
6714  .long  0xf2426d8d                          // vadd.f32      d22, d18, d13
6715  .long  0xf35541b6                          // vbsl          d20, d21, d22
6716  .long  0xf2645da2                          // vsub.f32      d21, d20, d18
6717  .long  0xf3098db5                          // vmul.f32      d8, d25, d21
6718  .long  0xf3675ea1                          // vcgt.f32      d21, d23, d17
6719  .long  0xf2c77f10                          // vmov.f32      d23, #1
6720  .long  0xf2679d87                          // vsub.f32      d25, d23, d7
6721  .long  0xeec8baaa                          // vdiv.f32      s23, s17, s21
6722  .long  0xee88ba0a                          // vdiv.f32      s22, s16, s20
6723  .long  0xf2677d83                          // vsub.f32      d23, d23, d3
6724  .long  0xf2426d8b                          // vadd.f32      d22, d18, d11
6725  .long  0xf265f1b5                          // vorr          d31, d21, d21
6726  .long  0xf2422d89                          // vadd.f32      d18, d18, d9
6727  .long  0xf349bd90                          // vmul.f32      d27, d25, d0
6728  .long  0xf356f1b4                          // vbsl          d31, d22, d20
6729  .long  0xf347cd94                          // vmul.f32      d28, d23, d4
6730  .long  0xf349dd91                          // vmul.f32      d29, d25, d1
6731  .long  0xf3494d92                          // vmul.f32      d20, d25, d2
6732  .long  0xf3476d96                          // vmul.f32      d22, d23, d6
6733  .long  0xf347ed95                          // vmul.f32      d30, d23, d5
6734  .long  0xf26571b5                          // vorr          d23, d21, d21
6735  .long  0xf35251b3                          // vbsl          d21, d18, d19
6736  .long  0xf35871ba                          // vbsl          d23, d24, d26
6737  .long  0xf2438d07                          // vadd.f32      d24, d3, d7
6738  .long  0xf24c9dab                          // vadd.f32      d25, d28, d27
6739  .long  0xf24f2fa0                          // vmax.f32      d18, d31, d16
6740  .long  0xf2477fa0                          // vmax.f32      d23, d23, d16
6741  .long  0xf24e3dad                          // vadd.f32      d19, d30, d29
6742  .long  0xf2464da4                          // vadd.f32      d20, d22, d20
6743  .long  0xf2450fa0                          // vmax.f32      d16, d21, d16
6744  .long  0xf2283da1                          // vsub.f32      d3, d24, d17
6745  .long  0xf2090da2                          // vadd.f32      d0, d25, d18
6746  .long  0xf2031da7                          // vadd.f32      d1, d19, d23
6747  .long  0xf2042da0                          // vadd.f32      d2, d20, d16
6748  .long  0xecbd8b0c                          // vpop          {d8-d13}
6749  .long  0xe12fff1c                          // bx            ip
6750  .long  0x3f170a3d                          // .word         0x3f170a3d
6751  .long  0x3f170a3d                          // .word         0x3f170a3d
6752  .long  0x3e99999a                          // .word         0x3e99999a
6753  .long  0x3e99999a                          // .word         0x3e99999a
6754  .long  0x3de147ae                          // .word         0x3de147ae
6755  .long  0x3de147ae                          // .word         0x3de147ae
6756
6757HIDDEN _sk_color_vfp4
6758.globl _sk_color_vfp4
6759FUNCTION(_sk_color_vfp4)
6760_sk_color_vfp4:
6761  .long  0xed2d8b0e                          // vpush         {d8-d14}
6762  .long  0xeddf0b63                          // vldr          d16, [pc, #396]
6763  .long  0xf3412d17                          // vmul.f32      d18, d1, d7
6764  .long  0xeddf3b63                          // vldr          d19, [pc, #396]
6765  .long  0xf3401d17                          // vmul.f32      d17, d0, d7
6766  .long  0xf3454d30                          // vmul.f32      d20, d5, d16
6767  .long  0xeddf7b62                          // vldr          d23, [pc, #392]
6768  .long  0xf3446d33                          // vmul.f32      d22, d4, d19
6769  .long  0xe491c004                          // ldr           ip, [r1], #4
6770  .long  0xf3425d17                          // vmul.f32      d21, d2, d7
6771  .long  0xf3428db0                          // vmul.f32      d24, d18, d16
6772  .long  0xf3419db3                          // vmul.f32      d25, d17, d19
6773  .long  0xf2464da4                          // vadd.f32      d20, d22, d20
6774  .long  0xf346ad37                          // vmul.f32      d26, d6, d23
6775  .long  0xf3456db7                          // vmul.f32      d22, d21, d23
6776  .long  0xf2498da8                          // vadd.f32      d24, d25, d24
6777  .long  0xf2c0e010                          // vmov.i32      d30, #0
6778  .long  0xf2444daa                          // vadd.f32      d20, d20, d26
6779  .long  0xf2466da8                          // vadd.f32      d22, d22, d24
6780  .long  0xf3444d93                          // vmul.f32      d20, d20, d3
6781  .long  0xf2646da6                          // vsub.f32      d22, d20, d22
6782  .long  0xf2414da6                          // vadd.f32      d20, d17, d22
6783  .long  0xf2428da6                          // vadd.f32      d24, d18, d22
6784  .long  0xf2455da6                          // vadd.f32      d21, d21, d22
6785  .long  0xf3441db3                          // vmul.f32      d17, d20, d19
6786  .long  0xf3480db0                          // vmul.f32      d16, d24, d16
6787  .long  0xf3452db7                          // vmul.f32      d18, d21, d23
6788  .long  0xf2683fa5                          // vmin.f32      d19, d24, d21
6789  .long  0xf2486fa5                          // vmax.f32      d22, d24, d21
6790  .long  0xf2410da0                          // vadd.f32      d16, d17, d16
6791  .long  0xf2421da0                          // vadd.f32      d17, d18, d16
6792  .long  0xf2642fa3                          // vmin.f32      d18, d20, d19
6793  .long  0xf3f934a2                          // vcge.f32      d19, d18, #0
6794  .long  0xf26391b3                          // vorr          d25, d19, d19
6795  .long  0xf2650da1                          // vsub.f32      d16, d21, d17
6796  .long  0xf2219da2                          // vsub.f32      d9, d17, d18
6797  .long  0xf26321b3                          // vorr          d18, d19, d19
6798  .long  0xf3018db0                          // vmul.f32      d8, d17, d16
6799  .long  0xf3430d17                          // vmul.f32      d16, d3, d7
6800  .long  0xeec8aaa9                          // vdiv.f32      s21, s17, s19
6801  .long  0xee88aa09                          // vdiv.f32      s20, s16, s18
6802  .long  0xf2417d8a                          // vadd.f32      d23, d17, d10
6803  .long  0xf35521b7                          // vbsl          d18, d21, d23
6804  .long  0xf2445fa6                          // vmax.f32      d21, d20, d22
6805  .long  0xf2626da1                          // vsub.f32      d22, d18, d17
6806  .long  0xf2607da1                          // vsub.f32      d23, d16, d17
6807  .long  0xf225ada1                          // vsub.f32      d10, d21, d17
6808  .long  0xf307bdb6                          // vmul.f32      d11, d23, d22
6809  .long  0xf2686da1                          // vsub.f32      d22, d24, d17
6810  .long  0xeecb8aaa                          // vdiv.f32      s17, s23, s21
6811  .long  0xf301cdb6                          // vmul.f32      d12, d17, d22
6812  .long  0xee8b8a0a                          // vdiv.f32      s16, s22, s20
6813  .long  0xeeccdaa9                          // vdiv.f32      s27, s25, s19
6814  .long  0xee8cda09                          // vdiv.f32      s26, s24, s18
6815  .long  0xf2416d8d                          // vadd.f32      d22, d17, d13
6816  .long  0xf35891b6                          // vbsl          d25, d24, d22
6817  .long  0xf2696da1                          // vsub.f32      d22, d25, d17
6818  .long  0xf307ddb6                          // vmul.f32      d13, d23, d22
6819  .long  0xf2646da1                          // vsub.f32      d22, d20, d17
6820  .long  0xeecdcaaa                          // vdiv.f32      s25, s27, s21
6821  .long  0xee8dca0a                          // vdiv.f32      s24, s26, s20
6822  .long  0xf301ddb6                          // vmul.f32      d13, d17, d22
6823  .long  0xf2418d8c                          // vadd.f32      d24, d17, d12
6824  .long  0xeecdeaa9                          // vdiv.f32      s29, s27, s19
6825  .long  0xee8dea09                          // vdiv.f32      s28, s26, s18
6826  .long  0xf2416d8e                          // vadd.f32      d22, d17, d14
6827  .long  0xf35431b6                          // vbsl          d19, d20, d22
6828  .long  0xf2634da1                          // vsub.f32      d20, d19, d17
6829  .long  0xf3079db4                          // vmul.f32      d9, d23, d20
6830  .long  0xf3654ea0                          // vcgt.f32      d20, d21, d16
6831  .long  0xf2c75f10                          // vmov.f32      d21, #1
6832  .long  0xf2657d83                          // vsub.f32      d23, d21, d3
6833  .long  0xeec9daaa                          // vdiv.f32      s27, s19, s21
6834  .long  0xee89da0a                          // vdiv.f32      s26, s18, s20
6835  .long  0xf2655d87                          // vsub.f32      d21, d21, d7
6836  .long  0xf2416d8d                          // vadd.f32      d22, d17, d13
6837  .long  0xf264f1b4                          // vorr          d31, d20, d20
6838  .long  0xf2411d88                          // vadd.f32      d17, d17, d8
6839  .long  0xf345ad90                          // vmul.f32      d26, d21, d0
6840  .long  0xf356f1b3                          // vbsl          d31, d22, d19
6841  .long  0xf26461b4                          // vorr          d22, d20, d20
6842  .long  0xf347bd94                          // vmul.f32      d27, d23, d4
6843  .long  0xf345cd91                          // vmul.f32      d28, d21, d1
6844  .long  0xf3453d92                          // vmul.f32      d19, d21, d2
6845  .long  0xf3475d96                          // vmul.f32      d21, d23, d6
6846  .long  0xf347dd95                          // vmul.f32      d29, d23, d5
6847  .long  0xf35141b2                          // vbsl          d20, d17, d18
6848  .long  0xf35861b9                          // vbsl          d22, d24, d25
6849  .long  0xf2437d07                          // vadd.f32      d23, d3, d7
6850  .long  0xf24b8daa                          // vadd.f32      d24, d27, d26
6851  .long  0xf24f1fae                          // vmax.f32      d17, d31, d30
6852  .long  0xf24d2dac                          // vadd.f32      d18, d29, d28
6853  .long  0xf2466fae                          // vmax.f32      d22, d22, d30
6854  .long  0xf2453da3                          // vadd.f32      d19, d21, d19
6855  .long  0xf2444fae                          // vmax.f32      d20, d20, d30
6856  .long  0xf2273da0                          // vsub.f32      d3, d23, d16
6857  .long  0xf2080da1                          // vadd.f32      d0, d24, d17
6858  .long  0xf2021da6                          // vadd.f32      d1, d18, d22
6859  .long  0xf2032da4                          // vadd.f32      d2, d19, d20
6860  .long  0xecbd8b0e                          // vpop          {d8-d14}
6861  .long  0xe12fff1c                          // bx            ip
6862  .long  0xe320f000                          // nop           {0}
6863  .long  0x3f170a3d                          // .word         0x3f170a3d
6864  .long  0x3f170a3d                          // .word         0x3f170a3d
6865  .long  0x3e99999a                          // .word         0x3e99999a
6866  .long  0x3e99999a                          // .word         0x3e99999a
6867  .long  0x3de147ae                          // .word         0x3de147ae
6868  .long  0x3de147ae                          // .word         0x3de147ae
6869
6870HIDDEN _sk_luminosity_vfp4
6871.globl _sk_luminosity_vfp4
6872FUNCTION(_sk_luminosity_vfp4)
6873_sk_luminosity_vfp4:
6874  .long  0xed2d8b0e                          // vpush         {d8-d14}
6875  .long  0xeddf0b63                          // vldr          d16, [pc, #396]
6876  .long  0xf3432d15                          // vmul.f32      d18, d3, d5
6877  .long  0xeddf3b63                          // vldr          d19, [pc, #396]
6878  .long  0xf3431d14                          // vmul.f32      d17, d3, d4
6879  .long  0xf3414d30                          // vmul.f32      d20, d1, d16
6880  .long  0xeddf7b62                          // vldr          d23, [pc, #392]
6881  .long  0xf3406d33                          // vmul.f32      d22, d0, d19
6882  .long  0xe491c004                          // ldr           ip, [r1], #4
6883  .long  0xf3435d16                          // vmul.f32      d21, d3, d6
6884  .long  0xf3428db0                          // vmul.f32      d24, d18, d16
6885  .long  0xf3419db3                          // vmul.f32      d25, d17, d19
6886  .long  0xf2464da4                          // vadd.f32      d20, d22, d20
6887  .long  0xf342ad37                          // vmul.f32      d26, d2, d23
6888  .long  0xf3456db7                          // vmul.f32      d22, d21, d23
6889  .long  0xf2498da8                          // vadd.f32      d24, d25, d24
6890  .long  0xf2c0e010                          // vmov.i32      d30, #0
6891  .long  0xf2444daa                          // vadd.f32      d20, d20, d26
6892  .long  0xf2486da6                          // vadd.f32      d22, d24, d22
6893  .long  0xf3444d97                          // vmul.f32      d20, d20, d7
6894  .long  0xf2646da6                          // vsub.f32      d22, d20, d22
6895  .long  0xf2414da6                          // vadd.f32      d20, d17, d22
6896  .long  0xf2428da6                          // vadd.f32      d24, d18, d22
6897  .long  0xf2455da6                          // vadd.f32      d21, d21, d22
6898  .long  0xf3441db3                          // vmul.f32      d17, d20, d19
6899  .long  0xf3480db0                          // vmul.f32      d16, d24, d16
6900  .long  0xf3452db7                          // vmul.f32      d18, d21, d23
6901  .long  0xf2683fa5                          // vmin.f32      d19, d24, d21
6902  .long  0xf2486fa5                          // vmax.f32      d22, d24, d21
6903  .long  0xf2410da0                          // vadd.f32      d16, d17, d16
6904  .long  0xf2421da0                          // vadd.f32      d17, d18, d16
6905  .long  0xf2642fa3                          // vmin.f32      d18, d20, d19
6906  .long  0xf3f934a2                          // vcge.f32      d19, d18, #0
6907  .long  0xf26391b3                          // vorr          d25, d19, d19
6908  .long  0xf2650da1                          // vsub.f32      d16, d21, d17
6909  .long  0xf2219da2                          // vsub.f32      d9, d17, d18
6910  .long  0xf26321b3                          // vorr          d18, d19, d19
6911  .long  0xf3018db0                          // vmul.f32      d8, d17, d16
6912  .long  0xf3430d17                          // vmul.f32      d16, d3, d7
6913  .long  0xeec8aaa9                          // vdiv.f32      s21, s17, s19
6914  .long  0xee88aa09                          // vdiv.f32      s20, s16, s18
6915  .long  0xf2417d8a                          // vadd.f32      d23, d17, d10
6916  .long  0xf35521b7                          // vbsl          d18, d21, d23
6917  .long  0xf2445fa6                          // vmax.f32      d21, d20, d22
6918  .long  0xf2626da1                          // vsub.f32      d22, d18, d17
6919  .long  0xf2607da1                          // vsub.f32      d23, d16, d17
6920  .long  0xf225ada1                          // vsub.f32      d10, d21, d17
6921  .long  0xf307bdb6                          // vmul.f32      d11, d23, d22
6922  .long  0xf2686da1                          // vsub.f32      d22, d24, d17
6923  .long  0xeecb8aaa                          // vdiv.f32      s17, s23, s21
6924  .long  0xf301cdb6                          // vmul.f32      d12, d17, d22
6925  .long  0xee8b8a0a                          // vdiv.f32      s16, s22, s20
6926  .long  0xeeccdaa9                          // vdiv.f32      s27, s25, s19
6927  .long  0xee8cda09                          // vdiv.f32      s26, s24, s18
6928  .long  0xf2416d8d                          // vadd.f32      d22, d17, d13
6929  .long  0xf35891b6                          // vbsl          d25, d24, d22
6930  .long  0xf2696da1                          // vsub.f32      d22, d25, d17
6931  .long  0xf307ddb6                          // vmul.f32      d13, d23, d22
6932  .long  0xf2646da1                          // vsub.f32      d22, d20, d17
6933  .long  0xeecdcaaa                          // vdiv.f32      s25, s27, s21
6934  .long  0xee8dca0a                          // vdiv.f32      s24, s26, s20
6935  .long  0xf301ddb6                          // vmul.f32      d13, d17, d22
6936  .long  0xf2418d8c                          // vadd.f32      d24, d17, d12
6937  .long  0xeecdeaa9                          // vdiv.f32      s29, s27, s19
6938  .long  0xee8dea09                          // vdiv.f32      s28, s26, s18
6939  .long  0xf2416d8e                          // vadd.f32      d22, d17, d14
6940  .long  0xf35431b6                          // vbsl          d19, d20, d22
6941  .long  0xf2634da1                          // vsub.f32      d20, d19, d17
6942  .long  0xf3079db4                          // vmul.f32      d9, d23, d20
6943  .long  0xf3654ea0                          // vcgt.f32      d20, d21, d16
6944  .long  0xf2c75f10                          // vmov.f32      d21, #1
6945  .long  0xf2657d83                          // vsub.f32      d23, d21, d3
6946  .long  0xeec9daaa                          // vdiv.f32      s27, s19, s21
6947  .long  0xee89da0a                          // vdiv.f32      s26, s18, s20
6948  .long  0xf2655d87                          // vsub.f32      d21, d21, d7
6949  .long  0xf2416d8d                          // vadd.f32      d22, d17, d13
6950  .long  0xf264f1b4                          // vorr          d31, d20, d20
6951  .long  0xf2411d88                          // vadd.f32      d17, d17, d8
6952  .long  0xf345ad90                          // vmul.f32      d26, d21, d0
6953  .long  0xf356f1b3                          // vbsl          d31, d22, d19
6954  .long  0xf26461b4                          // vorr          d22, d20, d20
6955  .long  0xf347bd94                          // vmul.f32      d27, d23, d4
6956  .long  0xf345cd91                          // vmul.f32      d28, d21, d1
6957  .long  0xf3453d92                          // vmul.f32      d19, d21, d2
6958  .long  0xf3475d96                          // vmul.f32      d21, d23, d6
6959  .long  0xf347dd95                          // vmul.f32      d29, d23, d5
6960  .long  0xf35141b2                          // vbsl          d20, d17, d18
6961  .long  0xf35861b9                          // vbsl          d22, d24, d25
6962  .long  0xf2437d07                          // vadd.f32      d23, d3, d7
6963  .long  0xf24b8daa                          // vadd.f32      d24, d27, d26
6964  .long  0xf24f1fae                          // vmax.f32      d17, d31, d30
6965  .long  0xf24d2dac                          // vadd.f32      d18, d29, d28
6966  .long  0xf2466fae                          // vmax.f32      d22, d22, d30
6967  .long  0xf2453da3                          // vadd.f32      d19, d21, d19
6968  .long  0xf2444fae                          // vmax.f32      d20, d20, d30
6969  .long  0xf2273da0                          // vsub.f32      d3, d23, d16
6970  .long  0xf2080da1                          // vadd.f32      d0, d24, d17
6971  .long  0xf2021da6                          // vadd.f32      d1, d18, d22
6972  .long  0xf2032da4                          // vadd.f32      d2, d19, d20
6973  .long  0xecbd8b0e                          // vpop          {d8-d14}
6974  .long  0xe12fff1c                          // bx            ip
6975  .long  0xe320f000                          // nop           {0}
6976  .long  0x3f170a3d                          // .word         0x3f170a3d
6977  .long  0x3f170a3d                          // .word         0x3f170a3d
6978  .long  0x3e99999a                          // .word         0x3e99999a
6979  .long  0x3e99999a                          // .word         0x3e99999a
6980  .long  0x3de147ae                          // .word         0x3de147ae
6981  .long  0x3de147ae                          // .word         0x3de147ae
6982
6983HIDDEN _sk_srcover_rgba_8888_vfp4
6984.globl _sk_srcover_rgba_8888_vfp4
6985FUNCTION(_sk_srcover_rgba_8888_vfp4)
6986_sk_srcover_rgba_8888_vfp4:
6987  .long  0xe92d4800                          // push          {fp, lr}
6988  .long  0xe591c000                          // ldr           ip, [r1]
6989  .long  0xe59de008                          // ldr           lr, [sp, #8]
6990  .long  0xe59cc000                          // ldr           ip, [ip]
6991  .long  0xe35e0001                          // cmp           lr, #1
6992  .long  0xe08cc102                          // add           ip, ip, r2, lsl #2
6993  .long  0x0a00002c                          // beq           14b0 <sk_srcover_rgba_8888_vfp4+0xd0>
6994  .long  0xed9c4b00                          // vldr          d4, [ip]
6995  .long  0xf2c71f10                          // vmov.f32      d17, #1
6996  .long  0xeddf6b2f                          // vldr          d22, [pc, #188]
6997  .long  0xf3c7001f                          // vmov.i32      d16, #255
6998  .long  0xe35e0001                          // cmp           lr, #1
6999  .long  0xf3f82014                          // vshr.u32      d18, d4, #8
7000  .long  0xf3e84014                          // vshr.u32      d20, d4, #24
7001  .long  0xf2611d83                          // vsub.f32      d17, d17, d3
7002  .long  0xf24221b0                          // vand          d18, d18, d16
7003  .long  0xf3f03014                          // vshr.u32      d19, d4, #16
7004  .long  0xf3bb7624                          // vcvt.f32.s32  d7, d20
7005  .long  0xf2445130                          // vand          d21, d4, d16
7006  .long  0xf3033d36                          // vmul.f32      d3, d3, d22
7007  .long  0xf24301b0                          // vand          d16, d19, d16
7008  .long  0xf3bb5622                          // vcvt.f32.s32  d5, d18
7009  .long  0xf3011d36                          // vmul.f32      d1, d1, d22
7010  .long  0xf3bb4625                          // vcvt.f32.s32  d4, d21
7011  .long  0xf3000d36                          // vmul.f32      d0, d0, d22
7012  .long  0xf3bb6620                          // vcvt.f32.s32  d6, d16
7013  .long  0xf2073c31                          // vfma.f32      d3, d7, d17
7014  .long  0xf3022d36                          // vmul.f32      d2, d2, d22
7015  .long  0xf2051c31                          // vfma.f32      d1, d5, d17
7016  .long  0xf2040c31                          // vfma.f32      d0, d4, d17
7017  .long  0xf2062c31                          // vfma.f32      d2, d6, d17
7018  .long  0xf2c3061f                          // vmov.i32      d16, #1056964608
7019  .long  0xf2431d20                          // vadd.f32      d17, d3, d16
7020  .long  0xf2413d20                          // vadd.f32      d19, d1, d16
7021  .long  0xf2402d20                          // vadd.f32      d18, d0, d16
7022  .long  0xf2420d20                          // vadd.f32      d16, d2, d16
7023  .long  0xf3fb17a1                          // vcvt.u32.f32  d17, d17
7024  .long  0xf3fb37a3                          // vcvt.u32.f32  d19, d19
7025  .long  0xf3fb27a2                          // vcvt.u32.f32  d18, d18
7026  .long  0xf3fb07a0                          // vcvt.u32.f32  d16, d16
7027  .long  0xf2f81531                          // vshl.s32      d17, d17, #24
7028  .long  0xf26111b2                          // vorr          d17, d17, d18
7029  .long  0xf2e82533                          // vshl.s32      d18, d19, #8
7030  .long  0xf2f00530                          // vshl.s32      d16, d16, #16
7031  .long  0xf26111b2                          // vorr          d17, d17, d18
7032  .long  0xf26101b0                          // vorr          d16, d17, d16
7033  .long  0x0a000007                          // beq           14bc <sk_srcover_rgba_8888_vfp4+0xdc>
7034  .long  0xedcc0b00                          // vstr          d16, [ip]
7035  .long  0xe591c004                          // ldr           ip, [r1, #4]
7036  .long  0xe2811008                          // add           r1, r1, #8
7037  .long  0xe8bd4800                          // pop           {fp, lr}
7038  .long  0xe12fff1c                          // bx            ip
7039  .long  0xeddf4a06                          // vldr          s9, [pc, #24]
7040  .long  0xed9c4a00                          // vldr          s8, [ip]
7041  .long  0xeaffffd0                          // b             1400 <sk_srcover_rgba_8888_vfp4+0x20>
7042  .long  0xf4cc083f                          // vst1.32       {d16[0]}, [ip :32]
7043  .long  0xeafffff6                          // b             14a0 <sk_srcover_rgba_8888_vfp4+0xc0>
7044  .long  0xe320f000                          // nop           {0}
7045  .long  0x437f0000                          // .word         0x437f0000
7046  .long  0x437f0000                          // .word         0x437f0000
7047  .long  0x00000000                          // .word         0x00000000
7048
7049HIDDEN _sk_clamp_0_vfp4
7050.globl _sk_clamp_0_vfp4
7051FUNCTION(_sk_clamp_0_vfp4)
7052_sk_clamp_0_vfp4:
7053  .long  0xf2c00010                          // vmov.i32      d16, #0
7054  .long  0xe491c004                          // ldr           ip, [r1], #4
7055  .long  0xf2000f20                          // vmax.f32      d0, d0, d16
7056  .long  0xf2011f20                          // vmax.f32      d1, d1, d16
7057  .long  0xf2022f20                          // vmax.f32      d2, d2, d16
7058  .long  0xf2033f20                          // vmax.f32      d3, d3, d16
7059  .long  0xe12fff1c                          // bx            ip
7060
7061HIDDEN _sk_clamp_1_vfp4
7062.globl _sk_clamp_1_vfp4
7063FUNCTION(_sk_clamp_1_vfp4)
7064_sk_clamp_1_vfp4:
7065  .long  0xf2c70f10                          // vmov.f32      d16, #1
7066  .long  0xe491c004                          // ldr           ip, [r1], #4
7067  .long  0xf2200f20                          // vmin.f32      d0, d0, d16
7068  .long  0xf2211f20                          // vmin.f32      d1, d1, d16
7069  .long  0xf2222f20                          // vmin.f32      d2, d2, d16
7070  .long  0xf2233f20                          // vmin.f32      d3, d3, d16
7071  .long  0xe12fff1c                          // bx            ip
7072
7073HIDDEN _sk_clamp_a_vfp4
7074.globl _sk_clamp_a_vfp4
7075FUNCTION(_sk_clamp_a_vfp4)
7076_sk_clamp_a_vfp4:
7077  .long  0xf2c70f10                          // vmov.f32      d16, #1
7078  .long  0xe491c004                          // ldr           ip, [r1], #4
7079  .long  0xf2233f20                          // vmin.f32      d3, d3, d16
7080  .long  0xf2200f03                          // vmin.f32      d0, d0, d3
7081  .long  0xf2211f03                          // vmin.f32      d1, d1, d3
7082  .long  0xf2222f03                          // vmin.f32      d2, d2, d3
7083  .long  0xe12fff1c                          // bx            ip
7084
7085HIDDEN _sk_clamp_a_dst_vfp4
7086.globl _sk_clamp_a_dst_vfp4
7087FUNCTION(_sk_clamp_a_dst_vfp4)
7088_sk_clamp_a_dst_vfp4:
7089  .long  0xf2c70f10                          // vmov.f32      d16, #1
7090  .long  0xe491c004                          // ldr           ip, [r1], #4
7091  .long  0xf2277f20                          // vmin.f32      d7, d7, d16
7092  .long  0xf2244f07                          // vmin.f32      d4, d4, d7
7093  .long  0xf2255f07                          // vmin.f32      d5, d5, d7
7094  .long  0xf2266f07                          // vmin.f32      d6, d6, d7
7095  .long  0xe12fff1c                          // bx            ip
7096
7097HIDDEN _sk_set_rgb_vfp4
7098.globl _sk_set_rgb_vfp4
7099FUNCTION(_sk_set_rgb_vfp4)
7100_sk_set_rgb_vfp4:
7101  .long  0xe92d4010                          // push          {r4, lr}
7102  .long  0xe591e000                          // ldr           lr, [r1]
7103  .long  0xe591c004                          // ldr           ip, [r1, #4]
7104  .long  0xe2811008                          // add           r1, r1, #8
7105  .long  0xe28e4008                          // add           r4, lr, #8
7106  .long  0xf4ae0c9d                          // vld1.32       {d0[]}, [lr :32]!
7107  .long  0xf4a42c9f                          // vld1.32       {d2[]}, [r4 :32]
7108  .long  0xf4ae1c9f                          // vld1.32       {d1[]}, [lr :32]
7109  .long  0xe8bd4010                          // pop           {r4, lr}
7110  .long  0xe12fff1c                          // bx            ip
7111
7112HIDDEN _sk_swap_rb_vfp4
7113.globl _sk_swap_rb_vfp4
7114FUNCTION(_sk_swap_rb_vfp4)
7115_sk_swap_rb_vfp4:
7116  .long  0xeef00b40                          // vmov.f64      d16, d0
7117  .long  0xe491c004                          // ldr           ip, [r1], #4
7118  .long  0xeeb00b42                          // vmov.f64      d0, d2
7119  .long  0xeeb02b60                          // vmov.f64      d2, d16
7120  .long  0xe12fff1c                          // bx            ip
7121
7122HIDDEN _sk_move_src_dst_vfp4
7123.globl _sk_move_src_dst_vfp4
7124FUNCTION(_sk_move_src_dst_vfp4)
7125_sk_move_src_dst_vfp4:
7126  .long  0xeeb04b40                          // vmov.f64      d4, d0
7127  .long  0xe491c004                          // ldr           ip, [r1], #4
7128  .long  0xeeb05b41                          // vmov.f64      d5, d1
7129  .long  0xeeb06b42                          // vmov.f64      d6, d2
7130  .long  0xeeb07b43                          // vmov.f64      d7, d3
7131  .long  0xe12fff1c                          // bx            ip
7132
7133HIDDEN _sk_move_dst_src_vfp4
7134.globl _sk_move_dst_src_vfp4
7135FUNCTION(_sk_move_dst_src_vfp4)
7136_sk_move_dst_src_vfp4:
7137  .long  0xeeb00b44                          // vmov.f64      d0, d4
7138  .long  0xe491c004                          // ldr           ip, [r1], #4
7139  .long  0xeeb01b45                          // vmov.f64      d1, d5
7140  .long  0xeeb02b46                          // vmov.f64      d2, d6
7141  .long  0xeeb03b47                          // vmov.f64      d3, d7
7142  .long  0xe12fff1c                          // bx            ip
7143
7144HIDDEN _sk_premul_vfp4
7145.globl _sk_premul_vfp4
7146FUNCTION(_sk_premul_vfp4)
7147_sk_premul_vfp4:
7148  .long  0xf3000d13                          // vmul.f32      d0, d0, d3
7149  .long  0xe491c004                          // ldr           ip, [r1], #4
7150  .long  0xf3011d13                          // vmul.f32      d1, d1, d3
7151  .long  0xf3022d13                          // vmul.f32      d2, d2, d3
7152  .long  0xe12fff1c                          // bx            ip
7153
7154HIDDEN _sk_premul_dst_vfp4
7155.globl _sk_premul_dst_vfp4
7156FUNCTION(_sk_premul_dst_vfp4)
7157_sk_premul_dst_vfp4:
7158  .long  0xf3044d17                          // vmul.f32      d4, d4, d7
7159  .long  0xe491c004                          // ldr           ip, [r1], #4
7160  .long  0xf3055d17                          // vmul.f32      d5, d5, d7
7161  .long  0xf3066d17                          // vmul.f32      d6, d6, d7
7162  .long  0xe12fff1c                          // bx            ip
7163
7164HIDDEN _sk_unpremul_vfp4
7165.globl _sk_unpremul_vfp4
7166FUNCTION(_sk_unpremul_vfp4)
7167_sk_unpremul_vfp4:
7168  .long  0xed2d8b04                          // vpush         {d8-d9}
7169  .long  0xeeb78a00                          // vmov.f32      s16, #112
7170  .long  0xf3f91503                          // vceq.f32      d17, d3, #0
7171  .long  0xf2c00010                          // vmov.i32      d16, #0
7172  .long  0xe491c004                          // ldr           ip, [r1], #4
7173  .long  0xeec89a23                          // vdiv.f32      s19, s16, s7
7174  .long  0xee889a03                          // vdiv.f32      s18, s16, s6
7175  .long  0xf3501199                          // vbsl          d17, d16, d9
7176  .long  0xf3010d90                          // vmul.f32      d0, d17, d0
7177  .long  0xf3011d91                          // vmul.f32      d1, d17, d1
7178  .long  0xf3012d92                          // vmul.f32      d2, d17, d2
7179  .long  0xecbd8b04                          // vpop          {d8-d9}
7180  .long  0xe12fff1c                          // bx            ip
7181  .long  0xe320f000                          // nop           {0}
7182
7183HIDDEN _sk_from_srgb_vfp4
7184.globl _sk_from_srgb_vfp4
7185FUNCTION(_sk_from_srgb_vfp4)
7186_sk_from_srgb_vfp4:
7187  .long  0xeddf3b20                          // vldr          d19, [pc, #128]
7188  .long  0xf3408d10                          // vmul.f32      d24, d0, d0
7189  .long  0xeddf0b1c                          // vldr          d16, [pc, #112]
7190  .long  0xf26341b3                          // vorr          d20, d19, d19
7191  .long  0xf26351b3                          // vorr          d21, d19, d19
7192  .long  0xeddf9b1f                          // vldr          d25, [pc, #124]
7193  .long  0xf2404c30                          // vfma.f32      d20, d0, d16
7194  .long  0xeddf2b1b                          // vldr          d18, [pc, #108]
7195  .long  0xf2415c30                          // vfma.f32      d21, d1, d16
7196  .long  0xeddfcb1d                          // vldr          d28, [pc, #116]
7197  .long  0xf2423c30                          // vfma.f32      d19, d2, d16
7198  .long  0xe491c004                          // ldr           ip, [r1], #4
7199  .long  0xf3426d12                          // vmul.f32      d22, d2, d2
7200  .long  0xf3417d11                          // vmul.f32      d23, d1, d1
7201  .long  0xf3620e80                          // vcgt.f32      d16, d18, d0
7202  .long  0xf3621e81                          // vcgt.f32      d17, d18, d1
7203  .long  0xf341ad39                          // vmul.f32      d26, d1, d25
7204  .long  0xf342bd39                          // vmul.f32      d27, d2, d25
7205  .long  0xf3622e82                          // vcgt.f32      d18, d18, d2
7206  .long  0xf3409d39                          // vmul.f32      d25, d0, d25
7207  .long  0xf26cd1bc                          // vorr          d29, d28, d28
7208  .long  0xf248dcb4                          // vfma.f32      d29, d24, d20
7209  .long  0xf26c41bc                          // vorr          d20, d28, d28
7210  .long  0xf2474cb5                          // vfma.f32      d20, d23, d21
7211  .long  0xf246ccb3                          // vfma.f32      d28, d22, d19
7212  .long  0xf35901bd                          // vbsl          d16, d25, d29
7213  .long  0xf35a11b4                          // vbsl          d17, d26, d20
7214  .long  0xf35b21bc                          // vbsl          d18, d27, d28
7215  .long  0xf22001b0                          // vorr          d0, d16, d16
7216  .long  0xf22111b1                          // vorr          d1, d17, d17
7217  .long  0xf22221b2                          // vorr          d2, d18, d18
7218  .long  0xe12fff1c                          // bx            ip
7219  .long  0x3e99999a                          // .word         0x3e99999a
7220  .long  0x3e99999a                          // .word         0x3e99999a
7221  .long  0x3f328f5c                          // .word         0x3f328f5c
7222  .long  0x3f328f5c                          // .word         0x3f328f5c
7223  .long  0x3d6147ae                          // .word         0x3d6147ae
7224  .long  0x3d6147ae                          // .word         0x3d6147ae
7225  .long  0x3d9e8391                          // .word         0x3d9e8391
7226  .long  0x3d9e8391                          // .word         0x3d9e8391
7227  .long  0x3b23d70a                          // .word         0x3b23d70a
7228  .long  0x3b23d70a                          // .word         0x3b23d70a
7229
7230HIDDEN _sk_from_srgb_dst_vfp4
7231.globl _sk_from_srgb_dst_vfp4
7232FUNCTION(_sk_from_srgb_dst_vfp4)
7233_sk_from_srgb_dst_vfp4:
7234  .long  0xeddf3b20                          // vldr          d19, [pc, #128]
7235  .long  0xf3448d14                          // vmul.f32      d24, d4, d4
7236  .long  0xeddf0b1c                          // vldr          d16, [pc, #112]
7237  .long  0xf26341b3                          // vorr          d20, d19, d19
7238  .long  0xf26351b3                          // vorr          d21, d19, d19
7239  .long  0xeddf9b1f                          // vldr          d25, [pc, #124]
7240  .long  0xf2444c30                          // vfma.f32      d20, d4, d16
7241  .long  0xeddf2b1b                          // vldr          d18, [pc, #108]
7242  .long  0xf2455c30                          // vfma.f32      d21, d5, d16
7243  .long  0xeddfcb1d                          // vldr          d28, [pc, #116]
7244  .long  0xf2463c30                          // vfma.f32      d19, d6, d16
7245  .long  0xe491c004                          // ldr           ip, [r1], #4
7246  .long  0xf3466d16                          // vmul.f32      d22, d6, d6
7247  .long  0xf3457d15                          // vmul.f32      d23, d5, d5
7248  .long  0xf3620e84                          // vcgt.f32      d16, d18, d4
7249  .long  0xf3621e85                          // vcgt.f32      d17, d18, d5
7250  .long  0xf345ad39                          // vmul.f32      d26, d5, d25
7251  .long  0xf346bd39                          // vmul.f32      d27, d6, d25
7252  .long  0xf3622e86                          // vcgt.f32      d18, d18, d6
7253  .long  0xf3449d39                          // vmul.f32      d25, d4, d25
7254  .long  0xf26cd1bc                          // vorr          d29, d28, d28
7255  .long  0xf248dcb4                          // vfma.f32      d29, d24, d20
7256  .long  0xf26c41bc                          // vorr          d20, d28, d28
7257  .long  0xf2474cb5                          // vfma.f32      d20, d23, d21
7258  .long  0xf246ccb3                          // vfma.f32      d28, d22, d19
7259  .long  0xf35901bd                          // vbsl          d16, d25, d29
7260  .long  0xf35a11b4                          // vbsl          d17, d26, d20
7261  .long  0xf35b21bc                          // vbsl          d18, d27, d28
7262  .long  0xf22041b0                          // vorr          d4, d16, d16
7263  .long  0xf22151b1                          // vorr          d5, d17, d17
7264  .long  0xf22261b2                          // vorr          d6, d18, d18
7265  .long  0xe12fff1c                          // bx            ip
7266  .long  0x3e99999a                          // .word         0x3e99999a
7267  .long  0x3e99999a                          // .word         0x3e99999a
7268  .long  0x3f328f5c                          // .word         0x3f328f5c
7269  .long  0x3f328f5c                          // .word         0x3f328f5c
7270  .long  0x3d6147ae                          // .word         0x3d6147ae
7271  .long  0x3d6147ae                          // .word         0x3d6147ae
7272  .long  0x3d9e8391                          // .word         0x3d9e8391
7273  .long  0x3d9e8391                          // .word         0x3d9e8391
7274  .long  0x3b23d70a                          // .word         0x3b23d70a
7275  .long  0x3b23d70a                          // .word         0x3b23d70a
7276
7277HIDDEN _sk_to_srgb_vfp4
7278.globl _sk_to_srgb_vfp4
7279FUNCTION(_sk_to_srgb_vfp4)
7280_sk_to_srgb_vfp4:
7281  .long  0xf3fb0580                          // vrsqrte.f32   d16, d0
7282  .long  0xeddf9b3b                          // vldr          d25, [pc, #236]
7283  .long  0xf3fb1581                          // vrsqrte.f32   d17, d1
7284  .long  0xeddf7b37                          // vldr          d23, [pc, #220]
7285  .long  0xf3fb2582                          // vrsqrte.f32   d18, d2
7286  .long  0xe491c004                          // ldr           ip, [r1], #4
7287  .long  0xf269a1b9                          // vorr          d26, d25, d25
7288  .long  0xf269c1b9                          // vorr          d28, d25, d25
7289  .long  0xf3403db0                          // vmul.f32      d19, d16, d16
7290  .long  0xf3414db1                          // vmul.f32      d20, d17, d17
7291  .long  0xf3425db2                          // vmul.f32      d21, d18, d18
7292  .long  0xf2603f33                          // vrsqrts.f32   d19, d0, d19
7293  .long  0xf2614f34                          // vrsqrts.f32   d20, d1, d20
7294  .long  0xf2625f35                          // vrsqrts.f32   d21, d2, d21
7295  .long  0xf3400db3                          // vmul.f32      d16, d16, d19
7296  .long  0xeddf3b29                          // vldr          d19, [pc, #164]
7297  .long  0xf3411db4                          // vmul.f32      d17, d17, d20
7298  .long  0xf3422db5                          // vmul.f32      d18, d18, d21
7299  .long  0xf2404da3                          // vadd.f32      d20, d16, d19
7300  .long  0xf2415da3                          // vadd.f32      d21, d17, d19
7301  .long  0xf2423da3                          // vadd.f32      d19, d18, d19
7302  .long  0xf240acb7                          // vfma.f32      d26, d16, d23
7303  .long  0xf3fb6524                          // vrecpe.f32    d22, d20
7304  .long  0xf3fb8525                          // vrecpe.f32    d24, d21
7305  .long  0xf3fbb523                          // vrecpe.f32    d27, d19
7306  .long  0xf241ccb7                          // vfma.f32      d28, d17, d23
7307  .long  0xf2429cb7                          // vfma.f32      d25, d18, d23
7308  .long  0xeddf7b23                          // vldr          d23, [pc, #140]
7309  .long  0xf2455fb8                          // vrecps.f32    d21, d21, d24
7310  .long  0xf2444fb6                          // vrecps.f32    d20, d20, d22
7311  .long  0xf2433fbb                          // vrecps.f32    d19, d19, d27
7312  .long  0xf267d1b7                          // vorr          d29, d23, d23
7313  .long  0xf240dcba                          // vfma.f32      d29, d16, d26
7314  .long  0xf267a1b7                          // vorr          d26, d23, d23
7315  .long  0xf241acbc                          // vfma.f32      d26, d17, d28
7316  .long  0xf2427cb9                          // vfma.f32      d23, d18, d25
7317  .long  0xeddf2b1e                          // vldr          d18, [pc, #120]
7318  .long  0xf3620e80                          // vcgt.f32      d16, d18, d0
7319  .long  0xf3485db5                          // vmul.f32      d21, d24, d21
7320  .long  0xeddf8b19                          // vldr          d24, [pc, #100]
7321  .long  0xf3464db4                          // vmul.f32      d20, d22, d20
7322  .long  0xf34b3db3                          // vmul.f32      d19, d27, d19
7323  .long  0xf3621e81                          // vcgt.f32      d17, d18, d1
7324  .long  0xf3406d38                          // vmul.f32      d22, d0, d24
7325  .long  0xf3419d38                          // vmul.f32      d25, d1, d24
7326  .long  0xf3622e82                          // vcgt.f32      d18, d18, d2
7327  .long  0xf3428d38                          // vmul.f32      d24, d2, d24
7328  .long  0xf34d4db4                          // vmul.f32      d20, d29, d20
7329  .long  0xf34a5db5                          // vmul.f32      d21, d26, d21
7330  .long  0xf3473db3                          // vmul.f32      d19, d23, d19
7331  .long  0xf35601b4                          // vbsl          d16, d22, d20
7332  .long  0xf35911b5                          // vbsl          d17, d25, d21
7333  .long  0xf35821b3                          // vbsl          d18, d24, d19
7334  .long  0xf22001b0                          // vorr          d0, d16, d16
7335  .long  0xf22111b1                          // vorr          d1, d17, d17
7336  .long  0xf22221b2                          // vorr          d2, d18, d18
7337  .long  0xe12fff1c                          // bx            ip
7338  .long  0xe320f000                          // nop           {0}
7339  .long  0x3e10c64c                          // .word         0x3e10c64c
7340  .long  0x3e10c64c                          // .word         0x3e10c64c
7341  .long  0xbb20d739                          // .word         0xbb20d739
7342  .long  0xbb20d739                          // .word         0xbb20d739
7343  .long  0x3c629fba                          // .word         0x3c629fba
7344  .long  0x3c629fba                          // .word         0x3c629fba
7345  .long  0x3f90a3d7                          // .word         0x3f90a3d7
7346  .long  0x3f90a3d7                          // .word         0x3f90a3d7
7347  .long  0x414eb852                          // .word         0x414eb852
7348  .long  0x414eb852                          // .word         0x414eb852
7349  .long  0x3b98b1a8                          // .word         0x3b98b1a8
7350  .long  0x3b98b1a8                          // .word         0x3b98b1a8
7351
7352HIDDEN _sk_rgb_to_hsl_vfp4
7353.globl _sk_rgb_to_hsl_vfp4
7354FUNCTION(_sk_rgb_to_hsl_vfp4)
7355_sk_rgb_to_hsl_vfp4:
7356  .long  0xed2d8b08                          // vpush         {d8-d11}
7357  .long  0xf2401f01                          // vmax.f32      d17, d0, d1
7358  .long  0xeddf9b2c                          // vldr          d25, [pc, #176]
7359  .long  0xf2600f01                          // vmin.f32      d16, d0, d1
7360  .long  0xe491c004                          // ldr           ip, [r1], #4
7361  .long  0xeeb78a00                          // vmov.f32      s16, #112
7362  .long  0xf2c3461f                          // vmov.i32      d20, #1056964608
7363  .long  0xf2411f82                          // vmax.f32      d17, d17, d2
7364  .long  0xf2602f82                          // vmin.f32      d18, d16, d2
7365  .long  0xf2c45610                          // vmov.i32      d21, #1073741824
7366  .long  0xf2607d01                          // vsub.f32      d23, d0, d1
7367  .long  0xf2656da1                          // vsub.f32      d22, d21, d17
7368  .long  0xf221ada2                          // vsub.f32      d10, d17, d18
7369  .long  0xf2413da2                          // vadd.f32      d19, d17, d18
7370  .long  0xf2c08010                          // vmov.i32      d24, #0
7371  .long  0xf2666da2                          // vsub.f32      d22, d22, d18
7372  .long  0xf241ae80                          // vceq.f32      d26, d17, d0
7373  .long  0xeec8ba2a                          // vdiv.f32      s23, s16, s21
7374  .long  0xf3430db4                          // vmul.f32      d16, d19, d20
7375  .long  0xee88ba0a                          // vdiv.f32      s22, s16, s20
7376  .long  0xf3209ea4                          // vcgt.f32      d9, d16, d20
7377  .long  0xf2614d02                          // vsub.f32      d20, d1, d2
7378  .long  0xf3477d9b                          // vmul.f32      d23, d23, d11
7379  .long  0xf31691b3                          // vbsl          d9, d22, d19
7380  .long  0xf2623d00                          // vsub.f32      d19, d2, d0
7381  .long  0xf3626e01                          // vcgt.f32      d22, d2, d1
7382  .long  0xeeca8aa9                          // vdiv.f32      s17, s21, s19
7383  .long  0xee8a8a09                          // vdiv.f32      s16, s20, s18
7384  .long  0xf3433d9b                          // vmul.f32      d19, d19, d11
7385  .long  0xf3444d9b                          // vmul.f32      d20, d20, d11
7386  .long  0xf35961b8                          // vbsl          d22, d25, d24
7387  .long  0xf2419e81                          // vceq.f32      d25, d17, d1
7388  .long  0xf2011ea2                          // vceq.f32      d1, d17, d18
7389  .long  0xf2433da5                          // vadd.f32      d19, d19, d21
7390  .long  0xf2c15f10                          // vmov.f32      d21, #4
7391  .long  0xf2464da4                          // vadd.f32      d20, d22, d20
7392  .long  0xf2471da5                          // vadd.f32      d17, d23, d21
7393  .long  0xf35391b1                          // vbsl          d25, d19, d17
7394  .long  0xeddf1b0a                          // vldr          d17, [pc, #40]
7395  .long  0xf2612111                          // vorr          d18, d1, d1
7396  .long  0xf354a1b9                          // vbsl          d26, d20, d25
7397  .long  0xf35821ba                          // vbsl          d18, d24, d26
7398  .long  0xf3181198                          // vbsl          d1, d24, d8
7399  .long  0xf3020db1                          // vmul.f32      d0, d18, d17
7400  .long  0xf22021b0                          // vorr          d2, d16, d16
7401  .long  0xecbd8b08                          // vpop          {d8-d11}
7402  .long  0xe12fff1c                          // bx            ip
7403  .long  0xe320f000                          // nop           {0}
7404  .long  0x40c00000                          // .word         0x40c00000
7405  .long  0x40c00000                          // .word         0x40c00000
7406  .long  0x3e2aaaab                          // .word         0x3e2aaaab
7407  .long  0x3e2aaaab                          // .word         0x3e2aaaab
7408
7409HIDDEN _sk_hsl_to_rgb_vfp4
7410.globl _sk_hsl_to_rgb_vfp4
7411FUNCTION(_sk_hsl_to_rgb_vfp4)
7412_sk_hsl_to_rgb_vfp4:
7413  .long  0xed2d8b02                          // vpush         {d8}
7414  .long  0xeddf0b51                          // vldr          d16, [pc, #324]
7415  .long  0xf3fb2700                          // vcvt.s32.f32  d18, d0
7416  .long  0xeddf1b51                          // vldr          d17, [pc, #324]
7417  .long  0xf2400d20                          // vadd.f32      d16, d0, d16
7418  .long  0xf2401d21                          // vadd.f32      d17, d0, d17
7419  .long  0xeddfab50                          // vldr          d26, [pc, #320]
7420  .long  0xf3416d12                          // vmul.f32      d22, d1, d2
7421  .long  0xe491c004                          // ldr           ip, [r1], #4
7422  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
7423  .long  0xf3fb3720                          // vcvt.s32.f32  d19, d16
7424  .long  0xf3fb4721                          // vcvt.s32.f32  d20, d17
7425  .long  0xf2c3761f                          // vmov.i32      d23, #1056964608
7426  .long  0xf3625e80                          // vcgt.f32      d21, d18, d0
7427  .long  0xf3fb3623                          // vcvt.f32.s32  d19, d19
7428  .long  0xf3fb4624                          // vcvt.f32.s32  d20, d20
7429  .long  0xf2c08010                          // vmov.i32      d24, #0
7430  .long  0xf35a51b8                          // vbsl          d21, d26, d24
7431  .long  0xf3639ea0                          // vcgt.f32      d25, d19, d16
7432  .long  0xf364bea1                          // vcgt.f32      d27, d20, d17
7433  .long  0xf342ce27                          // vcge.f32      d28, d2, d23
7434  .long  0xf261dd26                          // vsub.f32      d29, d1, d22
7435  .long  0xf35a91b8                          // vbsl          d25, d26, d24
7436  .long  0xf35ab1b8                          // vbsl          d27, d26, d24
7437  .long  0xf2622da5                          // vsub.f32      d18, d18, d21
7438  .long  0xf2633da9                          // vsub.f32      d19, d19, d25
7439  .long  0xf2644dab                          // vsub.f32      d20, d20, d27
7440  .long  0xf35dc1b6                          // vbsl          d28, d29, d22
7441  .long  0xeddfdb3c                          // vldr          d29, [pc, #240]
7442  .long  0xf2602d22                          // vsub.f32      d18, d0, d18
7443  .long  0xf2600da3                          // vsub.f32      d16, d16, d19
7444  .long  0xf2c15f18                          // vmov.f32      d21, #6
7445  .long  0xf2426d02                          // vadd.f32      d22, d2, d2
7446  .long  0xf24c8d82                          // vadd.f32      d24, d28, d2
7447  .long  0xf2611da4                          // vsub.f32      d17, d17, d20
7448  .long  0xf3423db5                          // vmul.f32      d19, d18, d21
7449  .long  0xf3409db5                          // vmul.f32      d25, d16, d21
7450  .long  0xf2664da8                          // vsub.f32      d20, d22, d24
7451  .long  0xf3415db5                          // vmul.f32      d21, d17, d21
7452  .long  0xf2c16f10                          // vmov.f32      d22, #4
7453  .long  0xf342eead                          // vcge.f32      d30, d18, d29
7454  .long  0xf266ada3                          // vsub.f32      d26, d22, d19
7455  .long  0xf268bda4                          // vsub.f32      d27, d24, d20
7456  .long  0xf266cda9                          // vsub.f32      d28, d22, d25
7457  .long  0xf2666da5                          // vsub.f32      d22, d22, d21
7458  .long  0xf340fead                          // vcge.f32      d31, d16, d29
7459  .long  0xf34badba                          // vmul.f32      d26, d27, d26
7460  .long  0xf341dead                          // vcge.f32      d29, d17, d29
7461  .long  0xf34bcdbc                          // vmul.f32      d28, d27, d28
7462  .long  0xf34b6db6                          // vmul.f32      d22, d27, d22
7463  .long  0xf244adaa                          // vadd.f32      d26, d20, d26
7464  .long  0xf3020ea7                          // vcge.f32      d0, d18, d23
7465  .long  0xf3008ea7                          // vcge.f32      d8, d16, d23
7466  .long  0xf354e1ba                          // vbsl          d30, d20, d26
7467  .long  0xeddfab24                          // vldr          d26, [pc, #144]
7468  .long  0xf244cdac                          // vadd.f32      d28, d20, d28
7469  .long  0xf2446da6                          // vadd.f32      d22, d20, d22
7470  .long  0xf34b3db3                          // vmul.f32      d19, d27, d19
7471  .long  0xf34b9db9                          // vmul.f32      d25, d27, d25
7472  .long  0xf3417ea7                          // vcge.f32      d23, d17, d23
7473  .long  0xf354d1b6                          // vbsl          d29, d20, d22
7474  .long  0xf354f1bc                          // vbsl          d31, d20, d28
7475  .long  0xf3406eaa                          // vcge.f32      d22, d16, d26
7476  .long  0xf3422eaa                          // vcge.f32      d18, d18, d26
7477  .long  0xf34b5db5                          // vmul.f32      d21, d27, d21
7478  .long  0xf3411eaa                          // vcge.f32      d17, d17, d26
7479  .long  0xf31e01b8                          // vbsl          d0, d30, d24
7480  .long  0xf31f81b8                          // vbsl          d8, d31, d24
7481  .long  0xf2440da3                          // vadd.f32      d16, d20, d19
7482  .long  0xf2443da9                          // vadd.f32      d19, d20, d25
7483  .long  0xf3502130                          // vbsl          d18, d0, d16
7484  .long  0xf3f90501                          // vceq.f32      d16, d1, #0
7485  .long  0xf35d71b8                          // vbsl          d23, d29, d24
7486  .long  0xf3586133                          // vbsl          d22, d8, d19
7487  .long  0xf22011b0                          // vorr          d1, d16, d16
7488  .long  0xf2444da5                          // vadd.f32      d20, d20, d21
7489  .long  0xf22001b0                          // vorr          d0, d16, d16
7490  .long  0xf3520136                          // vbsl          d16, d2, d22
7491  .long  0xf35711b4                          // vbsl          d17, d23, d20
7492  .long  0xf3121132                          // vbsl          d1, d2, d18
7493  .long  0xf3120131                          // vbsl          d0, d2, d17
7494  .long  0xf22021b0                          // vorr          d2, d16, d16
7495  .long  0xecbd8b02                          // vpop          {d8}
7496  .long  0xe12fff1c                          // bx            ip
7497  .long  0xbeaaaaab                          // .word         0xbeaaaaab
7498  .long  0xbeaaaaab                          // .word         0xbeaaaaab
7499  .long  0x3eaaaaab                          // .word         0x3eaaaaab
7500  .long  0x3eaaaaab                          // .word         0x3eaaaaab
7501  .long  0x3f800000                          // .word         0x3f800000
7502  .long  0x3f800000                          // .word         0x3f800000
7503  .long  0x3f2aaaab                          // .word         0x3f2aaaab
7504  .long  0x3f2aaaab                          // .word         0x3f2aaaab
7505  .long  0x3e2aaaab                          // .word         0x3e2aaaab
7506  .long  0x3e2aaaab                          // .word         0x3e2aaaab
7507
7508HIDDEN _sk_scale_1_float_vfp4
7509.globl _sk_scale_1_float_vfp4
7510FUNCTION(_sk_scale_1_float_vfp4)
7511_sk_scale_1_float_vfp4:
7512  .long  0xe92d4800                          // push          {fp, lr}
7513  .long  0xe591e000                          // ldr           lr, [r1]
7514  .long  0xe591c004                          // ldr           ip, [r1, #4]
7515  .long  0xe2811008                          // add           r1, r1, #8
7516  .long  0xf4ee0c9f                          // vld1.32       {d16[]}, [lr :32]
7517  .long  0xf3000d90                          // vmul.f32      d0, d16, d0
7518  .long  0xf3001d91                          // vmul.f32      d1, d16, d1
7519  .long  0xf3002d92                          // vmul.f32      d2, d16, d2
7520  .long  0xf3003d93                          // vmul.f32      d3, d16, d3
7521  .long  0xe8bd4800                          // pop           {fp, lr}
7522  .long  0xe12fff1c                          // bx            ip
7523  .long  0xe320f000                          // nop           {0}
7524
7525HIDDEN _sk_scale_u8_vfp4
7526.globl _sk_scale_u8_vfp4
7527FUNCTION(_sk_scale_u8_vfp4)
7528_sk_scale_u8_vfp4:
7529  .long  0xe92d4800                          // push          {fp, lr}
7530  .long  0xed2d8b04                          // vpush         {d8-d9}
7531  .long  0xe24dd008                          // sub           sp, sp, #8
7532  .long  0xe591c000                          // ldr           ip, [r1]
7533  .long  0xe59de020                          // ldr           lr, [sp, #32]
7534  .long  0xe59cc000                          // ldr           ip, [ip]
7535  .long  0xe35e0001                          // cmp           lr, #1
7536  .long  0xe08cc002                          // add           ip, ip, r2
7537  .long  0x0a000014                          // beq           1b68 <sk_scale_u8_vfp4+0x78>
7538  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
7539  .long  0xe1cdc0b4                          // strh          ip, [sp, #4]
7540  .long  0xe28dc004                          // add           ip, sp, #4
7541  .long  0xf4ec041f                          // vld1.16       {d16[0]}, [ip :16]
7542  .long  0xf3c80a30                          // vmovl.u8      q8, d16
7543  .long  0xf3908a30                          // vmovl.u16     q4, d16
7544  .long  0xf3c7001f                          // vmov.i32      d16, #255
7545  .long  0xeddf1b10                          // vldr          d17, [pc, #64]
7546  .long  0xe591c004                          // ldr           ip, [r1, #4]
7547  .long  0xe2811008                          // add           r1, r1, #8
7548  .long  0xf2480130                          // vand          d16, d8, d16
7549  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
7550  .long  0xf3400db1                          // vmul.f32      d16, d16, d17
7551  .long  0xf3000d90                          // vmul.f32      d0, d16, d0
7552  .long  0xf3001d91                          // vmul.f32      d1, d16, d1
7553  .long  0xf3002d92                          // vmul.f32      d2, d16, d2
7554  .long  0xf3003d93                          // vmul.f32      d3, d16, d3
7555  .long  0xe28dd008                          // add           sp, sp, #8
7556  .long  0xecbd8b04                          // vpop          {d8-d9}
7557  .long  0xe8bd4800                          // pop           {fp, lr}
7558  .long  0xe12fff1c                          // bx            ip
7559  .long  0xe5dcc000                          // ldrb          ip, [ip]
7560  .long  0xeddf8a03                          // vldr          s17, [pc, #12]
7561  .long  0xee08ca10                          // vmov          s16, ip
7562  .long  0xeaffffec                          // b             1b2c <sk_scale_u8_vfp4+0x3c>
7563  .long  0x3b808081                          // .word         0x3b808081
7564  .long  0x3b808081                          // .word         0x3b808081
7565  .long  0x00000000                          // .word         0x00000000
7566
7567HIDDEN _sk_lerp_1_float_vfp4
7568.globl _sk_lerp_1_float_vfp4
7569FUNCTION(_sk_lerp_1_float_vfp4)
7570_sk_lerp_1_float_vfp4:
7571  .long  0xe92d4800                          // push          {fp, lr}
7572  .long  0xe591e000                          // ldr           lr, [r1]
7573  .long  0xf2600d04                          // vsub.f32      d16, d0, d4
7574  .long  0xf2611d05                          // vsub.f32      d17, d1, d5
7575  .long  0xe591c004                          // ldr           ip, [r1, #4]
7576  .long  0xf2622d06                          // vsub.f32      d18, d2, d6
7577  .long  0xe2811008                          // add           r1, r1, #8
7578  .long  0xf2633d07                          // vsub.f32      d19, d3, d7
7579  .long  0xf4ee4c9f                          // vld1.32       {d20[]}, [lr :32]
7580  .long  0xf2240114                          // vorr          d0, d4, d4
7581  .long  0xf2251115                          // vorr          d1, d5, d5
7582  .long  0xf2262116                          // vorr          d2, d6, d6
7583  .long  0xf2273117                          // vorr          d3, d7, d7
7584  .long  0xf2000cb4                          // vfma.f32      d0, d16, d20
7585  .long  0xf2011cb4                          // vfma.f32      d1, d17, d20
7586  .long  0xf2022cb4                          // vfma.f32      d2, d18, d20
7587  .long  0xf2033cb4                          // vfma.f32      d3, d19, d20
7588  .long  0xe8bd4800                          // pop           {fp, lr}
7589  .long  0xe12fff1c                          // bx            ip
7590
7591HIDDEN _sk_lerp_u8_vfp4
7592.globl _sk_lerp_u8_vfp4
7593FUNCTION(_sk_lerp_u8_vfp4)
7594_sk_lerp_u8_vfp4:
7595  .long  0xe92d4800                          // push          {fp, lr}
7596  .long  0xed2d8b04                          // vpush         {d8-d9}
7597  .long  0xe24dd008                          // sub           sp, sp, #8
7598  .long  0xe591c000                          // ldr           ip, [r1]
7599  .long  0xe59de020                          // ldr           lr, [sp, #32]
7600  .long  0xe59cc000                          // ldr           ip, [ip]
7601  .long  0xe35e0001                          // cmp           lr, #1
7602  .long  0xe08cc002                          // add           ip, ip, r2
7603  .long  0x0a00001e                          // beq           1c70 <sk_lerp_u8_vfp4+0xa0>
7604  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
7605  .long  0xe1cdc0b4                          // strh          ip, [sp, #4]
7606  .long  0xe28dc004                          // add           ip, sp, #4
7607  .long  0xf4ec041f                          // vld1.16       {d16[0]}, [ip :16]
7608  .long  0xf3c80a30                          // vmovl.u8      q8, d16
7609  .long  0xf3908a30                          // vmovl.u16     q4, d16
7610  .long  0xf3c7001f                          // vmov.i32      d16, #255
7611  .long  0xeddf1b1a                          // vldr          d17, [pc, #104]
7612  .long  0xf2602d04                          // vsub.f32      d18, d0, d4
7613  .long  0xe591e004                          // ldr           lr, [r1, #4]
7614  .long  0xf2480130                          // vand          d16, d8, d16
7615  .long  0xe281c008                          // add           ip, r1, #8
7616  .long  0xf2623d06                          // vsub.f32      d19, d2, d6
7617  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
7618  .long  0xe1a0100c                          // mov           r1, ip
7619  .long  0xf2634d07                          // vsub.f32      d20, d3, d7
7620  .long  0xe1a0c00e                          // mov           ip, lr
7621  .long  0xf2240114                          // vorr          d0, d4, d4
7622  .long  0xf2262116                          // vorr          d2, d6, d6
7623  .long  0xf3400db1                          // vmul.f32      d16, d16, d17
7624  .long  0xf2611d05                          // vsub.f32      d17, d1, d5
7625  .long  0xf2251115                          // vorr          d1, d5, d5
7626  .long  0xf2273117                          // vorr          d3, d7, d7
7627  .long  0xf2020cb0                          // vfma.f32      d0, d18, d16
7628  .long  0xf2011cb0                          // vfma.f32      d1, d17, d16
7629  .long  0xf2032cb0                          // vfma.f32      d2, d19, d16
7630  .long  0xf2043cb0                          // vfma.f32      d3, d20, d16
7631  .long  0xe28dd008                          // add           sp, sp, #8
7632  .long  0xecbd8b04                          // vpop          {d8-d9}
7633  .long  0xe8bd4800                          // pop           {fp, lr}
7634  .long  0xe12fff1c                          // bx            ip
7635  .long  0xe5dcc000                          // ldrb          ip, [ip]
7636  .long  0xeddf8a03                          // vldr          s17, [pc, #12]
7637  .long  0xee08ca10                          // vmov          s16, ip
7638  .long  0xeaffffe2                          // b             1c0c <sk_lerp_u8_vfp4+0x3c>
7639  .long  0x3b808081                          // .word         0x3b808081
7640  .long  0x3b808081                          // .word         0x3b808081
7641  .long  0x00000000                          // .word         0x00000000
7642  .long  0xe320f000                          // .word         0xe320f000
7643
7644HIDDEN _sk_lerp_565_vfp4
7645.globl _sk_lerp_565_vfp4
7646FUNCTION(_sk_lerp_565_vfp4)
7647_sk_lerp_565_vfp4:
7648  .long  0xe92d4800                          // push          {fp, lr}
7649  .long  0xed2d8b04                          // vpush         {d8-d9}
7650  .long  0xe24dd008                          // sub           sp, sp, #8
7651  .long  0xe591c000                          // ldr           ip, [r1]
7652  .long  0xe59de020                          // ldr           lr, [sp, #32]
7653  .long  0xe59cc000                          // ldr           ip, [ip]
7654  .long  0xe35e0001                          // cmp           lr, #1
7655  .long  0xe08cc082                          // add           ip, ip, r2, lsl #1
7656  .long  0x0a00002e                          // beq           1d70 <sk_lerp_565_vfp4+0xe0>
7657  .long  0xe59cc000                          // ldr           ip, [ip]
7658  .long  0xe58dc004                          // str           ip, [sp, #4]
7659  .long  0xe28dc004                          // add           ip, sp, #4
7660  .long  0xf4ec083f                          // vld1.32       {d16[0]}, [ip :32]
7661  .long  0xf3908a30                          // vmovl.u16     q4, d16
7662  .long  0xf2c1001f                          // vmov.i32      d16, #31
7663  .long  0xe3a0ce7e                          // mov           ip, #2016
7664  .long  0xee82cb90                          // vdup.32       d18, ip
7665  .long  0xf3c71218                          // vmov.i32      d17, #63488
7666  .long  0xf2480130                          // vand          d16, d8, d16
7667  .long  0xeddf3b27                          // vldr          d19, [pc, #156]
7668  .long  0xf2482132                          // vand          d18, d8, d18
7669  .long  0xeddf4b27                          // vldr          d20, [pc, #156]
7670  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
7671  .long  0xe591e004                          // ldr           lr, [r1, #4]
7672  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
7673  .long  0xe281c008                          // add           ip, r1, #8
7674  .long  0xf2481131                          // vand          d17, d8, d17
7675  .long  0xf2635d07                          // vsub.f32      d21, d3, d7
7676  .long  0xe1a0100c                          // mov           r1, ip
7677  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
7678  .long  0xe1a0c00e                          // mov           ip, lr
7679  .long  0xf3400db3                          // vmul.f32      d16, d16, d19
7680  .long  0xeddf3b1e                          // vldr          d19, [pc, #120]
7681  .long  0xf3422db4                          // vmul.f32      d18, d18, d20
7682  .long  0xf2674117                          // vorr          d20, d7, d7
7683  .long  0xf3411db3                          // vmul.f32      d17, d17, d19
7684  .long  0xf2673117                          // vorr          d19, d7, d7
7685  .long  0xf2453cb0                          // vfma.f32      d19, d21, d16
7686  .long  0xf2454cb2                          // vfma.f32      d20, d21, d18
7687  .long  0xf2679117                          // vorr          d25, d7, d7
7688  .long  0xf2628d06                          // vsub.f32      d24, d2, d6
7689  .long  0xf2459cb1                          // vfma.f32      d25, d21, d17
7690  .long  0xf2262116                          // vorr          d2, d6, d6
7691  .long  0xf2606d04                          // vsub.f32      d22, d0, d4
7692  .long  0xf2617d05                          // vsub.f32      d23, d1, d5
7693  .long  0xf2082cb0                          // vfma.f32      d2, d24, d16
7694  .long  0xf2440fa3                          // vmax.f32      d16, d20, d19
7695  .long  0xf2240114                          // vorr          d0, d4, d4
7696  .long  0xf2251115                          // vorr          d1, d5, d5
7697  .long  0xf2060cb1                          // vfma.f32      d0, d22, d17
7698  .long  0xf2071cb2                          // vfma.f32      d1, d23, d18
7699  .long  0xf2093fa0                          // vmax.f32      d3, d25, d16
7700  .long  0xe28dd008                          // add           sp, sp, #8
7701  .long  0xecbd8b04                          // vpop          {d8-d9}
7702  .long  0xe8bd4800                          // pop           {fp, lr}
7703  .long  0xe12fff1c                          // bx            ip
7704  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
7705  .long  0xeddf8a07                          // vldr          s17, [pc, #28]
7706  .long  0xee08ca10                          // vmov          s16, ip
7707  .long  0xeaffffd1                          // b             1cc8 <sk_lerp_565_vfp4+0x38>
7708  .long  0x3d042108                          // .word         0x3d042108
7709  .long  0x3d042108                          // .word         0x3d042108
7710  .long  0x3a020821                          // .word         0x3a020821
7711  .long  0x3a020821                          // .word         0x3a020821
7712  .long  0x37842108                          // .word         0x37842108
7713  .long  0x37842108                          // .word         0x37842108
7714  .long  0x00000000                          // .word         0x00000000
7715  .long  0xe320f000                          // .word         0xe320f000
7716
7717HIDDEN _sk_load_tables_vfp4
7718.globl _sk_load_tables_vfp4
7719FUNCTION(_sk_load_tables_vfp4)
7720_sk_load_tables_vfp4:
7721  .long  0xe92d47f0                          // push          {r4, r5, r6, r7, r8, r9, sl, lr}
7722  .long  0xe591c000                          // ldr           ip, [r1]
7723  .long  0xe59d4020                          // ldr           r4, [sp, #32]
7724  .long  0xe59ce000                          // ldr           lr, [ip]
7725  .long  0xe3540001                          // cmp           r4, #1
7726  .long  0xe08ee102                          // add           lr, lr, r2, lsl #2
7727  .long  0x0a000023                          // beq           1e4c <sk_load_tables_vfp4+0xac>
7728  .long  0xed9e0b00                          // vldr          d0, [lr]
7729  .long  0xf3c7001f                          // vmov.i32      d16, #255
7730  .long  0xe59c7004                          // ldr           r7, [ip, #4]
7731  .long  0xf3f01010                          // vshr.u32      d17, d0, #16
7732  .long  0xe59c6008                          // ldr           r6, [ip, #8]
7733  .long  0xf3f82010                          // vshr.u32      d18, d0, #8
7734  .long  0xe59c400c                          // ldr           r4, [ip, #12]
7735  .long  0xf24111b0                          // vand          d17, d17, d16
7736  .long  0xf24221b0                          // vand          d18, d18, d16
7737  .long  0xf2400130                          // vand          d16, d0, d16
7738  .long  0xee319b90                          // vmov.32       r9, d17[1]
7739  .long  0xee32eb90                          // vmov.32       lr, d18[1]
7740  .long  0xee305b90                          // vmov.32       r5, d16[1]
7741  .long  0xee108b90                          // vmov.32       r8, d16[0]
7742  .long  0xf3e80010                          // vshr.u32      d16, d0, #24
7743  .long  0xee12cb90                          // vmov.32       ip, d18[0]
7744  .long  0xee11ab90                          // vmov.32       sl, d17[0]
7745  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
7746  .long  0xeddf1b13                          // vldr          d17, [pc, #76]
7747  .long  0xf3003db1                          // vmul.f32      d3, d16, d17
7748  .long  0xe0849109                          // add           r9, r4, r9, lsl #2
7749  .long  0xe086e10e                          // add           lr, r6, lr, lsl #2
7750  .long  0xe0875105                          // add           r5, r7, r5, lsl #2
7751  .long  0xedd92a00                          // vldr          s5, [r9]
7752  .long  0xedde1a00                          // vldr          s3, [lr]
7753  .long  0xedd50a00                          // vldr          s1, [r5]
7754  .long  0xe0875108                          // add           r5, r7, r8, lsl #2
7755  .long  0xe086710c                          // add           r7, r6, ip, lsl #2
7756  .long  0xe591c004                          // ldr           ip, [r1, #4]
7757  .long  0xed950a00                          // vldr          s0, [r5]
7758  .long  0xe2811008                          // add           r1, r1, #8
7759  .long  0xed971a00                          // vldr          s2, [r7]
7760  .long  0xe084710a                          // add           r7, r4, sl, lsl #2
7761  .long  0xed972a00                          // vldr          s4, [r7]
7762  .long  0xe8bd47f0                          // pop           {r4, r5, r6, r7, r8, r9, sl, lr}
7763  .long  0xe12fff1c                          // bx            ip
7764  .long  0xeddf0a03                          // vldr          s1, [pc, #12]
7765  .long  0xed9e0a00                          // vldr          s0, [lr]
7766  .long  0xeaffffd9                          // b             1dc0 <sk_load_tables_vfp4+0x20>
7767  .long  0x3b808081                          // .word         0x3b808081
7768  .long  0x3b808081                          // .word         0x3b808081
7769  .long  0x00000000                          // .word         0x00000000
7770  .long  0xe320f000                          // .word         0xe320f000
7771
7772HIDDEN _sk_load_tables_u16_be_vfp4
7773.globl _sk_load_tables_u16_be_vfp4
7774FUNCTION(_sk_load_tables_u16_be_vfp4)
7775_sk_load_tables_u16_be_vfp4:
7776  .long  0xe92d47f0                          // push          {r4, r5, r6, r7, r8, r9, sl, lr}
7777  .long  0xe591c000                          // ldr           ip, [r1]
7778  .long  0xe59d4020                          // ldr           r4, [sp, #32]
7779  .long  0xe59ce000                          // ldr           lr, [ip]
7780  .long  0xe3540000                          // cmp           r4, #0
7781  .long  0xe08ee182                          // add           lr, lr, r2, lsl #3
7782  .long  0xf4ee070f                          // vld4.16       {d16[0],d17[0],d18[0],d19[0]}, [lr]
7783  .long  0x1a000001                          // bne           1e90 <sk_load_tables_u16_be_vfp4+0x28>
7784  .long  0xe28e4008                          // add           r4, lr, #8
7785  .long  0xf4e4074f                          // vld4.16       {d16[1],d17[1],d18[1],d19[1]}, [r4]
7786  .long  0xee924bb0                          // vmov.u16      r4, d18[0]
7787  .long  0xf3c7701f                          // vmov.i32      d23, #255
7788  .long  0xee905bb0                          // vmov.u16      r5, d16[0]
7789  .long  0xee91ebb0                          // vmov.u16      lr, d17[0]
7790  .long  0xee926bf0                          // vmov.u16      r6, d18[1]
7791  .long  0xee908bf0                          // vmov.u16      r8, d16[1]
7792  .long  0xee917bf0                          // vmov.u16      r7, d17[1]
7793  .long  0xee044b90                          // vmov.32       d20[0], r4
7794  .long  0xe59c400c                          // ldr           r4, [ip, #12]
7795  .long  0xee065b90                          // vmov.32       d22[0], r5
7796  .long  0xee05eb90                          // vmov.32       d21[0], lr
7797  .long  0xee246b90                          // vmov.32       d20[1], r6
7798  .long  0xee936bb0                          // vmov.u16      r6, d19[0]
7799  .long  0xee268b90                          // vmov.32       d22[1], r8
7800  .long  0xee257b90                          // vmov.32       d21[1], r7
7801  .long  0xee937bf0                          // vmov.u16      r7, d19[1]
7802  .long  0xf24621b7                          // vand          d18, d22, d23
7803  .long  0xf24401b7                          // vand          d16, d20, d23
7804  .long  0xf24511b7                          // vand          d17, d21, d23
7805  .long  0xee32eb90                          // vmov.32       lr, d18[1]
7806  .long  0xee305b90                          // vmov.32       r5, d16[1]
7807  .long  0xee319b90                          // vmov.32       r9, d17[1]
7808  .long  0xee128b90                          // vmov.32       r8, d18[0]
7809  .long  0xf3c72c1f                          // vmov.i32      d18, #65535
7810  .long  0xee036b90                          // vmov.32       d19[0], r6
7811  .long  0xe59c6008                          // ldr           r6, [ip, #8]
7812  .long  0xee237b90                          // vmov.32       d19[1], r7
7813  .long  0xe59c7004                          // ldr           r7, [ip, #4]
7814  .long  0xee11cb90                          // vmov.32       ip, d17[0]
7815  .long  0xf24311b2                          // vand          d17, d19, d18
7816  .long  0xe084a105                          // add           sl, r4, r5, lsl #2
7817  .long  0xe087510e                          // add           r5, r7, lr, lsl #2
7818  .long  0xee10eb90                          // vmov.32       lr, d16[0]
7819  .long  0xf2e80533                          // vshl.s32      d16, d19, #8
7820  .long  0xf3f81031                          // vshr.u32      d17, d17, #8
7821  .long  0xe0869109                          // add           r9, r6, r9, lsl #2
7822  .long  0xedd50a00                          // vldr          s1, [r5]
7823  .long  0xe0875108                          // add           r5, r7, r8, lsl #2
7824  .long  0xf26001b1                          // vorr          d16, d16, d17
7825  .long  0xedd91a00                          // vldr          s3, [r9]
7826  .long  0xeddf1b0c                          // vldr          d17, [pc, #48]
7827  .long  0xf24001b2                          // vand          d16, d16, d18
7828  .long  0xedda2a00                          // vldr          s5, [sl]
7829  .long  0xed950a00                          // vldr          s0, [r5]
7830  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
7831  .long  0xf3003db1                          // vmul.f32      d3, d16, d17
7832  .long  0xe086710c                          // add           r7, r6, ip, lsl #2
7833  .long  0xe591c004                          // ldr           ip, [r1, #4]
7834  .long  0xe2811008                          // add           r1, r1, #8
7835  .long  0xed971a00                          // vldr          s2, [r7]
7836  .long  0xe084710e                          // add           r7, r4, lr, lsl #2
7837  .long  0xed972a00                          // vldr          s4, [r7]
7838  .long  0xe8bd47f0                          // pop           {r4, r5, r6, r7, r8, r9, sl, lr}
7839  .long  0xe12fff1c                          // bx            ip
7840  .long  0x37800080                          // .word         0x37800080
7841  .long  0x37800080                          // .word         0x37800080
7842
7843HIDDEN _sk_load_tables_rgb_u16_be_vfp4
7844.globl _sk_load_tables_rgb_u16_be_vfp4
7845FUNCTION(_sk_load_tables_rgb_u16_be_vfp4)
7846_sk_load_tables_rgb_u16_be_vfp4:
7847  .long  0xe92d47f0                          // push          {r4, r5, r6, r7, r8, r9, sl, lr}
7848  .long  0xe591c000                          // ldr           ip, [r1]
7849  .long  0xe0824082                          // add           r4, r2, r2, lsl #1
7850  .long  0xe59ce000                          // ldr           lr, [ip]
7851  .long  0xe08ee084                          // add           lr, lr, r4, lsl #1
7852  .long  0xe59d4020                          // ldr           r4, [sp, #32]
7853  .long  0xf4ee060f                          // vld3.16       {d16[0],d17[0],d18[0]}, [lr]
7854  .long  0xe3540000                          // cmp           r4, #0
7855  .long  0x1a000001                          // bne           1f9c <sk_load_tables_rgb_u16_be_vfp4+0x2c>
7856  .long  0xe28e4006                          // add           r4, lr, #6
7857  .long  0xf4e4064f                          // vld3.16       {d16[1],d17[1],d18[1]}, [r4]
7858  .long  0xee924bb0                          // vmov.u16      r4, d18[0]
7859  .long  0xf2873f10                          // vmov.f32      d3, #1
7860  .long  0xee905bb0                          // vmov.u16      r5, d16[0]
7861  .long  0xee908bf0                          // vmov.u16      r8, d16[1]
7862  .long  0xf3c7301f                          // vmov.i32      d19, #255
7863  .long  0xee926bf0                          // vmov.u16      r6, d18[1]
7864  .long  0xee91ebb0                          // vmov.u16      lr, d17[0]
7865  .long  0xee917bf0                          // vmov.u16      r7, d17[1]
7866  .long  0xee004b90                          // vmov.32       d16[0], r4
7867  .long  0xee025b90                          // vmov.32       d18[0], r5
7868  .long  0xee206b90                          // vmov.32       d16[1], r6
7869  .long  0xe99c0070                          // ldmib         ip, {r4, r5, r6}
7870  .long  0xee228b90                          // vmov.32       d18[1], r8
7871  .long  0xf24001b3                          // vand          d16, d16, d19
7872  .long  0xee01eb90                          // vmov.32       d17[0], lr
7873  .long  0xf24221b3                          // vand          d18, d18, d19
7874  .long  0xee217b90                          // vmov.32       d17[1], r7
7875  .long  0xee307b90                          // vmov.32       r7, d16[1]
7876  .long  0xf24111b3                          // vand          d17, d17, d19
7877  .long  0xee328b90                          // vmov.32       r8, d18[1]
7878  .long  0xee12eb90                          // vmov.32       lr, d18[0]
7879  .long  0xee319b90                          // vmov.32       r9, d17[1]
7880  .long  0xee11cb90                          // vmov.32       ip, d17[0]
7881  .long  0xe086a107                          // add           sl, r6, r7, lsl #2
7882  .long  0xe0847108                          // add           r7, r4, r8, lsl #2
7883  .long  0xee108b90                          // vmov.32       r8, d16[0]
7884  .long  0xedda2a00                          // vldr          s5, [sl]
7885  .long  0xe0859109                          // add           r9, r5, r9, lsl #2
7886  .long  0xedd70a00                          // vldr          s1, [r7]
7887  .long  0xe084710e                          // add           r7, r4, lr, lsl #2
7888  .long  0xedd91a00                          // vldr          s3, [r9]
7889  .long  0xed970a00                          // vldr          s0, [r7]
7890  .long  0xe085710c                          // add           r7, r5, ip, lsl #2
7891  .long  0xe591c004                          // ldr           ip, [r1, #4]
7892  .long  0xe2811008                          // add           r1, r1, #8
7893  .long  0xed971a00                          // vldr          s2, [r7]
7894  .long  0xe0867108                          // add           r7, r6, r8, lsl #2
7895  .long  0xed972a00                          // vldr          s4, [r7]
7896  .long  0xe8bd47f0                          // pop           {r4, r5, r6, r7, r8, r9, sl, lr}
7897  .long  0xe12fff1c                          // bx            ip
7898  .long  0xe320f000                          // nop           {0}
7899
7900HIDDEN _sk_byte_tables_vfp4
7901.globl _sk_byte_tables_vfp4
7902FUNCTION(_sk_byte_tables_vfp4)
7903_sk_byte_tables_vfp4:
7904  .long  0xe92d47f0                          // push          {r4, r5, r6, r7, r8, r9, sl, lr}
7905  .long  0xeddf0b37                          // vldr          d16, [pc, #220]
7906  .long  0xf2c3361f                          // vmov.i32      d19, #1056964608
7907  .long  0xf2413c30                          // vfma.f32      d19, d1, d16
7908  .long  0xe8911020                          // ldm           r1, {r5, ip}
7909  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
7910  .long  0xf2422c30                          // vfma.f32      d18, d2, d16
7911  .long  0xe2811008                          // add           r1, r1, #8
7912  .long  0xf2c3461f                          // vmov.i32      d20, #1056964608
7913  .long  0xe89504c0                          // ldm           r5, {r6, r7, sl}
7914  .long  0xf2404c30                          // vfma.f32      d20, d0, d16
7915  .long  0xe595900c                          // ldr           r9, [r5, #12]
7916  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
7917  .long  0xf2431c30                          // vfma.f32      d17, d3, d16
7918  .long  0xf3fb37a3                          // vcvt.u32.f32  d19, d19
7919  .long  0xf3fb27a2                          // vcvt.u32.f32  d18, d18
7920  .long  0xf3fb47a4                          // vcvt.u32.f32  d20, d20
7921  .long  0xee138b90                          // vmov.32       r8, d19[0]
7922  .long  0xf3fb07a1                          // vcvt.u32.f32  d16, d17
7923  .long  0xee12eb90                          // vmov.32       lr, d18[0]
7924  .long  0xee144b90                          // vmov.32       r4, d20[0]
7925  .long  0xe7d75008                          // ldrb          r5, [r7, r8]
7926  .long  0xe7dae00e                          // ldrb          lr, [sl, lr]
7927  .long  0xee055b90                          // vmov.32       d21[0], r5
7928  .long  0xe7d64004                          // ldrb          r4, [r6, r4]
7929  .long  0xee345b90                          // vmov.32       r5, d20[1]
7930  .long  0xee04eb90                          // vmov.32       d20[0], lr
7931  .long  0xee014b90                          // vmov.32       d17[0], r4
7932  .long  0xee104b90                          // vmov.32       r4, d16[0]
7933  .long  0xe7d6e005                          // ldrb          lr, [r6, r5]
7934  .long  0xee335b90                          // vmov.32       r5, d19[1]
7935  .long  0xee326b90                          // vmov.32       r6, d18[1]
7936  .long  0xf3c7201f                          // vmov.i32      d18, #255
7937  .long  0xee21eb90                          // vmov.32       d17[1], lr
7938  .long  0xe7d94004                          // ldrb          r4, [r9, r4]
7939  .long  0xf24111b2                          // vand          d17, d17, d18
7940  .long  0xf3fb16a1                          // vcvt.f32.u32  d17, d17
7941  .long  0xe7d75005                          // ldrb          r5, [r7, r5]
7942  .long  0xee307b90                          // vmov.32       r7, d16[1]
7943  .long  0xee004b90                          // vmov.32       d16[0], r4
7944  .long  0xee255b90                          // vmov.32       d21[1], r5
7945  .long  0xe7da5006                          // ldrb          r5, [sl, r6]
7946  .long  0xf24531b2                          // vand          d19, d21, d18
7947  .long  0xee245b90                          // vmov.32       d20[1], r5
7948  .long  0xf24441b2                          // vand          d20, d20, d18
7949  .long  0xf3fb46a4                          // vcvt.f32.u32  d20, d20
7950  .long  0xe7d94007                          // ldrb          r4, [r9, r7]
7951  .long  0xee204b90                          // vmov.32       d16[1], r4
7952  .long  0xf24001b2                          // vand          d16, d16, d18
7953  .long  0xf3fb26a3                          // vcvt.f32.u32  d18, d19
7954  .long  0xeddf3b08                          // vldr          d19, [pc, #32]
7955  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
7956  .long  0xf3010db3                          // vmul.f32      d0, d17, d19
7957  .long  0xf3042db3                          // vmul.f32      d2, d20, d19
7958  .long  0xf3021db3                          // vmul.f32      d1, d18, d19
7959  .long  0xf3003db3                          // vmul.f32      d3, d16, d19
7960  .long  0xe8bd47f0                          // pop           {r4, r5, r6, r7, r8, r9, sl, lr}
7961  .long  0xe12fff1c                          // bx            ip
7962  .long  0x437f0000                          // .word         0x437f0000
7963  .long  0x437f0000                          // .word         0x437f0000
7964  .long  0x3b808081                          // .word         0x3b808081
7965  .long  0x3b808081                          // .word         0x3b808081
7966
7967HIDDEN _sk_byte_tables_rgb_vfp4
7968.globl _sk_byte_tables_rgb_vfp4
7969FUNCTION(_sk_byte_tables_rgb_vfp4)
7970_sk_byte_tables_rgb_vfp4:
7971  .long  0xe92d4bf0                          // push          {r4, r5, r6, r7, r8, r9, fp, lr}
7972  .long  0xe591e000                          // ldr           lr, [r1]
7973  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
7974  .long  0xe591c004                          // ldr           ip, [r1, #4]
7975  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
7976  .long  0xf3c7301f                          // vmov.i32      d19, #255
7977  .long  0xe2811008                          // add           r1, r1, #8
7978  .long  0xe89e0210                          // ldm           lr, {r4, r9}
7979  .long  0xe59e600c                          // ldr           r6, [lr, #12]
7980  .long  0xe59e8008                          // ldr           r8, [lr, #8]
7981  .long  0xe2466001                          // sub           r6, r6, #1
7982  .long  0xee806b90                          // vdup.32       d16, r6
7983  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
7984  .long  0xf2402c30                          // vfma.f32      d18, d0, d16
7985  .long  0xf2411c30                          // vfma.f32      d17, d1, d16
7986  .long  0xf3fb27a2                          // vcvt.u32.f32  d18, d18
7987  .long  0xf3fb17a1                          // vcvt.u32.f32  d17, d17
7988  .long  0xee126b90                          // vmov.32       r6, d18[0]
7989  .long  0xee327b90                          // vmov.32       r7, d18[1]
7990  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
7991  .long  0xf2422c30                          // vfma.f32      d18, d2, d16
7992  .long  0xf3fb07a2                          // vcvt.u32.f32  d16, d18
7993  .long  0xee105b90                          // vmov.32       r5, d16[0]
7994  .long  0xe7d46006                          // ldrb          r6, [r4, r6]
7995  .long  0xe7d4e007                          // ldrb          lr, [r4, r7]
7996  .long  0xee314b90                          // vmov.32       r4, d17[1]
7997  .long  0xee026b90                          // vmov.32       d18[0], r6
7998  .long  0xee116b90                          // vmov.32       r6, d17[0]
7999  .long  0xee307b90                          // vmov.32       r7, d16[1]
8000  .long  0xee22eb90                          // vmov.32       d18[1], lr
8001  .long  0xf24221b3                          // vand          d18, d18, d19
8002  .long  0xf3fb26a2                          // vcvt.f32.u32  d18, d18
8003  .long  0xe7d85005                          // ldrb          r5, [r8, r5]
8004  .long  0xee015b90                          // vmov.32       d17[0], r5
8005  .long  0xe7d94004                          // ldrb          r4, [r9, r4]
8006  .long  0xe7d96006                          // ldrb          r6, [r9, r6]
8007  .long  0xe7d85007                          // ldrb          r5, [r8, r7]
8008  .long  0xee006b90                          // vmov.32       d16[0], r6
8009  .long  0xee215b90                          // vmov.32       d17[1], r5
8010  .long  0xee204b90                          // vmov.32       d16[1], r4
8011  .long  0xf24111b3                          // vand          d17, d17, d19
8012  .long  0xf24001b3                          // vand          d16, d16, d19
8013  .long  0xeddf3b06                          // vldr          d19, [pc, #24]
8014  .long  0xf3fb16a1                          // vcvt.f32.u32  d17, d17
8015  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
8016  .long  0xf3020db3                          // vmul.f32      d0, d18, d19
8017  .long  0xf3012db3                          // vmul.f32      d2, d17, d19
8018  .long  0xf3001db3                          // vmul.f32      d1, d16, d19
8019  .long  0xe8bd4bf0                          // pop           {r4, r5, r6, r7, r8, r9, fp, lr}
8020  .long  0xe12fff1c                          // bx            ip
8021  .long  0x3b808081                          // .word         0x3b808081
8022  .long  0x3b808081                          // .word         0x3b808081
8023
8024HIDDEN _sk_table_r_vfp4
8025.globl _sk_table_r_vfp4
8026FUNCTION(_sk_table_r_vfp4)
8027_sk_table_r_vfp4:
8028  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
8029  .long  0xe591e000                          // ldr           lr, [r1]
8030  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
8031  .long  0xe591c004                          // ldr           ip, [r1, #4]
8032  .long  0xe2811008                          // add           r1, r1, #8
8033  .long  0xe59e4004                          // ldr           r4, [lr, #4]
8034  .long  0xe59e5000                          // ldr           r5, [lr]
8035  .long  0xe2444001                          // sub           r4, r4, #1
8036  .long  0xee804b90                          // vdup.32       d16, r4
8037  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
8038  .long  0xf2401c30                          // vfma.f32      d17, d0, d16
8039  .long  0xf3fb07a1                          // vcvt.u32.f32  d16, d17
8040  .long  0xee304b90                          // vmov.32       r4, d16[1]
8041  .long  0xee10eb90                          // vmov.32       lr, d16[0]
8042  .long  0xe0854104                          // add           r4, r5, r4, lsl #2
8043  .long  0xe085510e                          // add           r5, r5, lr, lsl #2
8044  .long  0xedd40a00                          // vldr          s1, [r4]
8045  .long  0xed950a00                          // vldr          s0, [r5]
8046  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
8047  .long  0xe12fff1c                          // bx            ip
8048
8049HIDDEN _sk_table_g_vfp4
8050.globl _sk_table_g_vfp4
8051FUNCTION(_sk_table_g_vfp4)
8052_sk_table_g_vfp4:
8053  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
8054  .long  0xe591e000                          // ldr           lr, [r1]
8055  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
8056  .long  0xe591c004                          // ldr           ip, [r1, #4]
8057  .long  0xe2811008                          // add           r1, r1, #8
8058  .long  0xe59e4004                          // ldr           r4, [lr, #4]
8059  .long  0xe59e5000                          // ldr           r5, [lr]
8060  .long  0xe2444001                          // sub           r4, r4, #1
8061  .long  0xee804b90                          // vdup.32       d16, r4
8062  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
8063  .long  0xf2411c30                          // vfma.f32      d17, d1, d16
8064  .long  0xf3fb07a1                          // vcvt.u32.f32  d16, d17
8065  .long  0xee304b90                          // vmov.32       r4, d16[1]
8066  .long  0xee10eb90                          // vmov.32       lr, d16[0]
8067  .long  0xe0854104                          // add           r4, r5, r4, lsl #2
8068  .long  0xe085510e                          // add           r5, r5, lr, lsl #2
8069  .long  0xedd41a00                          // vldr          s3, [r4]
8070  .long  0xed951a00                          // vldr          s2, [r5]
8071  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
8072  .long  0xe12fff1c                          // bx            ip
8073
8074HIDDEN _sk_table_b_vfp4
8075.globl _sk_table_b_vfp4
8076FUNCTION(_sk_table_b_vfp4)
8077_sk_table_b_vfp4:
8078  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
8079  .long  0xe591e000                          // ldr           lr, [r1]
8080  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
8081  .long  0xe591c004                          // ldr           ip, [r1, #4]
8082  .long  0xe2811008                          // add           r1, r1, #8
8083  .long  0xe59e4004                          // ldr           r4, [lr, #4]
8084  .long  0xe59e5000                          // ldr           r5, [lr]
8085  .long  0xe2444001                          // sub           r4, r4, #1
8086  .long  0xee804b90                          // vdup.32       d16, r4
8087  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
8088  .long  0xf2421c30                          // vfma.f32      d17, d2, d16
8089  .long  0xf3fb07a1                          // vcvt.u32.f32  d16, d17
8090  .long  0xee304b90                          // vmov.32       r4, d16[1]
8091  .long  0xee10eb90                          // vmov.32       lr, d16[0]
8092  .long  0xe0854104                          // add           r4, r5, r4, lsl #2
8093  .long  0xe085510e                          // add           r5, r5, lr, lsl #2
8094  .long  0xedd42a00                          // vldr          s5, [r4]
8095  .long  0xed952a00                          // vldr          s4, [r5]
8096  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
8097  .long  0xe12fff1c                          // bx            ip
8098
8099HIDDEN _sk_table_a_vfp4
8100.globl _sk_table_a_vfp4
8101FUNCTION(_sk_table_a_vfp4)
8102_sk_table_a_vfp4:
8103  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
8104  .long  0xe591e000                          // ldr           lr, [r1]
8105  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
8106  .long  0xe591c004                          // ldr           ip, [r1, #4]
8107  .long  0xe2811008                          // add           r1, r1, #8
8108  .long  0xe59e4004                          // ldr           r4, [lr, #4]
8109  .long  0xe59e5000                          // ldr           r5, [lr]
8110  .long  0xe2444001                          // sub           r4, r4, #1
8111  .long  0xee804b90                          // vdup.32       d16, r4
8112  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
8113  .long  0xf2431c30                          // vfma.f32      d17, d3, d16
8114  .long  0xf3fb07a1                          // vcvt.u32.f32  d16, d17
8115  .long  0xee304b90                          // vmov.32       r4, d16[1]
8116  .long  0xee10eb90                          // vmov.32       lr, d16[0]
8117  .long  0xe0854104                          // add           r4, r5, r4, lsl #2
8118  .long  0xe085510e                          // add           r5, r5, lr, lsl #2
8119  .long  0xedd43a00                          // vldr          s7, [r4]
8120  .long  0xed953a00                          // vldr          s6, [r5]
8121  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
8122  .long  0xe12fff1c                          // bx            ip
8123
8124HIDDEN _sk_parametric_r_vfp4
8125.globl _sk_parametric_r_vfp4
8126FUNCTION(_sk_parametric_r_vfp4)
8127_sk_parametric_r_vfp4:
8128  .long  0xe92d4010                          // push          {r4, lr}
8129  .long  0xed2d8b06                          // vpush         {d8-d10}
8130  .long  0xe591e000                          // ldr           lr, [r1]
8131  .long  0xeddf3b41                          // vldr          d19, [pc, #260]
8132  .long  0xed9f8a4e                          // vldr          s16, [pc, #312]
8133  .long  0xe1a0400e                          // mov           r4, lr
8134  .long  0xeddf4b42                          // vldr          d20, [pc, #264]
8135  .long  0xf4e40c9d                          // vld1.32       {d16[]}, [r4 :32]!
8136  .long  0xe591c004                          // ldr           ip, [r1, #4]
8137  .long  0xe2811008                          // add           r1, r1, #8
8138  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
8139  .long  0xe28e4008                          // add           r4, lr, #8
8140  .long  0xf4e42c9f                          // vld1.32       {d18[]}, [r4 :32]
8141  .long  0xe28e400c                          // add           r4, lr, #12
8142  .long  0xf2412c90                          // vfma.f32      d18, d17, d0
8143  .long  0xf2c71d1f                          // vmov.i32      d17, #8388607
8144  .long  0xf24211b1                          // vand          d17, d18, d17
8145  .long  0xf2c3171f                          // vorr.i32      d17, #1056964608
8146  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
8147  .long  0xf2019da3                          // vadd.f32      d9, d17, d19
8148  .long  0xf2c33614                          // vmov.i32      d19, #872415232
8149  .long  0xf3422db3                          // vmul.f32      d18, d18, d19
8150  .long  0xeddf3b30                          // vldr          d19, [pc, #192]
8151  .long  0xeec8aa29                          // vdiv.f32      s21, s16, s19
8152  .long  0xee88aa09                          // vdiv.f32      s20, s16, s18
8153  .long  0xf3411db3                          // vmul.f32      d17, d17, d19
8154  .long  0xed9f8a39                          // vldr          s16, [pc, #228]
8155  .long  0xf2422da4                          // vadd.f32      d18, d18, d20
8156  .long  0xeddf4b2e                          // vldr          d20, [pc, #184]
8157  .long  0xf2c03010                          // vmov.i32      d19, #0
8158  .long  0xf2621da1                          // vsub.f32      d17, d18, d17
8159  .long  0xf2611d8a                          // vsub.f32      d17, d17, d10
8160  .long  0xf3400db1                          // vmul.f32      d16, d16, d17
8161  .long  0xf3fb1720                          // vcvt.s32.f32  d17, d16
8162  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
8163  .long  0xf3612ea0                          // vcgt.f32      d18, d17, d16
8164  .long  0xf35421b3                          // vbsl          d18, d20, d19
8165  .long  0xeddf4b2b                          // vldr          d20, [pc, #172]
8166  .long  0xf2611da2                          // vsub.f32      d17, d17, d18
8167  .long  0xeddf2b25                          // vldr          d18, [pc, #148]
8168  .long  0xf2601da1                          // vsub.f32      d17, d16, d17
8169  .long  0xf2400da4                          // vadd.f32      d16, d16, d20
8170  .long  0xf2229da1                          // vsub.f32      d9, d18, d17
8171  .long  0xeddf2b23                          // vldr          d18, [pc, #140]
8172  .long  0xf3411db2                          // vmul.f32      d17, d17, d18
8173  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
8174  .long  0xeec8aa29                          // vdiv.f32      s21, s16, s19
8175  .long  0xee88aa09                          // vdiv.f32      s20, s16, s18
8176  .long  0xf2600da1                          // vsub.f32      d16, d16, d17
8177  .long  0xf2c4161b                          // vmov.i32      d17, #1258291200
8178  .long  0xf2400d8a                          // vadd.f32      d16, d16, d10
8179  .long  0xf2402cb1                          // vfma.f32      d18, d16, d17
8180  .long  0xf4e40c9f                          // vld1.32       {d16[]}, [r4 :32]
8181  .long  0xe28e4018                          // add           r4, lr, #24
8182  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
8183  .long  0xe28e4010                          // add           r4, lr, #16
8184  .long  0xf2401c90                          // vfma.f32      d17, d16, d0
8185  .long  0xf4e40c9f                          // vld1.32       {d16[]}, [r4 :32]
8186  .long  0xe28e4014                          // add           r4, lr, #20
8187  .long  0xf3400e80                          // vcge.f32      d16, d16, d0
8188  .long  0xf4e44c9f                          // vld1.32       {d20[]}, [r4 :32]
8189  .long  0xf3fb27a2                          // vcvt.u32.f32  d18, d18
8190  .long  0xf2442da2                          // vadd.f32      d18, d20, d18
8191  .long  0xf35101b2                          // vbsl          d16, d17, d18
8192  .long  0xf2c71f10                          // vmov.f32      d17, #1
8193  .long  0xf2400fa3                          // vmax.f32      d16, d16, d19
8194  .long  0xf2200fa1                          // vmin.f32      d0, d16, d17
8195  .long  0xecbd8b06                          // vpop          {d8-d10}
8196  .long  0xe8bd4010                          // pop           {r4, lr}
8197  .long  0xe12fff1c                          // bx            ip
8198  .long  0x3eb444f9                          // .word         0x3eb444f9
8199  .long  0x3eb444f9                          // .word         0x3eb444f9
8200  .long  0x3fbfbf75                          // .word         0x3fbfbf75
8201  .long  0x3fbfbf75                          // .word         0x3fbfbf75
8202  .long  0xc2f87377                          // .word         0xc2f87377
8203  .long  0xc2f87377                          // .word         0xc2f87377
8204  .long  0x3f800000                          // .word         0x3f800000
8205  .long  0x3f800000                          // .word         0x3f800000
8206  .long  0x409af5f8                          // .word         0x409af5f8
8207  .long  0x409af5f8                          // .word         0x409af5f8
8208  .long  0x3fbebc8d                          // .word         0x3fbebc8d
8209  .long  0x3fbebc8d                          // .word         0x3fbebc8d
8210  .long  0x42f28c51                          // .word         0x42f28c51
8211  .long  0x42f28c51                          // .word         0x42f28c51
8212  .long  0x3fdce9a3                          // .word         0x3fdce9a3
8213  .long  0x41ddd2fe                          // .word         0x41ddd2fe
8214
8215HIDDEN _sk_parametric_g_vfp4
8216.globl _sk_parametric_g_vfp4
8217FUNCTION(_sk_parametric_g_vfp4)
8218_sk_parametric_g_vfp4:
8219  .long  0xe92d4010                          // push          {r4, lr}
8220  .long  0xed2d8b06                          // vpush         {d8-d10}
8221  .long  0xe591e000                          // ldr           lr, [r1]
8222  .long  0xeddf3b41                          // vldr          d19, [pc, #260]
8223  .long  0xed9f8a4e                          // vldr          s16, [pc, #312]
8224  .long  0xe1a0400e                          // mov           r4, lr
8225  .long  0xeddf4b42                          // vldr          d20, [pc, #264]
8226  .long  0xf4e40c9d                          // vld1.32       {d16[]}, [r4 :32]!
8227  .long  0xe591c004                          // ldr           ip, [r1, #4]
8228  .long  0xe2811008                          // add           r1, r1, #8
8229  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
8230  .long  0xe28e4008                          // add           r4, lr, #8
8231  .long  0xf4e42c9f                          // vld1.32       {d18[]}, [r4 :32]
8232  .long  0xe28e400c                          // add           r4, lr, #12
8233  .long  0xf2412c91                          // vfma.f32      d18, d17, d1
8234  .long  0xf2c71d1f                          // vmov.i32      d17, #8388607
8235  .long  0xf24211b1                          // vand          d17, d18, d17
8236  .long  0xf2c3171f                          // vorr.i32      d17, #1056964608
8237  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
8238  .long  0xf2019da3                          // vadd.f32      d9, d17, d19
8239  .long  0xf2c33614                          // vmov.i32      d19, #872415232
8240  .long  0xf3422db3                          // vmul.f32      d18, d18, d19
8241  .long  0xeddf3b30                          // vldr          d19, [pc, #192]
8242  .long  0xeec8aa29                          // vdiv.f32      s21, s16, s19
8243  .long  0xee88aa09                          // vdiv.f32      s20, s16, s18
8244  .long  0xf3411db3                          // vmul.f32      d17, d17, d19
8245  .long  0xed9f8a39                          // vldr          s16, [pc, #228]
8246  .long  0xf2422da4                          // vadd.f32      d18, d18, d20
8247  .long  0xeddf4b2e                          // vldr          d20, [pc, #184]
8248  .long  0xf2c03010                          // vmov.i32      d19, #0
8249  .long  0xf2621da1                          // vsub.f32      d17, d18, d17
8250  .long  0xf2611d8a                          // vsub.f32      d17, d17, d10
8251  .long  0xf3400db1                          // vmul.f32      d16, d16, d17
8252  .long  0xf3fb1720                          // vcvt.s32.f32  d17, d16
8253  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
8254  .long  0xf3612ea0                          // vcgt.f32      d18, d17, d16
8255  .long  0xf35421b3                          // vbsl          d18, d20, d19
8256  .long  0xeddf4b2b                          // vldr          d20, [pc, #172]
8257  .long  0xf2611da2                          // vsub.f32      d17, d17, d18
8258  .long  0xeddf2b25                          // vldr          d18, [pc, #148]
8259  .long  0xf2601da1                          // vsub.f32      d17, d16, d17
8260  .long  0xf2400da4                          // vadd.f32      d16, d16, d20
8261  .long  0xf2229da1                          // vsub.f32      d9, d18, d17
8262  .long  0xeddf2b23                          // vldr          d18, [pc, #140]
8263  .long  0xf3411db2                          // vmul.f32      d17, d17, d18
8264  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
8265  .long  0xeec8aa29                          // vdiv.f32      s21, s16, s19
8266  .long  0xee88aa09                          // vdiv.f32      s20, s16, s18
8267  .long  0xf2600da1                          // vsub.f32      d16, d16, d17
8268  .long  0xf2c4161b                          // vmov.i32      d17, #1258291200
8269  .long  0xf2400d8a                          // vadd.f32      d16, d16, d10
8270  .long  0xf2402cb1                          // vfma.f32      d18, d16, d17
8271  .long  0xf4e40c9f                          // vld1.32       {d16[]}, [r4 :32]
8272  .long  0xe28e4018                          // add           r4, lr, #24
8273  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
8274  .long  0xe28e4010                          // add           r4, lr, #16
8275  .long  0xf2401c91                          // vfma.f32      d17, d16, d1
8276  .long  0xf4e40c9f                          // vld1.32       {d16[]}, [r4 :32]
8277  .long  0xe28e4014                          // add           r4, lr, #20
8278  .long  0xf3400e81                          // vcge.f32      d16, d16, d1
8279  .long  0xf4e44c9f                          // vld1.32       {d20[]}, [r4 :32]
8280  .long  0xf3fb27a2                          // vcvt.u32.f32  d18, d18
8281  .long  0xf2442da2                          // vadd.f32      d18, d20, d18
8282  .long  0xf35101b2                          // vbsl          d16, d17, d18
8283  .long  0xf2c71f10                          // vmov.f32      d17, #1
8284  .long  0xf2400fa3                          // vmax.f32      d16, d16, d19
8285  .long  0xf2201fa1                          // vmin.f32      d1, d16, d17
8286  .long  0xecbd8b06                          // vpop          {d8-d10}
8287  .long  0xe8bd4010                          // pop           {r4, lr}
8288  .long  0xe12fff1c                          // bx            ip
8289  .long  0x3eb444f9                          // .word         0x3eb444f9
8290  .long  0x3eb444f9                          // .word         0x3eb444f9
8291  .long  0x3fbfbf75                          // .word         0x3fbfbf75
8292  .long  0x3fbfbf75                          // .word         0x3fbfbf75
8293  .long  0xc2f87377                          // .word         0xc2f87377
8294  .long  0xc2f87377                          // .word         0xc2f87377
8295  .long  0x3f800000                          // .word         0x3f800000
8296  .long  0x3f800000                          // .word         0x3f800000
8297  .long  0x409af5f8                          // .word         0x409af5f8
8298  .long  0x409af5f8                          // .word         0x409af5f8
8299  .long  0x3fbebc8d                          // .word         0x3fbebc8d
8300  .long  0x3fbebc8d                          // .word         0x3fbebc8d
8301  .long  0x42f28c51                          // .word         0x42f28c51
8302  .long  0x42f28c51                          // .word         0x42f28c51
8303  .long  0x3fdce9a3                          // .word         0x3fdce9a3
8304  .long  0x41ddd2fe                          // .word         0x41ddd2fe
8305
8306HIDDEN _sk_parametric_b_vfp4
8307.globl _sk_parametric_b_vfp4
8308FUNCTION(_sk_parametric_b_vfp4)
8309_sk_parametric_b_vfp4:
8310  .long  0xe92d4010                          // push          {r4, lr}
8311  .long  0xed2d8b06                          // vpush         {d8-d10}
8312  .long  0xe591e000                          // ldr           lr, [r1]
8313  .long  0xeddf3b41                          // vldr          d19, [pc, #260]
8314  .long  0xed9f8a4e                          // vldr          s16, [pc, #312]
8315  .long  0xe1a0400e                          // mov           r4, lr
8316  .long  0xeddf4b42                          // vldr          d20, [pc, #264]
8317  .long  0xf4e40c9d                          // vld1.32       {d16[]}, [r4 :32]!
8318  .long  0xe591c004                          // ldr           ip, [r1, #4]
8319  .long  0xe2811008                          // add           r1, r1, #8
8320  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
8321  .long  0xe28e4008                          // add           r4, lr, #8
8322  .long  0xf4e42c9f                          // vld1.32       {d18[]}, [r4 :32]
8323  .long  0xe28e400c                          // add           r4, lr, #12
8324  .long  0xf2412c92                          // vfma.f32      d18, d17, d2
8325  .long  0xf2c71d1f                          // vmov.i32      d17, #8388607
8326  .long  0xf24211b1                          // vand          d17, d18, d17
8327  .long  0xf2c3171f                          // vorr.i32      d17, #1056964608
8328  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
8329  .long  0xf2019da3                          // vadd.f32      d9, d17, d19
8330  .long  0xf2c33614                          // vmov.i32      d19, #872415232
8331  .long  0xf3422db3                          // vmul.f32      d18, d18, d19
8332  .long  0xeddf3b30                          // vldr          d19, [pc, #192]
8333  .long  0xeec8aa29                          // vdiv.f32      s21, s16, s19
8334  .long  0xee88aa09                          // vdiv.f32      s20, s16, s18
8335  .long  0xf3411db3                          // vmul.f32      d17, d17, d19
8336  .long  0xed9f8a39                          // vldr          s16, [pc, #228]
8337  .long  0xf2422da4                          // vadd.f32      d18, d18, d20
8338  .long  0xeddf4b2e                          // vldr          d20, [pc, #184]
8339  .long  0xf2c03010                          // vmov.i32      d19, #0
8340  .long  0xf2621da1                          // vsub.f32      d17, d18, d17
8341  .long  0xf2611d8a                          // vsub.f32      d17, d17, d10
8342  .long  0xf3400db1                          // vmul.f32      d16, d16, d17
8343  .long  0xf3fb1720                          // vcvt.s32.f32  d17, d16
8344  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
8345  .long  0xf3612ea0                          // vcgt.f32      d18, d17, d16
8346  .long  0xf35421b3                          // vbsl          d18, d20, d19
8347  .long  0xeddf4b2b                          // vldr          d20, [pc, #172]
8348  .long  0xf2611da2                          // vsub.f32      d17, d17, d18
8349  .long  0xeddf2b25                          // vldr          d18, [pc, #148]
8350  .long  0xf2601da1                          // vsub.f32      d17, d16, d17
8351  .long  0xf2400da4                          // vadd.f32      d16, d16, d20
8352  .long  0xf2229da1                          // vsub.f32      d9, d18, d17
8353  .long  0xeddf2b23                          // vldr          d18, [pc, #140]
8354  .long  0xf3411db2                          // vmul.f32      d17, d17, d18
8355  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
8356  .long  0xeec8aa29                          // vdiv.f32      s21, s16, s19
8357  .long  0xee88aa09                          // vdiv.f32      s20, s16, s18
8358  .long  0xf2600da1                          // vsub.f32      d16, d16, d17
8359  .long  0xf2c4161b                          // vmov.i32      d17, #1258291200
8360  .long  0xf2400d8a                          // vadd.f32      d16, d16, d10
8361  .long  0xf2402cb1                          // vfma.f32      d18, d16, d17
8362  .long  0xf4e40c9f                          // vld1.32       {d16[]}, [r4 :32]
8363  .long  0xe28e4018                          // add           r4, lr, #24
8364  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
8365  .long  0xe28e4010                          // add           r4, lr, #16
8366  .long  0xf2401c92                          // vfma.f32      d17, d16, d2
8367  .long  0xf4e40c9f                          // vld1.32       {d16[]}, [r4 :32]
8368  .long  0xe28e4014                          // add           r4, lr, #20
8369  .long  0xf3400e82                          // vcge.f32      d16, d16, d2
8370  .long  0xf4e44c9f                          // vld1.32       {d20[]}, [r4 :32]
8371  .long  0xf3fb27a2                          // vcvt.u32.f32  d18, d18
8372  .long  0xf2442da2                          // vadd.f32      d18, d20, d18
8373  .long  0xf35101b2                          // vbsl          d16, d17, d18
8374  .long  0xf2c71f10                          // vmov.f32      d17, #1
8375  .long  0xf2400fa3                          // vmax.f32      d16, d16, d19
8376  .long  0xf2202fa1                          // vmin.f32      d2, d16, d17
8377  .long  0xecbd8b06                          // vpop          {d8-d10}
8378  .long  0xe8bd4010                          // pop           {r4, lr}
8379  .long  0xe12fff1c                          // bx            ip
8380  .long  0x3eb444f9                          // .word         0x3eb444f9
8381  .long  0x3eb444f9                          // .word         0x3eb444f9
8382  .long  0x3fbfbf75                          // .word         0x3fbfbf75
8383  .long  0x3fbfbf75                          // .word         0x3fbfbf75
8384  .long  0xc2f87377                          // .word         0xc2f87377
8385  .long  0xc2f87377                          // .word         0xc2f87377
8386  .long  0x3f800000                          // .word         0x3f800000
8387  .long  0x3f800000                          // .word         0x3f800000
8388  .long  0x409af5f8                          // .word         0x409af5f8
8389  .long  0x409af5f8                          // .word         0x409af5f8
8390  .long  0x3fbebc8d                          // .word         0x3fbebc8d
8391  .long  0x3fbebc8d                          // .word         0x3fbebc8d
8392  .long  0x42f28c51                          // .word         0x42f28c51
8393  .long  0x42f28c51                          // .word         0x42f28c51
8394  .long  0x3fdce9a3                          // .word         0x3fdce9a3
8395  .long  0x41ddd2fe                          // .word         0x41ddd2fe
8396
8397HIDDEN _sk_parametric_a_vfp4
8398.globl _sk_parametric_a_vfp4
8399FUNCTION(_sk_parametric_a_vfp4)
8400_sk_parametric_a_vfp4:
8401  .long  0xe92d4010                          // push          {r4, lr}
8402  .long  0xed2d8b06                          // vpush         {d8-d10}
8403  .long  0xe591e000                          // ldr           lr, [r1]
8404  .long  0xeddf3b41                          // vldr          d19, [pc, #260]
8405  .long  0xed9f8a4e                          // vldr          s16, [pc, #312]
8406  .long  0xe1a0400e                          // mov           r4, lr
8407  .long  0xeddf4b42                          // vldr          d20, [pc, #264]
8408  .long  0xf4e40c9d                          // vld1.32       {d16[]}, [r4 :32]!
8409  .long  0xe591c004                          // ldr           ip, [r1, #4]
8410  .long  0xe2811008                          // add           r1, r1, #8
8411  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
8412  .long  0xe28e4008                          // add           r4, lr, #8
8413  .long  0xf4e42c9f                          // vld1.32       {d18[]}, [r4 :32]
8414  .long  0xe28e400c                          // add           r4, lr, #12
8415  .long  0xf2412c93                          // vfma.f32      d18, d17, d3
8416  .long  0xf2c71d1f                          // vmov.i32      d17, #8388607
8417  .long  0xf24211b1                          // vand          d17, d18, d17
8418  .long  0xf2c3171f                          // vorr.i32      d17, #1056964608
8419  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
8420  .long  0xf2019da3                          // vadd.f32      d9, d17, d19
8421  .long  0xf2c33614                          // vmov.i32      d19, #872415232
8422  .long  0xf3422db3                          // vmul.f32      d18, d18, d19
8423  .long  0xeddf3b30                          // vldr          d19, [pc, #192]
8424  .long  0xeec8aa29                          // vdiv.f32      s21, s16, s19
8425  .long  0xee88aa09                          // vdiv.f32      s20, s16, s18
8426  .long  0xf3411db3                          // vmul.f32      d17, d17, d19
8427  .long  0xed9f8a39                          // vldr          s16, [pc, #228]
8428  .long  0xf2422da4                          // vadd.f32      d18, d18, d20
8429  .long  0xeddf4b2e                          // vldr          d20, [pc, #184]
8430  .long  0xf2c03010                          // vmov.i32      d19, #0
8431  .long  0xf2621da1                          // vsub.f32      d17, d18, d17
8432  .long  0xf2611d8a                          // vsub.f32      d17, d17, d10
8433  .long  0xf3400db1                          // vmul.f32      d16, d16, d17
8434  .long  0xf3fb1720                          // vcvt.s32.f32  d17, d16
8435  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
8436  .long  0xf3612ea0                          // vcgt.f32      d18, d17, d16
8437  .long  0xf35421b3                          // vbsl          d18, d20, d19
8438  .long  0xeddf4b2b                          // vldr          d20, [pc, #172]
8439  .long  0xf2611da2                          // vsub.f32      d17, d17, d18
8440  .long  0xeddf2b25                          // vldr          d18, [pc, #148]
8441  .long  0xf2601da1                          // vsub.f32      d17, d16, d17
8442  .long  0xf2400da4                          // vadd.f32      d16, d16, d20
8443  .long  0xf2229da1                          // vsub.f32      d9, d18, d17
8444  .long  0xeddf2b23                          // vldr          d18, [pc, #140]
8445  .long  0xf3411db2                          // vmul.f32      d17, d17, d18
8446  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
8447  .long  0xeec8aa29                          // vdiv.f32      s21, s16, s19
8448  .long  0xee88aa09                          // vdiv.f32      s20, s16, s18
8449  .long  0xf2600da1                          // vsub.f32      d16, d16, d17
8450  .long  0xf2c4161b                          // vmov.i32      d17, #1258291200
8451  .long  0xf2400d8a                          // vadd.f32      d16, d16, d10
8452  .long  0xf2402cb1                          // vfma.f32      d18, d16, d17
8453  .long  0xf4e40c9f                          // vld1.32       {d16[]}, [r4 :32]
8454  .long  0xe28e4018                          // add           r4, lr, #24
8455  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
8456  .long  0xe28e4010                          // add           r4, lr, #16
8457  .long  0xf2401c93                          // vfma.f32      d17, d16, d3
8458  .long  0xf4e40c9f                          // vld1.32       {d16[]}, [r4 :32]
8459  .long  0xe28e4014                          // add           r4, lr, #20
8460  .long  0xf3400e83                          // vcge.f32      d16, d16, d3
8461  .long  0xf4e44c9f                          // vld1.32       {d20[]}, [r4 :32]
8462  .long  0xf3fb27a2                          // vcvt.u32.f32  d18, d18
8463  .long  0xf2442da2                          // vadd.f32      d18, d20, d18
8464  .long  0xf35101b2                          // vbsl          d16, d17, d18
8465  .long  0xf2c71f10                          // vmov.f32      d17, #1
8466  .long  0xf2400fa3                          // vmax.f32      d16, d16, d19
8467  .long  0xf2203fa1                          // vmin.f32      d3, d16, d17
8468  .long  0xecbd8b06                          // vpop          {d8-d10}
8469  .long  0xe8bd4010                          // pop           {r4, lr}
8470  .long  0xe12fff1c                          // bx            ip
8471  .long  0x3eb444f9                          // .word         0x3eb444f9
8472  .long  0x3eb444f9                          // .word         0x3eb444f9
8473  .long  0x3fbfbf75                          // .word         0x3fbfbf75
8474  .long  0x3fbfbf75                          // .word         0x3fbfbf75
8475  .long  0xc2f87377                          // .word         0xc2f87377
8476  .long  0xc2f87377                          // .word         0xc2f87377
8477  .long  0x3f800000                          // .word         0x3f800000
8478  .long  0x3f800000                          // .word         0x3f800000
8479  .long  0x409af5f8                          // .word         0x409af5f8
8480  .long  0x409af5f8                          // .word         0x409af5f8
8481  .long  0x3fbebc8d                          // .word         0x3fbebc8d
8482  .long  0x3fbebc8d                          // .word         0x3fbebc8d
8483  .long  0x42f28c51                          // .word         0x42f28c51
8484  .long  0x42f28c51                          // .word         0x42f28c51
8485  .long  0x3fdce9a3                          // .word         0x3fdce9a3
8486  .long  0x41ddd2fe                          // .word         0x41ddd2fe
8487
8488HIDDEN _sk_lab_to_xyz_vfp4
8489.globl _sk_lab_to_xyz_vfp4
8490FUNCTION(_sk_lab_to_xyz_vfp4)
8491_sk_lab_to_xyz_vfp4:
8492  .long  0xeddf1b2e                          // vldr          d17, [pc, #184]
8493  .long  0xf3c43613                          // vmov.i32      d19, #-1023410176
8494  .long  0xeddf0b2a                          // vldr          d16, [pc, #168]
8495  .long  0xf2c34f10                          // vmov.f32      d20, #16
8496  .long  0xf3401d31                          // vmul.f32      d17, d0, d17
8497  .long  0xeddf5b2f                          // vldr          d21, [pc, #188]
8498  .long  0xf3412d30                          // vmul.f32      d18, d1, d16
8499  .long  0xeddf6b2f                          // vldr          d22, [pc, #188]
8500  .long  0xf3420d30                          // vmul.f32      d16, d2, d16
8501  .long  0xeddf7b2f                          // vldr          d23, [pc, #188]
8502  .long  0xeddf8b30                          // vldr          d24, [pc, #192]
8503  .long  0xf2411da4                          // vadd.f32      d17, d17, d20
8504  .long  0xeddf4b24                          // vldr          d20, [pc, #144]
8505  .long  0xf2422da3                          // vadd.f32      d18, d18, d19
8506  .long  0xe491c004                          // ldr           ip, [r1], #4
8507  .long  0xf2400da3                          // vadd.f32      d16, d16, d19
8508  .long  0xeddf3b22                          // vldr          d19, [pc, #136]
8509  .long  0xf3411db3                          // vmul.f32      d17, d17, d19
8510  .long  0xf3422db4                          // vmul.f32      d18, d18, d20
8511  .long  0xf3400db5                          // vmul.f32      d16, d16, d21
8512  .long  0xf2412da2                          // vadd.f32      d18, d17, d18
8513  .long  0xf2610da0                          // vsub.f32      d16, d17, d16
8514  .long  0xf3415db1                          // vmul.f32      d21, d17, d17
8515  .long  0xf3423db2                          // vmul.f32      d19, d18, d18
8516  .long  0xf3404db0                          // vmul.f32      d20, d16, d16
8517  .long  0xf3415db5                          // vmul.f32      d21, d17, d21
8518  .long  0xf2411da6                          // vadd.f32      d17, d17, d22
8519  .long  0xf3423db3                          // vmul.f32      d19, d18, d19
8520  .long  0xf3404db4                          // vmul.f32      d20, d16, d20
8521  .long  0xf2400da6                          // vadd.f32      d16, d16, d22
8522  .long  0xf2422da6                          // vadd.f32      d18, d18, d22
8523  .long  0xeddf6b1d                          // vldr          d22, [pc, #116]
8524  .long  0xf3639ea7                          // vcgt.f32      d25, d19, d23
8525  .long  0xf364aea7                          // vcgt.f32      d26, d20, d23
8526  .long  0xf3400db8                          // vmul.f32      d16, d16, d24
8527  .long  0xf3422db8                          // vmul.f32      d18, d18, d24
8528  .long  0xf35391b2                          // vbsl          d25, d19, d18
8529  .long  0xeddf2b19                          // vldr          d18, [pc, #100]
8530  .long  0xf354a1b0                          // vbsl          d26, d20, d16
8531  .long  0xf3251ea7                          // vcgt.f32      d1, d21, d23
8532  .long  0xf3090db6                          // vmul.f32      d0, d25, d22
8533  .long  0xf30a2db2                          // vmul.f32      d2, d26, d18
8534  .long  0xf3410db8                          // vmul.f32      d16, d17, d24
8535  .long  0xf31511b0                          // vbsl          d1, d21, d16
8536  .long  0xe12fff1c                          // bx            ip
8537  .long  0xe320f000                          // nop           {0}
8538  .long  0x437f0000                          // .word         0x437f0000
8539  .long  0x437f0000                          // .word         0x437f0000
8540  .long  0x42c80000                          // .word         0x42c80000
8541  .long  0x42c80000                          // .word         0x42c80000
8542  .long  0x3b03126f                          // .word         0x3b03126f
8543  .long  0x3b03126f                          // .word         0x3b03126f
8544  .long  0x3c0d3dcb                          // .word         0x3c0d3dcb
8545  .long  0x3c0d3dcb                          // .word         0x3c0d3dcb
8546  .long  0x3ba3d70a                          // .word         0x3ba3d70a
8547  .long  0x3ba3d70a                          // .word         0x3ba3d70a
8548  .long  0xbe0d3dcb                          // .word         0xbe0d3dcb
8549  .long  0xbe0d3dcb                          // .word         0xbe0d3dcb
8550  .long  0x3c1118c2                          // .word         0x3c1118c2
8551  .long  0x3c1118c2                          // .word         0x3c1118c2
8552  .long  0x3e038050                          // .word         0x3e038050
8553  .long  0x3e038050                          // .word         0x3e038050
8554  .long  0x3f76d71f                          // .word         0x3f76d71f
8555  .long  0x3f76d71f                          // .word         0x3f76d71f
8556  .long  0x3f5340f6                          // .word         0x3f5340f6
8557  .long  0x3f5340f6                          // .word         0x3f5340f6
8558
8559HIDDEN _sk_load_a8_vfp4
8560.globl _sk_load_a8_vfp4
8561FUNCTION(_sk_load_a8_vfp4)
8562_sk_load_a8_vfp4:
8563  .long  0xe92d4800                          // push          {fp, lr}
8564  .long  0xe24dd004                          // sub           sp, sp, #4
8565  .long  0xe591c000                          // ldr           ip, [r1]
8566  .long  0xe59de00c                          // ldr           lr, [sp, #12]
8567  .long  0xe59cc000                          // ldr           ip, [ip]
8568  .long  0xe35e0001                          // cmp           lr, #1
8569  .long  0xe08cc002                          // add           ip, ip, r2
8570  .long  0x0a000012                          // beq           2a1c <sk_load_a8_vfp4+0x6c>
8571  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
8572  .long  0xe1cdc0b0                          // strh          ip, [sp]
8573  .long  0xe1a0c00d                          // mov           ip, sp
8574  .long  0xf4ec041f                          // vld1.16       {d16[0]}, [ip :16]
8575  .long  0xf3c80a30                          // vmovl.u8      q8, d16
8576  .long  0xf3900a30                          // vmovl.u16     q0, d16
8577  .long  0xf3c7001f                          // vmov.i32      d16, #255
8578  .long  0xeddf1b0f                          // vldr          d17, [pc, #60]
8579  .long  0xe591c004                          // ldr           ip, [r1, #4]
8580  .long  0xe2811008                          // add           r1, r1, #8
8581  .long  0xf2400130                          // vand          d16, d0, d16
8582  .long  0xf2800010                          // vmov.i32      d0, #0
8583  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
8584  .long  0xf2801010                          // vmov.i32      d1, #0
8585  .long  0xf2802010                          // vmov.i32      d2, #0
8586  .long  0xf3003db1                          // vmul.f32      d3, d16, d17
8587  .long  0xe28dd004                          // add           sp, sp, #4
8588  .long  0xe8bd4800                          // pop           {fp, lr}
8589  .long  0xe12fff1c                          // bx            ip
8590  .long  0xe5dcc000                          // ldrb          ip, [ip]
8591  .long  0xeddf0a04                          // vldr          s1, [pc, #16]
8592  .long  0xee00ca10                          // vmov          s0, ip
8593  .long  0xeaffffee                          // b             29e8 <sk_load_a8_vfp4+0x38>
8594  .long  0xe320f000                          // nop           {0}
8595  .long  0x3b808081                          // .word         0x3b808081
8596  .long  0x3b808081                          // .word         0x3b808081
8597  .long  0x00000000                          // .word         0x00000000
8598  .long  0xe320f000                          // .word         0xe320f000
8599
8600HIDDEN _sk_load_a8_dst_vfp4
8601.globl _sk_load_a8_dst_vfp4
8602FUNCTION(_sk_load_a8_dst_vfp4)
8603_sk_load_a8_dst_vfp4:
8604  .long  0xe92d4800                          // push          {fp, lr}
8605  .long  0xe24dd004                          // sub           sp, sp, #4
8606  .long  0xe591c000                          // ldr           ip, [r1]
8607  .long  0xe59de00c                          // ldr           lr, [sp, #12]
8608  .long  0xe59cc000                          // ldr           ip, [ip]
8609  .long  0xe35e0001                          // cmp           lr, #1
8610  .long  0xe08cc002                          // add           ip, ip, r2
8611  .long  0x0a000012                          // beq           2aac <sk_load_a8_dst_vfp4+0x6c>
8612  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
8613  .long  0xe1cdc0b0                          // strh          ip, [sp]
8614  .long  0xe1a0c00d                          // mov           ip, sp
8615  .long  0xf4ec041f                          // vld1.16       {d16[0]}, [ip :16]
8616  .long  0xf3c80a30                          // vmovl.u8      q8, d16
8617  .long  0xf3904a30                          // vmovl.u16     q2, d16
8618  .long  0xf3c7001f                          // vmov.i32      d16, #255
8619  .long  0xeddf1b0f                          // vldr          d17, [pc, #60]
8620  .long  0xe591c004                          // ldr           ip, [r1, #4]
8621  .long  0xe2811008                          // add           r1, r1, #8
8622  .long  0xf2440130                          // vand          d16, d4, d16
8623  .long  0xf2804010                          // vmov.i32      d4, #0
8624  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
8625  .long  0xf2805010                          // vmov.i32      d5, #0
8626  .long  0xf2806010                          // vmov.i32      d6, #0
8627  .long  0xf3007db1                          // vmul.f32      d7, d16, d17
8628  .long  0xe28dd004                          // add           sp, sp, #4
8629  .long  0xe8bd4800                          // pop           {fp, lr}
8630  .long  0xe12fff1c                          // bx            ip
8631  .long  0xe5dcc000                          // ldrb          ip, [ip]
8632  .long  0xeddf4a04                          // vldr          s9, [pc, #16]
8633  .long  0xee04ca10                          // vmov          s8, ip
8634  .long  0xeaffffee                          // b             2a78 <sk_load_a8_dst_vfp4+0x38>
8635  .long  0xe320f000                          // nop           {0}
8636  .long  0x3b808081                          // .word         0x3b808081
8637  .long  0x3b808081                          // .word         0x3b808081
8638  .long  0x00000000                          // .word         0x00000000
8639  .long  0xe320f000                          // .word         0xe320f000
8640
8641HIDDEN _sk_gather_a8_vfp4
8642.globl _sk_gather_a8_vfp4
8643FUNCTION(_sk_gather_a8_vfp4)
8644_sk_gather_a8_vfp4:
8645  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
8646  .long  0xe591e000                          // ldr           lr, [r1]
8647  .long  0xf3fb0701                          // vcvt.s32.f32  d16, d1
8648  .long  0xf3fb1700                          // vcvt.s32.f32  d17, d0
8649  .long  0xe591c004                          // ldr           ip, [r1, #4]
8650  .long  0xe2811008                          // add           r1, r1, #8
8651  .long  0xf2800010                          // vmov.i32      d0, #0
8652  .long  0xe49e4004                          // ldr           r4, [lr], #4
8653  .long  0xf2801010                          // vmov.i32      d1, #0
8654  .long  0xf2802010                          // vmov.i32      d2, #0
8655  .long  0xf4ee2c9f                          // vld1.32       {d18[]}, [lr :32]
8656  .long  0xf26219a0                          // vmla.i32      d17, d18, d16
8657  .long  0xee11eb90                          // vmov.32       lr, d17[0]
8658  .long  0xee315b90                          // vmov.32       r5, d17[1]
8659  .long  0xf3c7101f                          // vmov.i32      d17, #255
8660  .long  0xe7d4e00e                          // ldrb          lr, [r4, lr]
8661  .long  0xe7d44005                          // ldrb          r4, [r4, r5]
8662  .long  0xee00eb90                          // vmov.32       d16[0], lr
8663  .long  0xee204b90                          // vmov.32       d16[1], r4
8664  .long  0xf24001b1                          // vand          d16, d16, d17
8665  .long  0xeddf1b04                          // vldr          d17, [pc, #16]
8666  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
8667  .long  0xf3003db1                          // vmul.f32      d3, d16, d17
8668  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
8669  .long  0xe12fff1c                          // bx            ip
8670  .long  0xe320f000                          // nop           {0}
8671  .long  0x3b808081                          // .word         0x3b808081
8672  .long  0x3b808081                          // .word         0x3b808081
8673
8674HIDDEN _sk_store_a8_vfp4
8675.globl _sk_store_a8_vfp4
8676FUNCTION(_sk_store_a8_vfp4)
8677_sk_store_a8_vfp4:
8678  .long  0xe92d4010                          // push          {r4, lr}
8679  .long  0xeddf0b13                          // vldr          d16, [pc, #76]
8680  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
8681  .long  0xf2431c30                          // vfma.f32      d17, d3, d16
8682  .long  0xe591c000                          // ldr           ip, [r1]
8683  .long  0xe59de008                          // ldr           lr, [sp, #8]
8684  .long  0xe59cc000                          // ldr           ip, [ip]
8685  .long  0xe35e0001                          // cmp           lr, #1
8686  .long  0xe08cc002                          // add           ip, ip, r2
8687  .long  0xf3fb07a1                          // vcvt.u32.f32  d16, d17
8688  .long  0x0a000007                          // beq           2b8c <sk_store_a8_vfp4+0x4c>
8689  .long  0xee30eb90                          // vmov.32       lr, d16[1]
8690  .long  0xee104b90                          // vmov.32       r4, d16[0]
8691  .long  0xe5cce001                          // strb          lr, [ip, #1]
8692  .long  0xe5cc4000                          // strb          r4, [ip]
8693  .long  0xe591c004                          // ldr           ip, [r1, #4]
8694  .long  0xe2811008                          // add           r1, r1, #8
8695  .long  0xe8bd4010                          // pop           {r4, lr}
8696  .long  0xe12fff1c                          // bx            ip
8697  .long  0xee10eb90                          // vmov.32       lr, d16[0]
8698  .long  0xe5cce000                          // strb          lr, [ip]
8699  .long  0xeafffff8                          // b             2b7c <sk_store_a8_vfp4+0x3c>
8700  .long  0x437f0000                          // .word         0x437f0000
8701  .long  0x437f0000                          // .word         0x437f0000
8702
8703HIDDEN _sk_load_g8_vfp4
8704.globl _sk_load_g8_vfp4
8705FUNCTION(_sk_load_g8_vfp4)
8706_sk_load_g8_vfp4:
8707  .long  0xe92d4800                          // push          {fp, lr}
8708  .long  0xe24dd004                          // sub           sp, sp, #4
8709  .long  0xe591c000                          // ldr           ip, [r1]
8710  .long  0xe59de00c                          // ldr           lr, [sp, #12]
8711  .long  0xe59cc000                          // ldr           ip, [ip]
8712  .long  0xe35e0001                          // cmp           lr, #1
8713  .long  0xe08cc002                          // add           ip, ip, r2
8714  .long  0x0a000012                          // beq           2c0c <sk_load_g8_vfp4+0x6c>
8715  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
8716  .long  0xe1cdc0b0                          // strh          ip, [sp]
8717  .long  0xe1a0c00d                          // mov           ip, sp
8718  .long  0xf4ec041f                          // vld1.16       {d16[0]}, [ip :16]
8719  .long  0xf3c80a30                          // vmovl.u8      q8, d16
8720  .long  0xf3900a30                          // vmovl.u16     q0, d16
8721  .long  0xf3c7001f                          // vmov.i32      d16, #255
8722  .long  0xeddf1b0f                          // vldr          d17, [pc, #60]
8723  .long  0xe591c004                          // ldr           ip, [r1, #4]
8724  .long  0xe2811008                          // add           r1, r1, #8
8725  .long  0xf2400130                          // vand          d16, d0, d16
8726  .long  0xf2873f10                          // vmov.f32      d3, #1
8727  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
8728  .long  0xf3000db1                          // vmul.f32      d0, d16, d17
8729  .long  0xf2201110                          // vorr          d1, d0, d0
8730  .long  0xf2202110                          // vorr          d2, d0, d0
8731  .long  0xe28dd004                          // add           sp, sp, #4
8732  .long  0xe8bd4800                          // pop           {fp, lr}
8733  .long  0xe12fff1c                          // bx            ip
8734  .long  0xe5dcc000                          // ldrb          ip, [ip]
8735  .long  0xeddf0a04                          // vldr          s1, [pc, #16]
8736  .long  0xee00ca10                          // vmov          s0, ip
8737  .long  0xeaffffee                          // b             2bd8 <sk_load_g8_vfp4+0x38>
8738  .long  0xe320f000                          // nop           {0}
8739  .long  0x3b808081                          // .word         0x3b808081
8740  .long  0x3b808081                          // .word         0x3b808081
8741  .long  0x00000000                          // .word         0x00000000
8742  .long  0xe320f000                          // .word         0xe320f000
8743
8744HIDDEN _sk_load_g8_dst_vfp4
8745.globl _sk_load_g8_dst_vfp4
8746FUNCTION(_sk_load_g8_dst_vfp4)
8747_sk_load_g8_dst_vfp4:
8748  .long  0xe92d4800                          // push          {fp, lr}
8749  .long  0xe24dd004                          // sub           sp, sp, #4
8750  .long  0xe591c000                          // ldr           ip, [r1]
8751  .long  0xe59de00c                          // ldr           lr, [sp, #12]
8752  .long  0xe59cc000                          // ldr           ip, [ip]
8753  .long  0xe35e0001                          // cmp           lr, #1
8754  .long  0xe08cc002                          // add           ip, ip, r2
8755  .long  0x0a000012                          // beq           2c9c <sk_load_g8_dst_vfp4+0x6c>
8756  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
8757  .long  0xe1cdc0b0                          // strh          ip, [sp]
8758  .long  0xe1a0c00d                          // mov           ip, sp
8759  .long  0xf4ec041f                          // vld1.16       {d16[0]}, [ip :16]
8760  .long  0xf3c80a30                          // vmovl.u8      q8, d16
8761  .long  0xf3904a30                          // vmovl.u16     q2, d16
8762  .long  0xf3c7001f                          // vmov.i32      d16, #255
8763  .long  0xeddf1b0f                          // vldr          d17, [pc, #60]
8764  .long  0xe591c004                          // ldr           ip, [r1, #4]
8765  .long  0xe2811008                          // add           r1, r1, #8
8766  .long  0xf2440130                          // vand          d16, d4, d16
8767  .long  0xf2877f10                          // vmov.f32      d7, #1
8768  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
8769  .long  0xf3004db1                          // vmul.f32      d4, d16, d17
8770  .long  0xf2245114                          // vorr          d5, d4, d4
8771  .long  0xf2246114                          // vorr          d6, d4, d4
8772  .long  0xe28dd004                          // add           sp, sp, #4
8773  .long  0xe8bd4800                          // pop           {fp, lr}
8774  .long  0xe12fff1c                          // bx            ip
8775  .long  0xe5dcc000                          // ldrb          ip, [ip]
8776  .long  0xeddf4a04                          // vldr          s9, [pc, #16]
8777  .long  0xee04ca10                          // vmov          s8, ip
8778  .long  0xeaffffee                          // b             2c68 <sk_load_g8_dst_vfp4+0x38>
8779  .long  0xe320f000                          // nop           {0}
8780  .long  0x3b808081                          // .word         0x3b808081
8781  .long  0x3b808081                          // .word         0x3b808081
8782  .long  0x00000000                          // .word         0x00000000
8783  .long  0xe320f000                          // .word         0xe320f000
8784
8785HIDDEN _sk_gather_g8_vfp4
8786.globl _sk_gather_g8_vfp4
8787FUNCTION(_sk_gather_g8_vfp4)
8788_sk_gather_g8_vfp4:
8789  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
8790  .long  0xe591e000                          // ldr           lr, [r1]
8791  .long  0xf3fb0701                          // vcvt.s32.f32  d16, d1
8792  .long  0xf3fb1700                          // vcvt.s32.f32  d17, d0
8793  .long  0xe591c004                          // ldr           ip, [r1, #4]
8794  .long  0xe2811008                          // add           r1, r1, #8
8795  .long  0xf2873f10                          // vmov.f32      d3, #1
8796  .long  0xe49e4004                          // ldr           r4, [lr], #4
8797  .long  0xf4ee2c9f                          // vld1.32       {d18[]}, [lr :32]
8798  .long  0xf26219a0                          // vmla.i32      d17, d18, d16
8799  .long  0xee11eb90                          // vmov.32       lr, d17[0]
8800  .long  0xee315b90                          // vmov.32       r5, d17[1]
8801  .long  0xf3c7101f                          // vmov.i32      d17, #255
8802  .long  0xe7d4e00e                          // ldrb          lr, [r4, lr]
8803  .long  0xe7d44005                          // ldrb          r4, [r4, r5]
8804  .long  0xee00eb90                          // vmov.32       d16[0], lr
8805  .long  0xee204b90                          // vmov.32       d16[1], r4
8806  .long  0xf24001b1                          // vand          d16, d16, d17
8807  .long  0xeddf1b06                          // vldr          d17, [pc, #24]
8808  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
8809  .long  0xf3000db1                          // vmul.f32      d0, d16, d17
8810  .long  0xf2201110                          // vorr          d1, d0, d0
8811  .long  0xf2202110                          // vorr          d2, d0, d0
8812  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
8813  .long  0xe12fff1c                          // bx            ip
8814  .long  0xe320f000                          // nop           {0}
8815  .long  0x3b808081                          // .word         0x3b808081
8816  .long  0x3b808081                          // .word         0x3b808081
8817
8818HIDDEN _sk_load_565_vfp4
8819.globl _sk_load_565_vfp4
8820FUNCTION(_sk_load_565_vfp4)
8821_sk_load_565_vfp4:
8822  .long  0xe92d4800                          // push          {fp, lr}
8823  .long  0xe24dd004                          // sub           sp, sp, #4
8824  .long  0xe591c000                          // ldr           ip, [r1]
8825  .long  0xe59de00c                          // ldr           lr, [sp, #12]
8826  .long  0xe59cc000                          // ldr           ip, [ip]
8827  .long  0xe35e0001                          // cmp           lr, #1
8828  .long  0xe08cc082                          // add           ip, ip, r2, lsl #1
8829  .long  0x0a00001a                          // beq           2dbc <sk_load_565_vfp4+0x8c>
8830  .long  0xe59cc000                          // ldr           ip, [ip]
8831  .long  0xe58dc000                          // str           ip, [sp]
8832  .long  0xe1a0c00d                          // mov           ip, sp
8833  .long  0xf4ec083f                          // vld1.32       {d16[0]}, [ip :32]
8834  .long  0xf3900a30                          // vmovl.u16     q0, d16
8835  .long  0xf3c70218                          // vmov.i32      d16, #63488
8836  .long  0xe3a0ce7e                          // mov           ip, #2016
8837  .long  0xf2c1101f                          // vmov.i32      d17, #31
8838  .long  0xee82cb90                          // vdup.32       d18, ip
8839  .long  0xf2400130                          // vand          d16, d0, d16
8840  .long  0xeddf3b14                          // vldr          d19, [pc, #80]
8841  .long  0xf2402132                          // vand          d18, d0, d18
8842  .long  0xeddf4b14                          // vldr          d20, [pc, #80]
8843  .long  0xf2401131                          // vand          d17, d0, d17
8844  .long  0xeddf5b14                          // vldr          d21, [pc, #80]
8845  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
8846  .long  0xe591c004                          // ldr           ip, [r1, #4]
8847  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
8848  .long  0xe2811008                          // add           r1, r1, #8
8849  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
8850  .long  0xf2873f10                          // vmov.f32      d3, #1
8851  .long  0xf3000db3                          // vmul.f32      d0, d16, d19
8852  .long  0xf3021db4                          // vmul.f32      d1, d18, d20
8853  .long  0xf3012db5                          // vmul.f32      d2, d17, d21
8854  .long  0xe28dd004                          // add           sp, sp, #4
8855  .long  0xe8bd4800                          // pop           {fp, lr}
8856  .long  0xe12fff1c                          // bx            ip
8857  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
8858  .long  0xeddf0a08                          // vldr          s1, [pc, #32]
8859  .long  0xee00ca10                          // vmov          s0, ip
8860  .long  0xeaffffe5                          // b             2d64 <sk_load_565_vfp4+0x34>
8861  .long  0xe320f000                          // nop           {0}
8862  .long  0x37842108                          // .word         0x37842108
8863  .long  0x37842108                          // .word         0x37842108
8864  .long  0x3a020821                          // .word         0x3a020821
8865  .long  0x3a020821                          // .word         0x3a020821
8866  .long  0x3d042108                          // .word         0x3d042108
8867  .long  0x3d042108                          // .word         0x3d042108
8868  .long  0x00000000                          // .word         0x00000000
8869  .long  0xe320f000                          // .word         0xe320f000
8870
8871HIDDEN _sk_load_565_dst_vfp4
8872.globl _sk_load_565_dst_vfp4
8873FUNCTION(_sk_load_565_dst_vfp4)
8874_sk_load_565_dst_vfp4:
8875  .long  0xe92d4800                          // push          {fp, lr}
8876  .long  0xe24dd004                          // sub           sp, sp, #4
8877  .long  0xe591c000                          // ldr           ip, [r1]
8878  .long  0xe59de00c                          // ldr           lr, [sp, #12]
8879  .long  0xe59cc000                          // ldr           ip, [ip]
8880  .long  0xe35e0001                          // cmp           lr, #1
8881  .long  0xe08cc082                          // add           ip, ip, r2, lsl #1
8882  .long  0x0a00001a                          // beq           2e7c <sk_load_565_dst_vfp4+0x8c>
8883  .long  0xe59cc000                          // ldr           ip, [ip]
8884  .long  0xe58dc000                          // str           ip, [sp]
8885  .long  0xe1a0c00d                          // mov           ip, sp
8886  .long  0xf4ec083f                          // vld1.32       {d16[0]}, [ip :32]
8887  .long  0xf3904a30                          // vmovl.u16     q2, d16
8888  .long  0xf3c70218                          // vmov.i32      d16, #63488
8889  .long  0xe3a0ce7e                          // mov           ip, #2016
8890  .long  0xf2c1101f                          // vmov.i32      d17, #31
8891  .long  0xee82cb90                          // vdup.32       d18, ip
8892  .long  0xf2440130                          // vand          d16, d4, d16
8893  .long  0xeddf3b14                          // vldr          d19, [pc, #80]
8894  .long  0xf2442132                          // vand          d18, d4, d18
8895  .long  0xeddf4b14                          // vldr          d20, [pc, #80]
8896  .long  0xf2441131                          // vand          d17, d4, d17
8897  .long  0xeddf5b14                          // vldr          d21, [pc, #80]
8898  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
8899  .long  0xe591c004                          // ldr           ip, [r1, #4]
8900  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
8901  .long  0xe2811008                          // add           r1, r1, #8
8902  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
8903  .long  0xf2877f10                          // vmov.f32      d7, #1
8904  .long  0xf3004db3                          // vmul.f32      d4, d16, d19
8905  .long  0xf3025db4                          // vmul.f32      d5, d18, d20
8906  .long  0xf3016db5                          // vmul.f32      d6, d17, d21
8907  .long  0xe28dd004                          // add           sp, sp, #4
8908  .long  0xe8bd4800                          // pop           {fp, lr}
8909  .long  0xe12fff1c                          // bx            ip
8910  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
8911  .long  0xeddf4a08                          // vldr          s9, [pc, #32]
8912  .long  0xee04ca10                          // vmov          s8, ip
8913  .long  0xeaffffe5                          // b             2e24 <sk_load_565_dst_vfp4+0x34>
8914  .long  0xe320f000                          // nop           {0}
8915  .long  0x37842108                          // .word         0x37842108
8916  .long  0x37842108                          // .word         0x37842108
8917  .long  0x3a020821                          // .word         0x3a020821
8918  .long  0x3a020821                          // .word         0x3a020821
8919  .long  0x3d042108                          // .word         0x3d042108
8920  .long  0x3d042108                          // .word         0x3d042108
8921  .long  0x00000000                          // .word         0x00000000
8922  .long  0xe320f000                          // .word         0xe320f000
8923
8924HIDDEN _sk_gather_565_vfp4
8925.globl _sk_gather_565_vfp4
8926FUNCTION(_sk_gather_565_vfp4)
8927_sk_gather_565_vfp4:
8928  .long  0xe92d4070                          // push          {r4, r5, r6, lr}
8929  .long  0xe591e000                          // ldr           lr, [r1]
8930  .long  0xf3fb0701                          // vcvt.s32.f32  d16, d1
8931  .long  0xf3fb1700                          // vcvt.s32.f32  d17, d0
8932  .long  0xeddf4b20                          // vldr          d20, [pc, #128]
8933  .long  0xeddf5b21                          // vldr          d21, [pc, #132]
8934  .long  0xf2873f10                          // vmov.f32      d3, #1
8935  .long  0xe49e4004                          // ldr           r4, [lr], #4
8936  .long  0xe591c004                          // ldr           ip, [r1, #4]
8937  .long  0xe2811008                          // add           r1, r1, #8
8938  .long  0xf4ee2c9f                          // vld1.32       {d18[]}, [lr :32]
8939  .long  0xf26219a0                          // vmla.i32      d17, d18, d16
8940  .long  0xf2c1201f                          // vmov.i32      d18, #31
8941  .long  0xee11eb90                          // vmov.32       lr, d17[0]
8942  .long  0xee316b90                          // vmov.32       r6, d17[1]
8943  .long  0xf3c71218                          // vmov.i32      d17, #63488
8944  .long  0xe084508e                          // add           r5, r4, lr, lsl #1
8945  .long  0xe0846086                          // add           r6, r4, r6, lsl #1
8946  .long  0xe1d550b0                          // ldrh          r5, [r5]
8947  .long  0xe1d660b0                          // ldrh          r6, [r6]
8948  .long  0xee005b90                          // vmov.32       d16[0], r5
8949  .long  0xee206b90                          // vmov.32       d16[1], r6
8950  .long  0xe3a06e7e                          // mov           r6, #2016
8951  .long  0xee836b90                          // vdup.32       d19, r6
8952  .long  0xf24011b1                          // vand          d17, d16, d17
8953  .long  0xf24031b3                          // vand          d19, d16, d19
8954  .long  0xf24001b2                          // vand          d16, d16, d18
8955  .long  0xf3fb2623                          // vcvt.f32.s32  d18, d19
8956  .long  0xeddf3b06                          // vldr          d19, [pc, #24]
8957  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
8958  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
8959  .long  0xf3021db4                          // vmul.f32      d1, d18, d20
8960  .long  0xf3010db3                          // vmul.f32      d0, d17, d19
8961  .long  0xf3002db5                          // vmul.f32      d2, d16, d21
8962  .long  0xe8bd4070                          // pop           {r4, r5, r6, lr}
8963  .long  0xe12fff1c                          // bx            ip
8964  .long  0x37842108                          // .word         0x37842108
8965  .long  0x37842108                          // .word         0x37842108
8966  .long  0x3a020821                          // .word         0x3a020821
8967  .long  0x3a020821                          // .word         0x3a020821
8968  .long  0x3d042108                          // .word         0x3d042108
8969  .long  0x3d042108                          // .word         0x3d042108
8970
8971HIDDEN _sk_store_565_vfp4
8972.globl _sk_store_565_vfp4
8973FUNCTION(_sk_store_565_vfp4)
8974_sk_store_565_vfp4:
8975  .long  0xe92d4800                          // push          {fp, lr}
8976  .long  0xf2c30f1f                          // vmov.f32      d16, #31
8977  .long  0xeddf1b1c                          // vldr          d17, [pc, #112]
8978  .long  0xf2c3361f                          // vmov.i32      d19, #1056964608
8979  .long  0xe591c000                          // ldr           ip, [r1]
8980  .long  0xf2413c31                          // vfma.f32      d19, d1, d17
8981  .long  0xe59de008                          // ldr           lr, [sp, #8]
8982  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
8983  .long  0xf2401c30                          // vfma.f32      d17, d0, d16
8984  .long  0xe59cc000                          // ldr           ip, [ip]
8985  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
8986  .long  0xe35e0001                          // cmp           lr, #1
8987  .long  0xf2422c30                          // vfma.f32      d18, d2, d16
8988  .long  0xe08cc082                          // add           ip, ip, r2, lsl #1
8989  .long  0xf3fb07a3                          // vcvt.u32.f32  d16, d19
8990  .long  0xf3fb17a1                          // vcvt.u32.f32  d17, d17
8991  .long  0xf3fb27a2                          // vcvt.u32.f32  d18, d18
8992  .long  0xf2e50530                          // vshl.s32      d16, d16, #5
8993  .long  0xf2eb1531                          // vshl.s32      d17, d17, #11
8994  .long  0xf26001b1                          // vorr          d16, d16, d17
8995  .long  0xf26001b2                          // vorr          d16, d16, d18
8996  .long  0x0a000005                          // beq           2fc8 <sk_store_565_vfp4+0x70>
8997  .long  0xf3f60121                          // vuzp.16       d16, d17
8998  .long  0xf4cc080f                          // vst1.32       {d16[0]}, [ip]
8999  .long  0xe591c004                          // ldr           ip, [r1, #4]
9000  .long  0xe2811008                          // add           r1, r1, #8
9001  .long  0xe8bd4800                          // pop           {fp, lr}
9002  .long  0xe12fff1c                          // bx            ip
9003  .long  0xee10eb90                          // vmov.32       lr, d16[0]
9004  .long  0xe1cce0b0                          // strh          lr, [ip]
9005  .long  0xeafffff8                          // b             2fb8 <sk_store_565_vfp4+0x60>
9006  .long  0xe320f000                          // nop           {0}
9007  .long  0x427c0000                          // .word         0x427c0000
9008  .long  0x427c0000                          // .word         0x427c0000
9009
9010HIDDEN _sk_load_4444_vfp4
9011.globl _sk_load_4444_vfp4
9012FUNCTION(_sk_load_4444_vfp4)
9013_sk_load_4444_vfp4:
9014  .long  0xe92d4800                          // push          {fp, lr}
9015  .long  0xe24dd004                          // sub           sp, sp, #4
9016  .long  0xe591c000                          // ldr           ip, [r1]
9017  .long  0xe59de00c                          // ldr           lr, [sp, #12]
9018  .long  0xe59cc000                          // ldr           ip, [ip]
9019  .long  0xe35e0001                          // cmp           lr, #1
9020  .long  0xe08cc082                          // add           ip, ip, r2, lsl #1
9021  .long  0x0a00001d                          // beq           3078 <sk_load_4444_vfp4+0x98>
9022  .long  0xe59cc000                          // ldr           ip, [ip]
9023  .long  0xe58dc000                          // str           ip, [sp]
9024  .long  0xe1a0c00d                          // mov           ip, sp
9025  .long  0xf4ec083f                          // vld1.32       {d16[0]}, [ip :32]
9026  .long  0xf3900a30                          // vmovl.u16     q0, d16
9027  .long  0xf3c70210                          // vmov.i32      d16, #61440
9028  .long  0xeddf4b1a                          // vldr          d20, [pc, #104]
9029  .long  0xf2c0121f                          // vmov.i32      d17, #3840
9030  .long  0xeddf5b1a                          // vldr          d21, [pc, #104]
9031  .long  0xf3c72010                          // vmov.i32      d18, #240
9032  .long  0xeddf6b1a                          // vldr          d22, [pc, #104]
9033  .long  0xf2400130                          // vand          d16, d0, d16
9034  .long  0xe591c004                          // ldr           ip, [r1, #4]
9035  .long  0xf2c0301f                          // vmov.i32      d19, #15
9036  .long  0xe2811008                          // add           r1, r1, #8
9037  .long  0xf2401131                          // vand          d17, d0, d17
9038  .long  0xf2402132                          // vand          d18, d0, d18
9039  .long  0xf2403133                          // vand          d19, d0, d19
9040  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
9041  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
9042  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
9043  .long  0xf3fb3623                          // vcvt.f32.s32  d19, d19
9044  .long  0xf3000db4                          // vmul.f32      d0, d16, d20
9045  .long  0xeddf0b0f                          // vldr          d16, [pc, #60]
9046  .long  0xf3011db5                          // vmul.f32      d1, d17, d21
9047  .long  0xf3022db6                          // vmul.f32      d2, d18, d22
9048  .long  0xf3033db0                          // vmul.f32      d3, d19, d16
9049  .long  0xe28dd004                          // add           sp, sp, #4
9050  .long  0xe8bd4800                          // pop           {fp, lr}
9051  .long  0xe12fff1c                          // bx            ip
9052  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
9053  .long  0xeddf0a09                          // vldr          s1, [pc, #36]
9054  .long  0xee00ca10                          // vmov          s0, ip
9055  .long  0xeaffffe2                          // b             3014 <sk_load_4444_vfp4+0x34>
9056  .long  0x37888889                          // .word         0x37888889
9057  .long  0x37888889                          // .word         0x37888889
9058  .long  0x39888889                          // .word         0x39888889
9059  .long  0x39888889                          // .word         0x39888889
9060  .long  0x3b888889                          // .word         0x3b888889
9061  .long  0x3b888889                          // .word         0x3b888889
9062  .long  0x3d888889                          // .word         0x3d888889
9063  .long  0x3d888889                          // .word         0x3d888889
9064  .long  0x00000000                          // .word         0x00000000
9065  .long  0xe320f000                          // .word         0xe320f000
9066
9067HIDDEN _sk_load_4444_dst_vfp4
9068.globl _sk_load_4444_dst_vfp4
9069FUNCTION(_sk_load_4444_dst_vfp4)
9070_sk_load_4444_dst_vfp4:
9071  .long  0xe92d4800                          // push          {fp, lr}
9072  .long  0xe24dd004                          // sub           sp, sp, #4
9073  .long  0xe591c000                          // ldr           ip, [r1]
9074  .long  0xe59de00c                          // ldr           lr, [sp, #12]
9075  .long  0xe59cc000                          // ldr           ip, [ip]
9076  .long  0xe35e0001                          // cmp           lr, #1
9077  .long  0xe08cc082                          // add           ip, ip, r2, lsl #1
9078  .long  0x0a00001d                          // beq           3148 <sk_load_4444_dst_vfp4+0x98>
9079  .long  0xe59cc000                          // ldr           ip, [ip]
9080  .long  0xe58dc000                          // str           ip, [sp]
9081  .long  0xe1a0c00d                          // mov           ip, sp
9082  .long  0xf4ec083f                          // vld1.32       {d16[0]}, [ip :32]
9083  .long  0xf3904a30                          // vmovl.u16     q2, d16
9084  .long  0xf3c70210                          // vmov.i32      d16, #61440
9085  .long  0xeddf4b1a                          // vldr          d20, [pc, #104]
9086  .long  0xf2c0121f                          // vmov.i32      d17, #3840
9087  .long  0xeddf5b1a                          // vldr          d21, [pc, #104]
9088  .long  0xf3c72010                          // vmov.i32      d18, #240
9089  .long  0xeddf6b1a                          // vldr          d22, [pc, #104]
9090  .long  0xf2440130                          // vand          d16, d4, d16
9091  .long  0xe591c004                          // ldr           ip, [r1, #4]
9092  .long  0xf2c0301f                          // vmov.i32      d19, #15
9093  .long  0xe2811008                          // add           r1, r1, #8
9094  .long  0xf2441131                          // vand          d17, d4, d17
9095  .long  0xf2442132                          // vand          d18, d4, d18
9096  .long  0xf2443133                          // vand          d19, d4, d19
9097  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
9098  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
9099  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
9100  .long  0xf3fb3623                          // vcvt.f32.s32  d19, d19
9101  .long  0xf3004db4                          // vmul.f32      d4, d16, d20
9102  .long  0xeddf0b0f                          // vldr          d16, [pc, #60]
9103  .long  0xf3015db5                          // vmul.f32      d5, d17, d21
9104  .long  0xf3026db6                          // vmul.f32      d6, d18, d22
9105  .long  0xf3037db0                          // vmul.f32      d7, d19, d16
9106  .long  0xe28dd004                          // add           sp, sp, #4
9107  .long  0xe8bd4800                          // pop           {fp, lr}
9108  .long  0xe12fff1c                          // bx            ip
9109  .long  0xe1dcc0b0                          // ldrh          ip, [ip]
9110  .long  0xeddf4a09                          // vldr          s9, [pc, #36]
9111  .long  0xee04ca10                          // vmov          s8, ip
9112  .long  0xeaffffe2                          // b             30e4 <sk_load_4444_dst_vfp4+0x34>
9113  .long  0x37888889                          // .word         0x37888889
9114  .long  0x37888889                          // .word         0x37888889
9115  .long  0x39888889                          // .word         0x39888889
9116  .long  0x39888889                          // .word         0x39888889
9117  .long  0x3b888889                          // .word         0x3b888889
9118  .long  0x3b888889                          // .word         0x3b888889
9119  .long  0x3d888889                          // .word         0x3d888889
9120  .long  0x3d888889                          // .word         0x3d888889
9121  .long  0x00000000                          // .word         0x00000000
9122  .long  0xe320f000                          // .word         0xe320f000
9123
9124HIDDEN _sk_gather_4444_vfp4
9125.globl _sk_gather_4444_vfp4
9126FUNCTION(_sk_gather_4444_vfp4)
9127_sk_gather_4444_vfp4:
9128  .long  0xe92d4070                          // push          {r4, r5, r6, lr}
9129  .long  0xe591e000                          // ldr           lr, [r1]
9130  .long  0xf3fb0701                          // vcvt.s32.f32  d16, d1
9131  .long  0xf3fb1700                          // vcvt.s32.f32  d17, d0
9132  .long  0xeddf5b24                          // vldr          d21, [pc, #144]
9133  .long  0xf3c73010                          // vmov.i32      d19, #240
9134  .long  0xeddf6b24                          // vldr          d22, [pc, #144]
9135  .long  0xe49e4004                          // ldr           r4, [lr], #4
9136  .long  0xf2c0401f                          // vmov.i32      d20, #15
9137  .long  0xe591c004                          // ldr           ip, [r1, #4]
9138  .long  0xe2811008                          // add           r1, r1, #8
9139  .long  0xf4ee2c9f                          // vld1.32       {d18[]}, [lr :32]
9140  .long  0xf26219a0                          // vmla.i32      d17, d18, d16
9141  .long  0xf2c0221f                          // vmov.i32      d18, #3840
9142  .long  0xee11eb90                          // vmov.32       lr, d17[0]
9143  .long  0xee316b90                          // vmov.32       r6, d17[1]
9144  .long  0xf3c71210                          // vmov.i32      d17, #61440
9145  .long  0xe084508e                          // add           r5, r4, lr, lsl #1
9146  .long  0xe0846086                          // add           r6, r4, r6, lsl #1
9147  .long  0xe1d550b0                          // ldrh          r5, [r5]
9148  .long  0xe1d660b0                          // ldrh          r6, [r6]
9149  .long  0xee005b90                          // vmov.32       d16[0], r5
9150  .long  0xee206b90                          // vmov.32       d16[1], r6
9151  .long  0xf24011b1                          // vand          d17, d16, d17
9152  .long  0xf24021b2                          // vand          d18, d16, d18
9153  .long  0xf24031b3                          // vand          d19, d16, d19
9154  .long  0xf24001b4                          // vand          d16, d16, d20
9155  .long  0xeddf4b0b                          // vldr          d20, [pc, #44]
9156  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
9157  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
9158  .long  0xf3fb3623                          // vcvt.f32.s32  d19, d19
9159  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
9160  .long  0xf3010db4                          // vmul.f32      d0, d17, d20
9161  .long  0xeddf1b0b                          // vldr          d17, [pc, #44]
9162  .long  0xf3021db5                          // vmul.f32      d1, d18, d21
9163  .long  0xf3032db6                          // vmul.f32      d2, d19, d22
9164  .long  0xf3003db1                          // vmul.f32      d3, d16, d17
9165  .long  0xe8bd4070                          // pop           {r4, r5, r6, lr}
9166  .long  0xe12fff1c                          // bx            ip
9167  .long  0xe320f000                          // nop           {0}
9168  .long  0x37888889                          // .word         0x37888889
9169  .long  0x37888889                          // .word         0x37888889
9170  .long  0x39888889                          // .word         0x39888889
9171  .long  0x39888889                          // .word         0x39888889
9172  .long  0x3b888889                          // .word         0x3b888889
9173  .long  0x3b888889                          // .word         0x3b888889
9174  .long  0x3d888889                          // .word         0x3d888889
9175  .long  0x3d888889                          // .word         0x3d888889
9176
9177HIDDEN _sk_store_4444_vfp4
9178.globl _sk_store_4444_vfp4
9179FUNCTION(_sk_store_4444_vfp4)
9180_sk_store_4444_vfp4:
9181  .long  0xe92d4800                          // push          {fp, lr}
9182  .long  0xf2c20f1e                          // vmov.f32      d16, #15
9183  .long  0xe591c000                          // ldr           ip, [r1]
9184  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
9185  .long  0xe59de008                          // ldr           lr, [sp, #8]
9186  .long  0xf2c3361f                          // vmov.i32      d19, #1056964608
9187  .long  0xf2402c30                          // vfma.f32      d18, d0, d16
9188  .long  0xe59cc000                          // ldr           ip, [ip]
9189  .long  0xf2413c30                          // vfma.f32      d19, d1, d16
9190  .long  0xe35e0001                          // cmp           lr, #1
9191  .long  0xf2c3461f                          // vmov.i32      d20, #1056964608
9192  .long  0xe08cc082                          // add           ip, ip, r2, lsl #1
9193  .long  0xf2424c30                          // vfma.f32      d20, d2, d16
9194  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
9195  .long  0xf2431c30                          // vfma.f32      d17, d3, d16
9196  .long  0xf3fb07a2                          // vcvt.u32.f32  d16, d18
9197  .long  0xf3fb27a3                          // vcvt.u32.f32  d18, d19
9198  .long  0xf3fb37a4                          // vcvt.u32.f32  d19, d20
9199  .long  0xf2ec0530                          // vshl.s32      d16, d16, #12
9200  .long  0xf2e82532                          // vshl.s32      d18, d18, #8
9201  .long  0xf3fb17a1                          // vcvt.u32.f32  d17, d17
9202  .long  0xf2e43533                          // vshl.s32      d19, d19, #4
9203  .long  0xf26201b0                          // vorr          d16, d18, d16
9204  .long  0xf26001b3                          // vorr          d16, d16, d19
9205  .long  0xf26001b1                          // vorr          d16, d16, d17
9206  .long  0x0a000005                          // beq           32c0 <sk_store_4444_vfp4+0x80>
9207  .long  0xf3f60121                          // vuzp.16       d16, d17
9208  .long  0xf4cc080f                          // vst1.32       {d16[0]}, [ip]
9209  .long  0xe591c004                          // ldr           ip, [r1, #4]
9210  .long  0xe2811008                          // add           r1, r1, #8
9211  .long  0xe8bd4800                          // pop           {fp, lr}
9212  .long  0xe12fff1c                          // bx            ip
9213  .long  0xee10eb90                          // vmov.32       lr, d16[0]
9214  .long  0xe1cce0b0                          // strh          lr, [ip]
9215  .long  0xeafffff8                          // b             32b0 <sk_store_4444_vfp4+0x70>
9216  .long  0xe320f000                          // nop           {0}
9217
9218HIDDEN _sk_load_8888_vfp4
9219.globl _sk_load_8888_vfp4
9220FUNCTION(_sk_load_8888_vfp4)
9221_sk_load_8888_vfp4:
9222  .long  0xe92d4800                          // push          {fp, lr}
9223  .long  0xe591c000                          // ldr           ip, [r1]
9224  .long  0xe59de008                          // ldr           lr, [sp, #8]
9225  .long  0xe59cc000                          // ldr           ip, [ip]
9226  .long  0xe35e0001                          // cmp           lr, #1
9227  .long  0xe08cc102                          // add           ip, ip, r2, lsl #2
9228  .long  0x0a000014                          // beq           3340 <sk_load_8888_vfp4+0x70>
9229  .long  0xed9c0b00                          // vldr          d0, [ip]
9230  .long  0xf3c7001f                          // vmov.i32      d16, #255
9231  .long  0xe591c004                          // ldr           ip, [r1, #4]
9232  .long  0xf3f81010                          // vshr.u32      d17, d0, #8
9233  .long  0xe2811008                          // add           r1, r1, #8
9234  .long  0xf3f03010                          // vshr.u32      d19, d0, #16
9235  .long  0xf3e82010                          // vshr.u32      d18, d0, #24
9236  .long  0xf24111b0                          // vand          d17, d17, d16
9237  .long  0xf2404130                          // vand          d20, d0, d16
9238  .long  0xf24301b0                          // vand          d16, d19, d16
9239  .long  0xf3fb3624                          // vcvt.f32.s32  d19, d20
9240  .long  0xeddf4b0c                          // vldr          d20, [pc, #48]
9241  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
9242  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
9243  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
9244  .long  0xf3030db4                          // vmul.f32      d0, d19, d20
9245  .long  0xf3023db4                          // vmul.f32      d3, d18, d20
9246  .long  0xf3011db4                          // vmul.f32      d1, d17, d20
9247  .long  0xf3002db4                          // vmul.f32      d2, d16, d20
9248  .long  0xe8bd4800                          // pop           {fp, lr}
9249  .long  0xe12fff1c                          // bx            ip
9250  .long  0xeddf0a04                          // vldr          s1, [pc, #16]
9251  .long  0xed9c0a00                          // vldr          s0, [ip]
9252  .long  0xeaffffe8                          // b             32f0 <sk_load_8888_vfp4+0x20>
9253  .long  0xe320f000                          // nop           {0}
9254  .long  0x3b808081                          // .word         0x3b808081
9255  .long  0x3b808081                          // .word         0x3b808081
9256  .long  0x00000000                          // .word         0x00000000
9257  .long  0xe320f000                          // .word         0xe320f000
9258
9259HIDDEN _sk_load_8888_dst_vfp4
9260.globl _sk_load_8888_dst_vfp4
9261FUNCTION(_sk_load_8888_dst_vfp4)
9262_sk_load_8888_dst_vfp4:
9263  .long  0xe92d4800                          // push          {fp, lr}
9264  .long  0xe591c000                          // ldr           ip, [r1]
9265  .long  0xe59de008                          // ldr           lr, [sp, #8]
9266  .long  0xe59cc000                          // ldr           ip, [ip]
9267  .long  0xe35e0001                          // cmp           lr, #1
9268  .long  0xe08cc102                          // add           ip, ip, r2, lsl #2
9269  .long  0x0a000014                          // beq           33d0 <sk_load_8888_dst_vfp4+0x70>
9270  .long  0xed9c4b00                          // vldr          d4, [ip]
9271  .long  0xf3c7001f                          // vmov.i32      d16, #255
9272  .long  0xe591c004                          // ldr           ip, [r1, #4]
9273  .long  0xf3f81014                          // vshr.u32      d17, d4, #8
9274  .long  0xe2811008                          // add           r1, r1, #8
9275  .long  0xf3f03014                          // vshr.u32      d19, d4, #16
9276  .long  0xf3e82014                          // vshr.u32      d18, d4, #24
9277  .long  0xf24111b0                          // vand          d17, d17, d16
9278  .long  0xf2444130                          // vand          d20, d4, d16
9279  .long  0xf24301b0                          // vand          d16, d19, d16
9280  .long  0xf3fb3624                          // vcvt.f32.s32  d19, d20
9281  .long  0xeddf4b0c                          // vldr          d20, [pc, #48]
9282  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
9283  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
9284  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
9285  .long  0xf3034db4                          // vmul.f32      d4, d19, d20
9286  .long  0xf3027db4                          // vmul.f32      d7, d18, d20
9287  .long  0xf3015db4                          // vmul.f32      d5, d17, d20
9288  .long  0xf3006db4                          // vmul.f32      d6, d16, d20
9289  .long  0xe8bd4800                          // pop           {fp, lr}
9290  .long  0xe12fff1c                          // bx            ip
9291  .long  0xeddf4a04                          // vldr          s9, [pc, #16]
9292  .long  0xed9c4a00                          // vldr          s8, [ip]
9293  .long  0xeaffffe8                          // b             3380 <sk_load_8888_dst_vfp4+0x20>
9294  .long  0xe320f000                          // nop           {0}
9295  .long  0x3b808081                          // .word         0x3b808081
9296  .long  0x3b808081                          // .word         0x3b808081
9297  .long  0x00000000                          // .word         0x00000000
9298  .long  0xe320f000                          // .word         0xe320f000
9299
9300HIDDEN _sk_gather_8888_vfp4
9301.globl _sk_gather_8888_vfp4
9302FUNCTION(_sk_gather_8888_vfp4)
9303_sk_gather_8888_vfp4:
9304  .long  0xe92d4070                          // push          {r4, r5, r6, lr}
9305  .long  0xe591e000                          // ldr           lr, [r1]
9306  .long  0xf3fb0701                          // vcvt.s32.f32  d16, d1
9307  .long  0xf3fb1700                          // vcvt.s32.f32  d17, d0
9308  .long  0xe591c004                          // ldr           ip, [r1, #4]
9309  .long  0xe2811008                          // add           r1, r1, #8
9310  .long  0xe49e4004                          // ldr           r4, [lr], #4
9311  .long  0xf4ee2c9f                          // vld1.32       {d18[]}, [lr :32]
9312  .long  0xf26219a0                          // vmla.i32      d17, d18, d16
9313  .long  0xee11eb90                          // vmov.32       lr, d17[0]
9314  .long  0xee316b90                          // vmov.32       r6, d17[1]
9315  .long  0xf3c7101f                          // vmov.i32      d17, #255
9316  .long  0xe084510e                          // add           r5, r4, lr, lsl #2
9317  .long  0xe0846106                          // add           r6, r4, r6, lsl #2
9318  .long  0xf4e5083f                          // vld1.32       {d16[0]}, [r5 :32]
9319  .long  0xf4e608bf                          // vld1.32       {d16[1]}, [r6 :32]
9320  .long  0xf24021b1                          // vand          d18, d16, d17
9321  .long  0xf3f83030                          // vshr.u32      d19, d16, #8
9322  .long  0xf3e84030                          // vshr.u32      d20, d16, #24
9323  .long  0xf3f00030                          // vshr.u32      d16, d16, #16
9324  .long  0xf24331b1                          // vand          d19, d19, d17
9325  .long  0xf24001b1                          // vand          d16, d16, d17
9326  .long  0xeddf1b0a                          // vldr          d17, [pc, #40]
9327  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
9328  .long  0xf3fb4624                          // vcvt.f32.s32  d20, d20
9329  .long  0xf3fb3623                          // vcvt.f32.s32  d19, d19
9330  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
9331  .long  0xf3020db1                          // vmul.f32      d0, d18, d17
9332  .long  0xf3043db1                          // vmul.f32      d3, d20, d17
9333  .long  0xf3031db1                          // vmul.f32      d1, d19, d17
9334  .long  0xf3002db1                          // vmul.f32      d2, d16, d17
9335  .long  0xe8bd4070                          // pop           {r4, r5, r6, lr}
9336  .long  0xe12fff1c                          // bx            ip
9337  .long  0xe320f000                          // nop           {0}
9338  .long  0x3b808081                          // .word         0x3b808081
9339  .long  0x3b808081                          // .word         0x3b808081
9340
9341HIDDEN _sk_store_8888_vfp4
9342.globl _sk_store_8888_vfp4
9343FUNCTION(_sk_store_8888_vfp4)
9344_sk_store_8888_vfp4:
9345  .long  0xe92d4800                          // push          {fp, lr}
9346  .long  0xeddf0b1f                          // vldr          d16, [pc, #124]
9347  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
9348  .long  0xf2412c30                          // vfma.f32      d18, d1, d16
9349  .long  0xe591c000                          // ldr           ip, [r1]
9350  .long  0xf2c3361f                          // vmov.i32      d19, #1056964608
9351  .long  0xe59de008                          // ldr           lr, [sp, #8]
9352  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
9353  .long  0xf2423c30                          // vfma.f32      d19, d2, d16
9354  .long  0xe59cc000                          // ldr           ip, [ip]
9355  .long  0xf2c3461f                          // vmov.i32      d20, #1056964608
9356  .long  0xe35e0001                          // cmp           lr, #1
9357  .long  0xf2401c30                          // vfma.f32      d17, d0, d16
9358  .long  0xe08cc102                          // add           ip, ip, r2, lsl #2
9359  .long  0xf2434c30                          // vfma.f32      d20, d3, d16
9360  .long  0xf3fb07a2                          // vcvt.u32.f32  d16, d18
9361  .long  0xf3fb27a3                          // vcvt.u32.f32  d18, d19
9362  .long  0xf3fb17a1                          // vcvt.u32.f32  d17, d17
9363  .long  0xf3fb37a4                          // vcvt.u32.f32  d19, d20
9364  .long  0xf2e80530                          // vshl.s32      d16, d16, #8
9365  .long  0xf2f02532                          // vshl.s32      d18, d18, #16
9366  .long  0xf26001b1                          // vorr          d16, d16, d17
9367  .long  0xf2f81533                          // vshl.s32      d17, d19, #24
9368  .long  0xf26001b2                          // vorr          d16, d16, d18
9369  .long  0xf26001b1                          // vorr          d16, d16, d17
9370  .long  0x0a000004                          // beq           34fc <sk_store_8888_vfp4+0x7c>
9371  .long  0xedcc0b00                          // vstr          d16, [ip]
9372  .long  0xe591c004                          // ldr           ip, [r1, #4]
9373  .long  0xe2811008                          // add           r1, r1, #8
9374  .long  0xe8bd4800                          // pop           {fp, lr}
9375  .long  0xe12fff1c                          // bx            ip
9376  .long  0xf4cc083f                          // vst1.32       {d16[0]}, [ip :32]
9377  .long  0xeafffff9                          // b             34ec <sk_store_8888_vfp4+0x6c>
9378  .long  0xe320f000                          // nop           {0}
9379  .long  0x437f0000                          // .word         0x437f0000
9380  .long  0x437f0000                          // .word         0x437f0000
9381
9382HIDDEN _sk_store_8888_2d_vfp4
9383.globl _sk_store_8888_2d_vfp4
9384FUNCTION(_sk_store_8888_2d_vfp4)
9385_sk_store_8888_2d_vfp4:
9386  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
9387  .long  0xeddf0b21                          // vldr          d16, [pc, #132]
9388  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
9389  .long  0xf2412c30                          // vfma.f32      d18, d1, d16
9390  .long  0xe591c000                          // ldr           ip, [r1]
9391  .long  0xf2c3361f                          // vmov.i32      d19, #1056964608
9392  .long  0xe59d5010                          // ldr           r5, [sp, #16]
9393  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
9394  .long  0xf2423c30                          // vfma.f32      d19, d2, d16
9395  .long  0xe59ce000                          // ldr           lr, [ip]
9396  .long  0xf2c3461f                          // vmov.i32      d20, #1056964608
9397  .long  0xe59cc004                          // ldr           ip, [ip, #4]
9398  .long  0xf2401c30                          // vfma.f32      d17, d0, d16
9399  .long  0xe3550001                          // cmp           r5, #1
9400  .long  0xf2434c30                          // vfma.f32      d20, d3, d16
9401  .long  0xe00c039c                          // mul           ip, ip, r3
9402  .long  0xf3fb07a2                          // vcvt.u32.f32  d16, d18
9403  .long  0xf3fb27a3                          // vcvt.u32.f32  d18, d19
9404  .long  0xf3fb17a1                          // vcvt.u32.f32  d17, d17
9405  .long  0xe08e410c                          // add           r4, lr, ip, lsl #2
9406  .long  0xf3fb37a4                          // vcvt.u32.f32  d19, d20
9407  .long  0xe084c102                          // add           ip, r4, r2, lsl #2
9408  .long  0xf2e80530                          // vshl.s32      d16, d16, #8
9409  .long  0xf2f02532                          // vshl.s32      d18, d18, #16
9410  .long  0xf26001b1                          // vorr          d16, d16, d17
9411  .long  0xf2f81533                          // vshl.s32      d17, d19, #24
9412  .long  0xf26001b2                          // vorr          d16, d16, d18
9413  .long  0xf26001b1                          // vorr          d16, d16, d17
9414  .long  0x0a000004                          // beq           3598 <sk_store_8888_2d_vfp4+0x88>
9415  .long  0xedcc0b00                          // vstr          d16, [ip]
9416  .long  0xe591c004                          // ldr           ip, [r1, #4]
9417  .long  0xe2811008                          // add           r1, r1, #8
9418  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
9419  .long  0xe12fff1c                          // bx            ip
9420  .long  0xf4cc083f                          // vst1.32       {d16[0]}, [ip :32]
9421  .long  0xeafffff9                          // b             3588 <sk_store_8888_2d_vfp4+0x78>
9422  .long  0x437f0000                          // .word         0x437f0000
9423  .long  0x437f0000                          // .word         0x437f0000
9424
9425HIDDEN _sk_load_bgra_vfp4
9426.globl _sk_load_bgra_vfp4
9427FUNCTION(_sk_load_bgra_vfp4)
9428_sk_load_bgra_vfp4:
9429  .long  0xe92d4800                          // push          {fp, lr}
9430  .long  0xe591c000                          // ldr           ip, [r1]
9431  .long  0xe59de008                          // ldr           lr, [sp, #8]
9432  .long  0xe59cc000                          // ldr           ip, [ip]
9433  .long  0xe35e0001                          // cmp           lr, #1
9434  .long  0xe08cc102                          // add           ip, ip, r2, lsl #2
9435  .long  0x0a000014                          // beq           3618 <sk_load_bgra_vfp4+0x70>
9436  .long  0xed9c0b00                          // vldr          d0, [ip]
9437  .long  0xf3c7001f                          // vmov.i32      d16, #255
9438  .long  0xe591c004                          // ldr           ip, [r1, #4]
9439  .long  0xf3f01010                          // vshr.u32      d17, d0, #16
9440  .long  0xe2811008                          // add           r1, r1, #8
9441  .long  0xf3f83010                          // vshr.u32      d19, d0, #8
9442  .long  0xf3e82010                          // vshr.u32      d18, d0, #24
9443  .long  0xf24111b0                          // vand          d17, d17, d16
9444  .long  0xf2404130                          // vand          d20, d0, d16
9445  .long  0xf24301b0                          // vand          d16, d19, d16
9446  .long  0xf3fb3624                          // vcvt.f32.s32  d19, d20
9447  .long  0xeddf4b0c                          // vldr          d20, [pc, #48]
9448  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
9449  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
9450  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
9451  .long  0xf3032db4                          // vmul.f32      d2, d19, d20
9452  .long  0xf3023db4                          // vmul.f32      d3, d18, d20
9453  .long  0xf3010db4                          // vmul.f32      d0, d17, d20
9454  .long  0xf3001db4                          // vmul.f32      d1, d16, d20
9455  .long  0xe8bd4800                          // pop           {fp, lr}
9456  .long  0xe12fff1c                          // bx            ip
9457  .long  0xeddf0a04                          // vldr          s1, [pc, #16]
9458  .long  0xed9c0a00                          // vldr          s0, [ip]
9459  .long  0xeaffffe8                          // b             35c8 <sk_load_bgra_vfp4+0x20>
9460  .long  0xe320f000                          // nop           {0}
9461  .long  0x3b808081                          // .word         0x3b808081
9462  .long  0x3b808081                          // .word         0x3b808081
9463  .long  0x00000000                          // .word         0x00000000
9464  .long  0xe320f000                          // .word         0xe320f000
9465
9466HIDDEN _sk_load_bgra_dst_vfp4
9467.globl _sk_load_bgra_dst_vfp4
9468FUNCTION(_sk_load_bgra_dst_vfp4)
9469_sk_load_bgra_dst_vfp4:
9470  .long  0xe92d4800                          // push          {fp, lr}
9471  .long  0xe591c000                          // ldr           ip, [r1]
9472  .long  0xe59de008                          // ldr           lr, [sp, #8]
9473  .long  0xe59cc000                          // ldr           ip, [ip]
9474  .long  0xe35e0001                          // cmp           lr, #1
9475  .long  0xe08cc102                          // add           ip, ip, r2, lsl #2
9476  .long  0x0a000014                          // beq           36a8 <sk_load_bgra_dst_vfp4+0x70>
9477  .long  0xed9c4b00                          // vldr          d4, [ip]
9478  .long  0xf3c7001f                          // vmov.i32      d16, #255
9479  .long  0xe591c004                          // ldr           ip, [r1, #4]
9480  .long  0xf3f01014                          // vshr.u32      d17, d4, #16
9481  .long  0xe2811008                          // add           r1, r1, #8
9482  .long  0xf3f83014                          // vshr.u32      d19, d4, #8
9483  .long  0xf3e82014                          // vshr.u32      d18, d4, #24
9484  .long  0xf24111b0                          // vand          d17, d17, d16
9485  .long  0xf2444130                          // vand          d20, d4, d16
9486  .long  0xf24301b0                          // vand          d16, d19, d16
9487  .long  0xf3fb3624                          // vcvt.f32.s32  d19, d20
9488  .long  0xeddf4b0c                          // vldr          d20, [pc, #48]
9489  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
9490  .long  0xf3fb1621                          // vcvt.f32.s32  d17, d17
9491  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
9492  .long  0xf3036db4                          // vmul.f32      d6, d19, d20
9493  .long  0xf3027db4                          // vmul.f32      d7, d18, d20
9494  .long  0xf3014db4                          // vmul.f32      d4, d17, d20
9495  .long  0xf3005db4                          // vmul.f32      d5, d16, d20
9496  .long  0xe8bd4800                          // pop           {fp, lr}
9497  .long  0xe12fff1c                          // bx            ip
9498  .long  0xeddf4a04                          // vldr          s9, [pc, #16]
9499  .long  0xed9c4a00                          // vldr          s8, [ip]
9500  .long  0xeaffffe8                          // b             3658 <sk_load_bgra_dst_vfp4+0x20>
9501  .long  0xe320f000                          // nop           {0}
9502  .long  0x3b808081                          // .word         0x3b808081
9503  .long  0x3b808081                          // .word         0x3b808081
9504  .long  0x00000000                          // .word         0x00000000
9505  .long  0xe320f000                          // .word         0xe320f000
9506
9507HIDDEN _sk_gather_bgra_vfp4
9508.globl _sk_gather_bgra_vfp4
9509FUNCTION(_sk_gather_bgra_vfp4)
9510_sk_gather_bgra_vfp4:
9511  .long  0xe92d4070                          // push          {r4, r5, r6, lr}
9512  .long  0xe591e000                          // ldr           lr, [r1]
9513  .long  0xf3fb0701                          // vcvt.s32.f32  d16, d1
9514  .long  0xf3fb1700                          // vcvt.s32.f32  d17, d0
9515  .long  0xe591c004                          // ldr           ip, [r1, #4]
9516  .long  0xe2811008                          // add           r1, r1, #8
9517  .long  0xe49e4004                          // ldr           r4, [lr], #4
9518  .long  0xf4ee2c9f                          // vld1.32       {d18[]}, [lr :32]
9519  .long  0xf26219a0                          // vmla.i32      d17, d18, d16
9520  .long  0xee11eb90                          // vmov.32       lr, d17[0]
9521  .long  0xee316b90                          // vmov.32       r6, d17[1]
9522  .long  0xf3c7101f                          // vmov.i32      d17, #255
9523  .long  0xe084510e                          // add           r5, r4, lr, lsl #2
9524  .long  0xe0846106                          // add           r6, r4, r6, lsl #2
9525  .long  0xf4e5083f                          // vld1.32       {d16[0]}, [r5 :32]
9526  .long  0xf4e608bf                          // vld1.32       {d16[1]}, [r6 :32]
9527  .long  0xf24021b1                          // vand          d18, d16, d17
9528  .long  0xf3f03030                          // vshr.u32      d19, d16, #16
9529  .long  0xf3e84030                          // vshr.u32      d20, d16, #24
9530  .long  0xf3f80030                          // vshr.u32      d16, d16, #8
9531  .long  0xf24331b1                          // vand          d19, d19, d17
9532  .long  0xf24001b1                          // vand          d16, d16, d17
9533  .long  0xeddf1b0a                          // vldr          d17, [pc, #40]
9534  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
9535  .long  0xf3fb4624                          // vcvt.f32.s32  d20, d20
9536  .long  0xf3fb3623                          // vcvt.f32.s32  d19, d19
9537  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
9538  .long  0xf3022db1                          // vmul.f32      d2, d18, d17
9539  .long  0xf3043db1                          // vmul.f32      d3, d20, d17
9540  .long  0xf3030db1                          // vmul.f32      d0, d19, d17
9541  .long  0xf3001db1                          // vmul.f32      d1, d16, d17
9542  .long  0xe8bd4070                          // pop           {r4, r5, r6, lr}
9543  .long  0xe12fff1c                          // bx            ip
9544  .long  0xe320f000                          // nop           {0}
9545  .long  0x3b808081                          // .word         0x3b808081
9546  .long  0x3b808081                          // .word         0x3b808081
9547
9548HIDDEN _sk_store_bgra_vfp4
9549.globl _sk_store_bgra_vfp4
9550FUNCTION(_sk_store_bgra_vfp4)
9551_sk_store_bgra_vfp4:
9552  .long  0xe92d4800                          // push          {fp, lr}
9553  .long  0xeddf0b1f                          // vldr          d16, [pc, #124]
9554  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
9555  .long  0xf2402c30                          // vfma.f32      d18, d0, d16
9556  .long  0xe591c000                          // ldr           ip, [r1]
9557  .long  0xf2c3361f                          // vmov.i32      d19, #1056964608
9558  .long  0xe59de008                          // ldr           lr, [sp, #8]
9559  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
9560  .long  0xf2413c30                          // vfma.f32      d19, d1, d16
9561  .long  0xe59cc000                          // ldr           ip, [ip]
9562  .long  0xf2c3461f                          // vmov.i32      d20, #1056964608
9563  .long  0xe35e0001                          // cmp           lr, #1
9564  .long  0xf2421c30                          // vfma.f32      d17, d2, d16
9565  .long  0xe08cc102                          // add           ip, ip, r2, lsl #2
9566  .long  0xf2434c30                          // vfma.f32      d20, d3, d16
9567  .long  0xf3fb07a2                          // vcvt.u32.f32  d16, d18
9568  .long  0xf3fb27a3                          // vcvt.u32.f32  d18, d19
9569  .long  0xf3fb17a1                          // vcvt.u32.f32  d17, d17
9570  .long  0xf3fb37a4                          // vcvt.u32.f32  d19, d20
9571  .long  0xf2f00530                          // vshl.s32      d16, d16, #16
9572  .long  0xf2e82532                          // vshl.s32      d18, d18, #8
9573  .long  0xf26101b0                          // vorr          d16, d17, d16
9574  .long  0xf2f81533                          // vshl.s32      d17, d19, #24
9575  .long  0xf26001b2                          // vorr          d16, d16, d18
9576  .long  0xf26001b1                          // vorr          d16, d16, d17
9577  .long  0x0a000004                          // beq           37d4 <sk_store_bgra_vfp4+0x7c>
9578  .long  0xedcc0b00                          // vstr          d16, [ip]
9579  .long  0xe591c004                          // ldr           ip, [r1, #4]
9580  .long  0xe2811008                          // add           r1, r1, #8
9581  .long  0xe8bd4800                          // pop           {fp, lr}
9582  .long  0xe12fff1c                          // bx            ip
9583  .long  0xf4cc083f                          // vst1.32       {d16[0]}, [ip :32]
9584  .long  0xeafffff9                          // b             37c4 <sk_store_bgra_vfp4+0x6c>
9585  .long  0xe320f000                          // nop           {0}
9586  .long  0x437f0000                          // .word         0x437f0000
9587  .long  0x437f0000                          // .word         0x437f0000
9588
9589HIDDEN _sk_load_f16_vfp4
9590.globl _sk_load_f16_vfp4
9591FUNCTION(_sk_load_f16_vfp4)
9592_sk_load_f16_vfp4:
9593  .long  0xe92d4800                          // push          {fp, lr}
9594  .long  0xe591c000                          // ldr           ip, [r1]
9595  .long  0xe59de008                          // ldr           lr, [sp, #8]
9596  .long  0xe59cc000                          // ldr           ip, [ip]
9597  .long  0xe35e0000                          // cmp           lr, #0
9598  .long  0xe08cc182                          // add           ip, ip, r2, lsl #3
9599  .long  0xf4ec070f                          // vld4.16       {d16[0],d17[0],d18[0],d19[0]}, [ip]
9600  .long  0x1a000001                          // bne           3810 <sk_load_f16_vfp4+0x28>
9601  .long  0xe28cc008                          // add           ip, ip, #8
9602  .long  0xf4ec074f                          // vld4.16       {d16[1],d17[1],d18[1],d19[1]}, [ip]
9603  .long  0xf3b60720                          // vcvt.f32.f16  q0, d16
9604  .long  0xe591c004                          // ldr           ip, [r1, #4]
9605  .long  0xe2811008                          // add           r1, r1, #8
9606  .long  0xf3b62722                          // vcvt.f32.f16  q1, d18
9607  .long  0xf3f64721                          // vcvt.f32.f16  q10, d17
9608  .long  0xf3f60723                          // vcvt.f32.f16  q8, d19
9609  .long  0xf22411b4                          // vorr          d1, d20, d20
9610  .long  0xf22031b0                          // vorr          d3, d16, d16
9611  .long  0xe8bd4800                          // pop           {fp, lr}
9612  .long  0xe12fff1c                          // bx            ip
9613
9614HIDDEN _sk_load_f16_dst_vfp4
9615.globl _sk_load_f16_dst_vfp4
9616FUNCTION(_sk_load_f16_dst_vfp4)
9617_sk_load_f16_dst_vfp4:
9618  .long  0xe92d4800                          // push          {fp, lr}
9619  .long  0xe591c000                          // ldr           ip, [r1]
9620  .long  0xe59de008                          // ldr           lr, [sp, #8]
9621  .long  0xe59cc000                          // ldr           ip, [ip]
9622  .long  0xe35e0000                          // cmp           lr, #0
9623  .long  0xe08cc182                          // add           ip, ip, r2, lsl #3
9624  .long  0xf4ec070f                          // vld4.16       {d16[0],d17[0],d18[0],d19[0]}, [ip]
9625  .long  0x1a000001                          // bne           3860 <sk_load_f16_dst_vfp4+0x28>
9626  .long  0xe28cc008                          // add           ip, ip, #8
9627  .long  0xf4ec074f                          // vld4.16       {d16[1],d17[1],d18[1],d19[1]}, [ip]
9628  .long  0xf3b64720                          // vcvt.f32.f16  q2, d16
9629  .long  0xe591c004                          // ldr           ip, [r1, #4]
9630  .long  0xe2811008                          // add           r1, r1, #8
9631  .long  0xf3b66722                          // vcvt.f32.f16  q3, d18
9632  .long  0xf3f64721                          // vcvt.f32.f16  q10, d17
9633  .long  0xf3f60723                          // vcvt.f32.f16  q8, d19
9634  .long  0xf22451b4                          // vorr          d5, d20, d20
9635  .long  0xf22071b0                          // vorr          d7, d16, d16
9636  .long  0xe8bd4800                          // pop           {fp, lr}
9637  .long  0xe12fff1c                          // bx            ip
9638
9639HIDDEN _sk_gather_f16_vfp4
9640.globl _sk_gather_f16_vfp4
9641FUNCTION(_sk_gather_f16_vfp4)
9642_sk_gather_f16_vfp4:
9643  .long  0xe92d4c10                          // push          {r4, sl, fp, lr}
9644  .long  0xe28db008                          // add           fp, sp, #8
9645  .long  0xe24dd020                          // sub           sp, sp, #32
9646  .long  0xe7c3d01f                          // bfc           sp, #0, #4
9647  .long  0xe591c000                          // ldr           ip, [r1]
9648  .long  0xf3fb0701                          // vcvt.s32.f32  d16, d1
9649  .long  0xf3fb1700                          // vcvt.s32.f32  d17, d0
9650  .long  0xe49ce004                          // ldr           lr, [ip], #4
9651  .long  0xf4ec2c9f                          // vld1.32       {d18[]}, [ip :32]
9652  .long  0xf26219a0                          // vmla.i32      d17, d18, d16
9653  .long  0xee314b90                          // vmov.32       r4, d17[1]
9654  .long  0xee11cb90                          // vmov.32       ip, d17[0]
9655  .long  0xe08e4184                          // add           r4, lr, r4, lsl #3
9656  .long  0xe08ec18c                          // add           ip, lr, ip, lsl #3
9657  .long  0xedd41b00                          // vldr          d17, [r4]
9658  .long  0xe28d4010                          // add           r4, sp, #16
9659  .long  0xeddc0b00                          // vldr          d16, [ip]
9660  .long  0xe59bc008                          // ldr           ip, [fp, #8]
9661  .long  0xf4440aef                          // vst1.64       {d16-d17}, [r4 :128]
9662  .long  0xf4e4071f                          // vld4.16       {d16[0],d17[0],d18[0],d19[0]}, [r4 :64]
9663  .long  0xe3844008                          // orr           r4, r4, #8
9664  .long  0xf4e4075f                          // vld4.16       {d16[1],d17[1],d18[1],d19[1]}, [r4 :64]
9665  .long  0xf3b60720                          // vcvt.f32.f16  q0, d16
9666  .long  0xf3b62722                          // vcvt.f32.f16  q1, d18
9667  .long  0xe5914004                          // ldr           r4, [r1, #4]
9668  .long  0xe2811008                          // add           r1, r1, #8
9669  .long  0xe58dc000                          // str           ip, [sp]
9670  .long  0xf3f64721                          // vcvt.f32.f16  q10, d17
9671  .long  0xf3f60723                          // vcvt.f32.f16  q8, d19
9672  .long  0xf22411b4                          // vorr          d1, d20, d20
9673  .long  0xf22031b0                          // vorr          d3, d16, d16
9674  .long  0xe12fff34                          // blx           r4
9675  .long  0xe24bd008                          // sub           sp, fp, #8
9676  .long  0xe8bd8c10                          // pop           {r4, sl, fp, pc}
9677
9678HIDDEN _sk_store_f16_vfp4
9679.globl _sk_store_f16_vfp4
9680FUNCTION(_sk_store_f16_vfp4)
9681_sk_store_f16_vfp4:
9682  .long  0xe92d4800                          // push          {fp, lr}
9683  .long  0xf2630113                          // vorr          d16, d3, d3
9684  .long  0xe591c000                          // ldr           ip, [r1]
9685  .long  0xf2612111                          // vorr          d18, d1, d1
9686  .long  0xe59de008                          // ldr           lr, [sp, #8]
9687  .long  0xf3f67620                          // vcvt.f16.f32  d23, q8
9688  .long  0xe59cc000                          // ldr           ip, [ip]
9689  .long  0xe35e0000                          // cmp           lr, #0
9690  .long  0xf3f66602                          // vcvt.f16.f32  d22, q1
9691  .long  0xe08cc182                          // add           ip, ip, r2, lsl #3
9692  .long  0xf3f65622                          // vcvt.f16.f32  d21, q9
9693  .long  0xf3f64600                          // vcvt.f16.f32  d20, q0
9694  .long  0xf4cc470f                          // vst4.16       {d20[0],d21[0],d22[0],d23[0]}, [ip]
9695  .long  0x1a000001                          // bne           3950 <sk_store_f16_vfp4+0x40>
9696  .long  0xe28cc008                          // add           ip, ip, #8
9697  .long  0xf4cc474f                          // vst4.16       {d20[1],d21[1],d22[1],d23[1]}, [ip]
9698  .long  0xe591c004                          // ldr           ip, [r1, #4]
9699  .long  0xe2811008                          // add           r1, r1, #8
9700  .long  0xf22211b2                          // vorr          d1, d18, d18
9701  .long  0xf22031b0                          // vorr          d3, d16, d16
9702  .long  0xe8bd4800                          // pop           {fp, lr}
9703  .long  0xe12fff1c                          // bx            ip
9704
9705HIDDEN _sk_load_u16_be_vfp4
9706.globl _sk_load_u16_be_vfp4
9707FUNCTION(_sk_load_u16_be_vfp4)
9708_sk_load_u16_be_vfp4:
9709  .long  0xe92d4bf0                          // push          {r4, r5, r6, r7, r8, r9, fp, lr}
9710  .long  0xe591c000                          // ldr           ip, [r1]
9711  .long  0xe59de020                          // ldr           lr, [sp, #32]
9712  .long  0xe59cc000                          // ldr           ip, [ip]
9713  .long  0xe35e0000                          // cmp           lr, #0
9714  .long  0xe08cc182                          // add           ip, ip, r2, lsl #3
9715  .long  0xf4ec070f                          // vld4.16       {d16[0],d17[0],d18[0],d19[0]}, [ip]
9716  .long  0x1a000001                          // bne           3990 <sk_load_u16_be_vfp4+0x28>
9717  .long  0xe28cc008                          // add           ip, ip, #8
9718  .long  0xf4ec074f                          // vld4.16       {d16[1],d17[1],d18[1],d19[1]}, [ip]
9719  .long  0xee90cbb0                          // vmov.u16      ip, d16[0]
9720  .long  0xee937bb0                          // vmov.u16      r7, d19[0]
9721  .long  0xee92ebb0                          // vmov.u16      lr, d18[0]
9722  .long  0xee914bb0                          // vmov.u16      r4, d17[0]
9723  .long  0xee905bf0                          // vmov.u16      r5, d16[1]
9724  .long  0xee939bf0                          // vmov.u16      r9, d19[1]
9725  .long  0xf3c73c1f                          // vmov.i32      d19, #65535
9726  .long  0xee926bf0                          // vmov.u16      r6, d18[1]
9727  .long  0xee918bf0                          // vmov.u16      r8, d17[1]
9728  .long  0xee00cb90                          // vmov.32       d16[0], ip
9729  .long  0xe591c004                          // ldr           ip, [r1, #4]
9730  .long  0xe2811008                          // add           r1, r1, #8
9731  .long  0xee01eb90                          // vmov.32       d17[0], lr
9732  .long  0xee024b90                          // vmov.32       d18[0], r4
9733  .long  0xee047b90                          // vmov.32       d20[0], r7
9734  .long  0xee205b90                          // vmov.32       d16[1], r5
9735  .long  0xf24051b3                          // vand          d21, d16, d19
9736  .long  0xee216b90                          // vmov.32       d17[1], r6
9737  .long  0xf2e80530                          // vshl.s32      d16, d16, #8
9738  .long  0xee228b90                          // vmov.32       d18[1], r8
9739  .long  0xf24161b3                          // vand          d22, d17, d19
9740  .long  0xf3f85035                          // vshr.u32      d21, d21, #8
9741  .long  0xee249b90                          // vmov.32       d20[1], r9
9742  .long  0xf24271b3                          // vand          d23, d18, d19
9743  .long  0xf26001b5                          // vorr          d16, d16, d21
9744  .long  0xf24481b3                          // vand          d24, d20, d19
9745  .long  0xf2e82532                          // vshl.s32      d18, d18, #8
9746  .long  0xf3f87037                          // vshr.u32      d23, d23, #8
9747  .long  0xf2e81531                          // vshl.s32      d17, d17, #8
9748  .long  0xf3f86036                          // vshr.u32      d22, d22, #8
9749  .long  0xf2e84534                          // vshl.s32      d20, d20, #8
9750  .long  0xf3f85038                          // vshr.u32      d21, d24, #8
9751  .long  0xf26221b7                          // vorr          d18, d18, d23
9752  .long  0xf26111b6                          // vorr          d17, d17, d22
9753  .long  0xf26441b5                          // vorr          d20, d20, d21
9754  .long  0xf24001b3                          // vand          d16, d16, d19
9755  .long  0xf24221b3                          // vand          d18, d18, d19
9756  .long  0xf24111b3                          // vand          d17, d17, d19
9757  .long  0xf24431b3                          // vand          d19, d20, d19
9758  .long  0xeddf4b09                          // vldr          d20, [pc, #36]
9759  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
9760  .long  0xf3fb26a2                          // vcvt.f32.u32  d18, d18
9761  .long  0xf3fb16a1                          // vcvt.f32.u32  d17, d17
9762  .long  0xf3fb36a3                          // vcvt.f32.u32  d19, d19
9763  .long  0xf3000db4                          // vmul.f32      d0, d16, d20
9764  .long  0xf3021db4                          // vmul.f32      d1, d18, d20
9765  .long  0xf3012db4                          // vmul.f32      d2, d17, d20
9766  .long  0xf3033db4                          // vmul.f32      d3, d19, d20
9767  .long  0xe8bd4bf0                          // pop           {r4, r5, r6, r7, r8, r9, fp, lr}
9768  .long  0xe12fff1c                          // bx            ip
9769  .long  0x37800080                          // .word         0x37800080
9770  .long  0x37800080                          // .word         0x37800080
9771
9772HIDDEN _sk_load_rgb_u16_be_vfp4
9773.globl _sk_load_rgb_u16_be_vfp4
9774FUNCTION(_sk_load_rgb_u16_be_vfp4)
9775_sk_load_rgb_u16_be_vfp4:
9776  .long  0xe92d48f0                          // push          {r4, r5, r6, r7, fp, lr}
9777  .long  0xe591c000                          // ldr           ip, [r1]
9778  .long  0xe082e082                          // add           lr, r2, r2, lsl #1
9779  .long  0xe59cc000                          // ldr           ip, [ip]
9780  .long  0xe08cc08e                          // add           ip, ip, lr, lsl #1
9781  .long  0xe59de018                          // ldr           lr, [sp, #24]
9782  .long  0xf4ec060f                          // vld3.16       {d16[0],d17[0],d18[0]}, [ip]
9783  .long  0xe35e0000                          // cmp           lr, #0
9784  .long  0x1a000001                          // bne           3a8c <sk_load_rgb_u16_be_vfp4+0x2c>
9785  .long  0xe28cc006                          // add           ip, ip, #6
9786  .long  0xf4ec064f                          // vld3.16       {d16[1],d17[1],d18[1]}, [ip]
9787  .long  0xee90cbb0                          // vmov.u16      ip, d16[0]
9788  .long  0xf2873f10                          // vmov.f32      d3, #1
9789  .long  0xee91ebb0                          // vmov.u16      lr, d17[0]
9790  .long  0xee924bb0                          // vmov.u16      r4, d18[0]
9791  .long  0xee927bf0                          // vmov.u16      r7, d18[1]
9792  .long  0xf3c73c1f                          // vmov.i32      d19, #65535
9793  .long  0xee905bf0                          // vmov.u16      r5, d16[1]
9794  .long  0xee916bf0                          // vmov.u16      r6, d17[1]
9795  .long  0xee00cb90                          // vmov.32       d16[0], ip
9796  .long  0xe591c004                          // ldr           ip, [r1, #4]
9797  .long  0xe2811008                          // add           r1, r1, #8
9798  .long  0xee01eb90                          // vmov.32       d17[0], lr
9799  .long  0xee024b90                          // vmov.32       d18[0], r4
9800  .long  0xee205b90                          // vmov.32       d16[1], r5
9801  .long  0xee216b90                          // vmov.32       d17[1], r6
9802  .long  0xf24041b3                          // vand          d20, d16, d19
9803  .long  0xf2e80530                          // vshl.s32      d16, d16, #8
9804  .long  0xee227b90                          // vmov.32       d18[1], r7
9805  .long  0xf24151b3                          // vand          d21, d17, d19
9806  .long  0xf3f84034                          // vshr.u32      d20, d20, #8
9807  .long  0xf24261b3                          // vand          d22, d18, d19
9808  .long  0xf2e81531                          // vshl.s32      d17, d17, #8
9809  .long  0xf3f85035                          // vshr.u32      d21, d21, #8
9810  .long  0xf2e82532                          // vshl.s32      d18, d18, #8
9811  .long  0xf3f86036                          // vshr.u32      d22, d22, #8
9812  .long  0xf26001b4                          // vorr          d16, d16, d20
9813  .long  0xf26111b5                          // vorr          d17, d17, d21
9814  .long  0xf26221b6                          // vorr          d18, d18, d22
9815  .long  0xf24001b3                          // vand          d16, d16, d19
9816  .long  0xf24111b3                          // vand          d17, d17, d19
9817  .long  0xf24221b3                          // vand          d18, d18, d19
9818  .long  0xeddf3b08                          // vldr          d19, [pc, #32]
9819  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
9820  .long  0xf3fb16a1                          // vcvt.f32.u32  d17, d17
9821  .long  0xf3fb26a2                          // vcvt.f32.u32  d18, d18
9822  .long  0xf3000db3                          // vmul.f32      d0, d16, d19
9823  .long  0xf3011db3                          // vmul.f32      d1, d17, d19
9824  .long  0xf3022db3                          // vmul.f32      d2, d18, d19
9825  .long  0xe8bd48f0                          // pop           {r4, r5, r6, r7, fp, lr}
9826  .long  0xe12fff1c                          // bx            ip
9827  .long  0xe320f000                          // nop           {0}
9828  .long  0x37800080                          // .word         0x37800080
9829  .long  0x37800080                          // .word         0x37800080
9830
9831HIDDEN _sk_store_u16_be_vfp4
9832.globl _sk_store_u16_be_vfp4
9833FUNCTION(_sk_store_u16_be_vfp4)
9834_sk_store_u16_be_vfp4:
9835  .long  0xe92d4800                          // push          {fp, lr}
9836  .long  0xeddf0b2d                          // vldr          d16, [pc, #180]
9837  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
9838  .long  0xf2c3361f                          // vmov.i32      d19, #1056964608
9839  .long  0xe591c000                          // ldr           ip, [r1]
9840  .long  0xf2432c30                          // vfma.f32      d18, d3, d16
9841  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
9842  .long  0xf2c3461f                          // vmov.i32      d20, #1056964608
9843  .long  0xf2423c30                          // vfma.f32      d19, d2, d16
9844  .long  0xf2414c30                          // vfma.f32      d20, d1, d16
9845  .long  0xf2401c30                          // vfma.f32      d17, d0, d16
9846  .long  0xf3fb07a2                          // vcvt.u32.f32  d16, d18
9847  .long  0xf3fb27a3                          // vcvt.u32.f32  d18, d19
9848  .long  0xf3c73c1f                          // vmov.i32      d19, #65535
9849  .long  0xf3fb47a4                          // vcvt.u32.f32  d20, d20
9850  .long  0xf3fb17a1                          // vcvt.u32.f32  d17, d17
9851  .long  0xf24051b3                          // vand          d21, d16, d19
9852  .long  0xf24261b3                          // vand          d22, d18, d19
9853  .long  0xf24471b3                          // vand          d23, d20, d19
9854  .long  0xf24131b3                          // vand          d19, d17, d19
9855  .long  0xf2e80530                          // vshl.s32      d16, d16, #8
9856  .long  0xf3f85035                          // vshr.u32      d21, d21, #8
9857  .long  0xf2e88532                          // vshl.s32      d24, d18, #8
9858  .long  0xf3f86036                          // vshr.u32      d22, d22, #8
9859  .long  0xf2e84534                          // vshl.s32      d20, d20, #8
9860  .long  0xf3f87037                          // vshr.u32      d23, d23, #8
9861  .long  0xf2e89531                          // vshl.s32      d25, d17, #8
9862  .long  0xf3f8a033                          // vshr.u32      d26, d19, #8
9863  .long  0xf26031b5                          // vorr          d19, d16, d21
9864  .long  0xf26821b6                          // vorr          d18, d24, d22
9865  .long  0xf26411b7                          // vorr          d17, d20, d23
9866  .long  0xf26901ba                          // vorr          d16, d25, d26
9867  .long  0xf3f63124                          // vuzp.16       d19, d20
9868  .long  0xe59cc000                          // ldr           ip, [ip]
9869  .long  0xf3f62124                          // vuzp.16       d18, d20
9870  .long  0xe59de008                          // ldr           lr, [sp, #8]
9871  .long  0xe08cc182                          // add           ip, ip, r2, lsl #3
9872  .long  0xf3f61124                          // vuzp.16       d17, d20
9873  .long  0xe35e0000                          // cmp           lr, #0
9874  .long  0xf3f60124                          // vuzp.16       d16, d20
9875  .long  0xf4cc070f                          // vst4.16       {d16[0],d17[0],d18[0],d19[0]}, [ip]
9876  .long  0x1a000001                          // bne           3be8 <sk_store_u16_be_vfp4+0xb0>
9877  .long  0xe28cc008                          // add           ip, ip, #8
9878  .long  0xf4cc074f                          // vst4.16       {d16[1],d17[1],d18[1],d19[1]}, [ip]
9879  .long  0xe591c004                          // ldr           ip, [r1, #4]
9880  .long  0xe2811008                          // add           r1, r1, #8
9881  .long  0xe8bd4800                          // pop           {fp, lr}
9882  .long  0xe12fff1c                          // bx            ip
9883  .long  0x477fff00                          // .word         0x477fff00
9884  .long  0x477fff00                          // .word         0x477fff00
9885
9886HIDDEN _sk_load_f32_vfp4
9887.globl _sk_load_f32_vfp4
9888FUNCTION(_sk_load_f32_vfp4)
9889_sk_load_f32_vfp4:
9890  .long  0xe92d4800                          // push          {fp, lr}
9891  .long  0xe591c000                          // ldr           ip, [r1]
9892  .long  0xe59de008                          // ldr           lr, [sp, #8]
9893  .long  0xe59cc000                          // ldr           ip, [ip]
9894  .long  0xe35e0000                          // cmp           lr, #0
9895  .long  0xe08cc202                          // add           ip, ip, r2, lsl #4
9896  .long  0x1a000004                          // bne           3c30 <sk_load_f32_vfp4+0x30>
9897  .long  0xf42c008f                          // vld4.32       {d0-d3}, [ip]
9898  .long  0xe591c004                          // ldr           ip, [r1, #4]
9899  .long  0xe2811008                          // add           r1, r1, #8
9900  .long  0xe8bd4800                          // pop           {fp, lr}
9901  .long  0xe12fff1c                          // bx            ip
9902  .long  0xf4ac0f8f                          // vld4.32       {d0[]-d3[]}, [ip]
9903  .long  0xeafffff9                          // b             3c20 <sk_load_f32_vfp4+0x20>
9904
9905HIDDEN _sk_load_f32_dst_vfp4
9906.globl _sk_load_f32_dst_vfp4
9907FUNCTION(_sk_load_f32_dst_vfp4)
9908_sk_load_f32_dst_vfp4:
9909  .long  0xe92d4800                          // push          {fp, lr}
9910  .long  0xe591c000                          // ldr           ip, [r1]
9911  .long  0xe59de008                          // ldr           lr, [sp, #8]
9912  .long  0xe59cc000                          // ldr           ip, [ip]
9913  .long  0xe35e0000                          // cmp           lr, #0
9914  .long  0xe08cc202                          // add           ip, ip, r2, lsl #4
9915  .long  0x1a000004                          // bne           3c68 <sk_load_f32_dst_vfp4+0x30>
9916  .long  0xf42c408f                          // vld4.32       {d4-d7}, [ip]
9917  .long  0xe591c004                          // ldr           ip, [r1, #4]
9918  .long  0xe2811008                          // add           r1, r1, #8
9919  .long  0xe8bd4800                          // pop           {fp, lr}
9920  .long  0xe12fff1c                          // bx            ip
9921  .long  0xf4ac4f8f                          // vld4.32       {d4[]-d7[]}, [ip]
9922  .long  0xeafffff9                          // b             3c58 <sk_load_f32_dst_vfp4+0x20>
9923
9924HIDDEN _sk_store_f32_vfp4
9925.globl _sk_store_f32_vfp4
9926FUNCTION(_sk_store_f32_vfp4)
9927_sk_store_f32_vfp4:
9928  .long  0xe92d4800                          // push          {fp, lr}
9929  .long  0xe591c000                          // ldr           ip, [r1]
9930  .long  0xe59de008                          // ldr           lr, [sp, #8]
9931  .long  0xe59cc000                          // ldr           ip, [ip]
9932  .long  0xe35e0000                          // cmp           lr, #0
9933  .long  0xe08cc202                          // add           ip, ip, r2, lsl #4
9934  .long  0x1a000004                          // bne           3ca0 <sk_store_f32_vfp4+0x30>
9935  .long  0xf40c008f                          // vst4.32       {d0-d3}, [ip]
9936  .long  0xe591c004                          // ldr           ip, [r1, #4]
9937  .long  0xe2811008                          // add           r1, r1, #8
9938  .long  0xe8bd4800                          // pop           {fp, lr}
9939  .long  0xe12fff1c                          // bx            ip
9940  .long  0xf48c0b0f                          // vst4.32       {d0[0],d1[0],d2[0],d3[0]}, [ip]
9941  .long  0xeafffff9                          // b             3c90 <sk_store_f32_vfp4+0x20>
9942
9943HIDDEN _sk_clamp_x_vfp4
9944.globl _sk_clamp_x_vfp4
9945FUNCTION(_sk_clamp_x_vfp4)
9946_sk_clamp_x_vfp4:
9947  .long  0xe92d4800                          // push          {fp, lr}
9948  .long  0xf2c00010                          // vmov.i32      d16, #0
9949  .long  0xe591e000                          // ldr           lr, [r1]
9950  .long  0xf3c71e1f                          // vmov.i8       d17, #255
9951  .long  0xe591c004                          // ldr           ip, [r1, #4]
9952  .long  0xf2400f80                          // vmax.f32      d16, d16, d0
9953  .long  0xe2811008                          // add           r1, r1, #8
9954  .long  0xf4ee2c9f                          // vld1.32       {d18[]}, [lr :32]
9955  .long  0xf26218a1                          // vadd.i32      d17, d18, d17
9956  .long  0xf2200fa1                          // vmin.f32      d0, d16, d17
9957  .long  0xe8bd4800                          // pop           {fp, lr}
9958  .long  0xe12fff1c                          // bx            ip
9959
9960HIDDEN _sk_clamp_y_vfp4
9961.globl _sk_clamp_y_vfp4
9962FUNCTION(_sk_clamp_y_vfp4)
9963_sk_clamp_y_vfp4:
9964  .long  0xe92d4800                          // push          {fp, lr}
9965  .long  0xf2c00010                          // vmov.i32      d16, #0
9966  .long  0xe591e000                          // ldr           lr, [r1]
9967  .long  0xf3c71e1f                          // vmov.i8       d17, #255
9968  .long  0xe591c004                          // ldr           ip, [r1, #4]
9969  .long  0xf2400f81                          // vmax.f32      d16, d16, d1
9970  .long  0xe2811008                          // add           r1, r1, #8
9971  .long  0xf4ee2c9f                          // vld1.32       {d18[]}, [lr :32]
9972  .long  0xf26218a1                          // vadd.i32      d17, d18, d17
9973  .long  0xf2201fa1                          // vmin.f32      d1, d16, d17
9974  .long  0xe8bd4800                          // pop           {fp, lr}
9975  .long  0xe12fff1c                          // bx            ip
9976
9977HIDDEN _sk_repeat_x_vfp4
9978.globl _sk_repeat_x_vfp4
9979FUNCTION(_sk_repeat_x_vfp4)
9980_sk_repeat_x_vfp4:
9981  .long  0xe92d4800                          // push          {fp, lr}
9982  .long  0xe591e000                          // ldr           lr, [r1]
9983  .long  0xf2c03010                          // vmov.i32      d19, #0
9984  .long  0xeddf4b11                          // vldr          d20, [pc, #68]
9985  .long  0xe591c004                          // ldr           ip, [r1, #4]
9986  .long  0xe2811008                          // add           r1, r1, #8
9987  .long  0xf4ee0c9d                          // vld1.32       {d16[]}, [lr :32]!
9988  .long  0xf4ee1c9f                          // vld1.32       {d17[]}, [lr :32]
9989  .long  0xf3411d90                          // vmul.f32      d17, d17, d0
9990  .long  0xf3fb2721                          // vcvt.s32.f32  d18, d17
9991  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
9992  .long  0xf3621ea1                          // vcgt.f32      d17, d18, d17
9993  .long  0xf35411b3                          // vbsl          d17, d20, d19
9994  .long  0xf2621da1                          // vsub.f32      d17, d18, d17
9995  .long  0xf3c72e1f                          // vmov.i8       d18, #255
9996  .long  0xf3401db1                          // vmul.f32      d17, d16, d17
9997  .long  0xf26008a2                          // vadd.i32      d16, d16, d18
9998  .long  0xf2601d21                          // vsub.f32      d17, d0, d17
9999  .long  0xf2210fa0                          // vmin.f32      d0, d17, d16
10000  .long  0xe8bd4800                          // pop           {fp, lr}
10001  .long  0xe12fff1c                          // bx            ip
10002  .long  0xe320f000                          // nop           {0}
10003  .long  0x3f800000                          // .word         0x3f800000
10004  .long  0x3f800000                          // .word         0x3f800000
10005
10006HIDDEN _sk_repeat_y_vfp4
10007.globl _sk_repeat_y_vfp4
10008FUNCTION(_sk_repeat_y_vfp4)
10009_sk_repeat_y_vfp4:
10010  .long  0xe92d4800                          // push          {fp, lr}
10011  .long  0xe591e000                          // ldr           lr, [r1]
10012  .long  0xf2c03010                          // vmov.i32      d19, #0
10013  .long  0xeddf4b11                          // vldr          d20, [pc, #68]
10014  .long  0xe591c004                          // ldr           ip, [r1, #4]
10015  .long  0xe2811008                          // add           r1, r1, #8
10016  .long  0xf4ee0c9d                          // vld1.32       {d16[]}, [lr :32]!
10017  .long  0xf4ee1c9f                          // vld1.32       {d17[]}, [lr :32]
10018  .long  0xf3411d91                          // vmul.f32      d17, d17, d1
10019  .long  0xf3fb2721                          // vcvt.s32.f32  d18, d17
10020  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
10021  .long  0xf3621ea1                          // vcgt.f32      d17, d18, d17
10022  .long  0xf35411b3                          // vbsl          d17, d20, d19
10023  .long  0xf2621da1                          // vsub.f32      d17, d18, d17
10024  .long  0xf3c72e1f                          // vmov.i8       d18, #255
10025  .long  0xf3401db1                          // vmul.f32      d17, d16, d17
10026  .long  0xf26008a2                          // vadd.i32      d16, d16, d18
10027  .long  0xf2611d21                          // vsub.f32      d17, d1, d17
10028  .long  0xf2211fa0                          // vmin.f32      d1, d17, d16
10029  .long  0xe8bd4800                          // pop           {fp, lr}
10030  .long  0xe12fff1c                          // bx            ip
10031  .long  0xe320f000                          // nop           {0}
10032  .long  0x3f800000                          // .word         0x3f800000
10033  .long  0x3f800000                          // .word         0x3f800000
10034
10035HIDDEN _sk_mirror_x_vfp4
10036.globl _sk_mirror_x_vfp4
10037FUNCTION(_sk_mirror_x_vfp4)
10038_sk_mirror_x_vfp4:
10039  .long  0xe92d4800                          // push          {fp, lr}
10040  .long  0xed2d8b06                          // vpush         {d8-d10}
10041  .long  0xeeb68a00                          // vmov.f32      s16, #96
10042  .long  0xe591e000                          // ldr           lr, [r1]
10043  .long  0xf2c04010                          // vmov.i32      d20, #0
10044  .long  0xeddf5b17                          // vldr          d21, [pc, #92]
10045  .long  0xe591c004                          // ldr           ip, [r1, #4]
10046  .long  0xe2811008                          // add           r1, r1, #8
10047  .long  0xed9e9a00                          // vldr          s18, [lr]
10048  .long  0xed9eaa01                          // vldr          s20, [lr, #4]
10049  .long  0xf3f40c09                          // vdup.32       d16, d9[0]
10050  .long  0xf2601d20                          // vsub.f32      d17, d0, d16
10051  .long  0xee2a0a08                          // vmul.f32      s0, s20, s16
10052  .long  0xf2e129c0                          // vmul.f32      d18, d17, d0[0]
10053  .long  0xee390a09                          // vadd.f32      s0, s18, s18
10054  .long  0xf3fb3722                          // vcvt.s32.f32  d19, d18
10055  .long  0xf3fb3623                          // vcvt.f32.s32  d19, d19
10056  .long  0xf3632ea2                          // vcgt.f32      d18, d19, d18
10057  .long  0xf35521b4                          // vbsl          d18, d21, d20
10058  .long  0xf2632da2                          // vsub.f32      d18, d19, d18
10059  .long  0xf2e229c0                          // vmul.f32      d18, d18, d0[0]
10060  .long  0xf2611da2                          // vsub.f32      d17, d17, d18
10061  .long  0xf3c72e1f                          // vmov.i8       d18, #255
10062  .long  0xf2611da0                          // vsub.f32      d17, d17, d16
10063  .long  0xf26008a2                          // vadd.i32      d16, d16, d18
10064  .long  0xf3f91721                          // vabs.f32      d17, d17
10065  .long  0xf2210fa0                          // vmin.f32      d0, d17, d16
10066  .long  0xecbd8b06                          // vpop          {d8-d10}
10067  .long  0xe8bd4800                          // pop           {fp, lr}
10068  .long  0xe12fff1c                          // bx            ip
10069  .long  0x3f800000                          // .word         0x3f800000
10070  .long  0x3f800000                          // .word         0x3f800000
10071
10072HIDDEN _sk_mirror_y_vfp4
10073.globl _sk_mirror_y_vfp4
10074FUNCTION(_sk_mirror_y_vfp4)
10075_sk_mirror_y_vfp4:
10076  .long  0xe92d4800                          // push          {fp, lr}
10077  .long  0xed2d8b06                          // vpush         {d8-d10}
10078  .long  0xeeb68a00                          // vmov.f32      s16, #96
10079  .long  0xe591e000                          // ldr           lr, [r1]
10080  .long  0xf2c04010                          // vmov.i32      d20, #0
10081  .long  0xeddf5b17                          // vldr          d21, [pc, #92]
10082  .long  0xe591c004                          // ldr           ip, [r1, #4]
10083  .long  0xe2811008                          // add           r1, r1, #8
10084  .long  0xed9e9a00                          // vldr          s18, [lr]
10085  .long  0xed9eaa01                          // vldr          s20, [lr, #4]
10086  .long  0xf3f40c09                          // vdup.32       d16, d9[0]
10087  .long  0xf2611d20                          // vsub.f32      d17, d1, d16
10088  .long  0xee2a1a08                          // vmul.f32      s2, s20, s16
10089  .long  0xf2e129c1                          // vmul.f32      d18, d17, d1[0]
10090  .long  0xee391a09                          // vadd.f32      s2, s18, s18
10091  .long  0xf3fb3722                          // vcvt.s32.f32  d19, d18
10092  .long  0xf3fb3623                          // vcvt.f32.s32  d19, d19
10093  .long  0xf3632ea2                          // vcgt.f32      d18, d19, d18
10094  .long  0xf35521b4                          // vbsl          d18, d21, d20
10095  .long  0xf2632da2                          // vsub.f32      d18, d19, d18
10096  .long  0xf2e229c1                          // vmul.f32      d18, d18, d1[0]
10097  .long  0xf2611da2                          // vsub.f32      d17, d17, d18
10098  .long  0xf3c72e1f                          // vmov.i8       d18, #255
10099  .long  0xf2611da0                          // vsub.f32      d17, d17, d16
10100  .long  0xf26008a2                          // vadd.i32      d16, d16, d18
10101  .long  0xf3f91721                          // vabs.f32      d17, d17
10102  .long  0xf2211fa0                          // vmin.f32      d1, d17, d16
10103  .long  0xecbd8b06                          // vpop          {d8-d10}
10104  .long  0xe8bd4800                          // pop           {fp, lr}
10105  .long  0xe12fff1c                          // bx            ip
10106  .long  0x3f800000                          // .word         0x3f800000
10107  .long  0x3f800000                          // .word         0x3f800000
10108
10109HIDDEN _sk_clamp_x_1_vfp4
10110.globl _sk_clamp_x_1_vfp4
10111FUNCTION(_sk_clamp_x_1_vfp4)
10112_sk_clamp_x_1_vfp4:
10113  .long  0xf2c00010                          // vmov.i32      d16, #0
10114  .long  0xe491c004                          // ldr           ip, [r1], #4
10115  .long  0xf2c71f10                          // vmov.f32      d17, #1
10116  .long  0xf2400f80                          // vmax.f32      d16, d16, d0
10117  .long  0xf2200fa1                          // vmin.f32      d0, d16, d17
10118  .long  0xe12fff1c                          // bx            ip
10119
10120HIDDEN _sk_repeat_x_1_vfp4
10121.globl _sk_repeat_x_1_vfp4
10122FUNCTION(_sk_repeat_x_1_vfp4)
10123_sk_repeat_x_1_vfp4:
10124  .long  0xf3fb0700                          // vcvt.s32.f32  d16, d0
10125  .long  0xeddf3b07                          // vldr          d19, [pc, #28]
10126  .long  0xf2c02010                          // vmov.i32      d18, #0
10127  .long  0xe491c004                          // ldr           ip, [r1], #4
10128  .long  0xf3fb0620                          // vcvt.f32.s32  d16, d16
10129  .long  0xf3601e80                          // vcgt.f32      d17, d16, d0
10130  .long  0xf35311b2                          // vbsl          d17, d19, d18
10131  .long  0xf2600da1                          // vsub.f32      d16, d16, d17
10132  .long  0xf2200d20                          // vsub.f32      d0, d0, d16
10133  .long  0xe12fff1c                          // bx            ip
10134  .long  0x3f800000                          // .word         0x3f800000
10135  .long  0x3f800000                          // .word         0x3f800000
10136
10137HIDDEN _sk_mirror_x_1_vfp4
10138.globl _sk_mirror_x_1_vfp4
10139FUNCTION(_sk_mirror_x_1_vfp4)
10140_sk_mirror_x_1_vfp4:
10141  .long  0xf3c70f10                          // vmov.f32      d16, #-1
10142  .long  0xeddf5b0f                          // vldr          d21, [pc, #60]
10143  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
10144  .long  0xe491c004                          // ldr           ip, [r1], #4
10145  .long  0xf2401d20                          // vadd.f32      d17, d0, d16
10146  .long  0xf2c04010                          // vmov.i32      d20, #0
10147  .long  0xf3412db2                          // vmul.f32      d18, d17, d18
10148  .long  0xf3fb3722                          // vcvt.s32.f32  d19, d18
10149  .long  0xf3fb3623                          // vcvt.f32.s32  d19, d19
10150  .long  0xf3632ea2                          // vcgt.f32      d18, d19, d18
10151  .long  0xf35521b4                          // vbsl          d18, d21, d20
10152  .long  0xf2632da2                          // vsub.f32      d18, d19, d18
10153  .long  0xf2422da2                          // vadd.f32      d18, d18, d18
10154  .long  0xf2611da2                          // vsub.f32      d17, d17, d18
10155  .long  0xf2410da0                          // vadd.f32      d16, d17, d16
10156  .long  0xf3b90720                          // vabs.f32      d0, d16
10157  .long  0xe12fff1c                          // bx            ip
10158  .long  0xe320f000                          // nop           {0}
10159  .long  0x3f800000                          // .word         0x3f800000
10160  .long  0x3f800000                          // .word         0x3f800000
10161
10162HIDDEN _sk_luminance_to_alpha_vfp4
10163.globl _sk_luminance_to_alpha_vfp4
10164FUNCTION(_sk_luminance_to_alpha_vfp4)
10165_sk_luminance_to_alpha_vfp4:
10166  .long  0xeddf0b0a                          // vldr          d16, [pc, #40]
10167  .long  0xeddf1b0b                          // vldr          d17, [pc, #44]
10168  .long  0xf3410d30                          // vmul.f32      d16, d1, d16
10169  .long  0xe491c004                          // ldr           ip, [r1], #4
10170  .long  0xf3401d31                          // vmul.f32      d17, d0, d17
10171  .long  0xf2800010                          // vmov.i32      d0, #0
10172  .long  0xf2801010                          // vmov.i32      d1, #0
10173  .long  0xf2013da0                          // vadd.f32      d3, d17, d16
10174  .long  0xeddf0b06                          // vldr          d16, [pc, #24]
10175  .long  0xf2023c30                          // vfma.f32      d3, d2, d16
10176  .long  0xf2802010                          // vmov.i32      d2, #0
10177  .long  0xe12fff1c                          // bx            ip
10178  .long  0x3f371759                          // .word         0x3f371759
10179  .long  0x3f371759                          // .word         0x3f371759
10180  .long  0x3e59b3d0                          // .word         0x3e59b3d0
10181  .long  0x3e59b3d0                          // .word         0x3e59b3d0
10182  .long  0x3d93dd98                          // .word         0x3d93dd98
10183  .long  0x3d93dd98                          // .word         0x3d93dd98
10184
10185HIDDEN _sk_matrix_translate_vfp4
10186.globl _sk_matrix_translate_vfp4
10187FUNCTION(_sk_matrix_translate_vfp4)
10188_sk_matrix_translate_vfp4:
10189  .long  0xe92d4800                          // push          {fp, lr}
10190  .long  0xe591e000                          // ldr           lr, [r1]
10191  .long  0xe591c004                          // ldr           ip, [r1, #4]
10192  .long  0xe2811008                          // add           r1, r1, #8
10193  .long  0xf4ee0c9d                          // vld1.32       {d16[]}, [lr :32]!
10194  .long  0xf2000d80                          // vadd.f32      d0, d16, d0
10195  .long  0xf4ee1c9f                          // vld1.32       {d17[]}, [lr :32]
10196  .long  0xf2011d81                          // vadd.f32      d1, d17, d1
10197  .long  0xe8bd4800                          // pop           {fp, lr}
10198  .long  0xe12fff1c                          // bx            ip
10199
10200HIDDEN _sk_matrix_scale_translate_vfp4
10201.globl _sk_matrix_scale_translate_vfp4
10202FUNCTION(_sk_matrix_scale_translate_vfp4)
10203_sk_matrix_scale_translate_vfp4:
10204  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
10205  .long  0xe591e000                          // ldr           lr, [r1]
10206  .long  0xe591c004                          // ldr           ip, [r1, #4]
10207  .long  0xe2811008                          // add           r1, r1, #8
10208  .long  0xe28e5008                          // add           r5, lr, #8
10209  .long  0xe1a0400e                          // mov           r4, lr
10210  .long  0xf4e51c9f                          // vld1.32       {d17[]}, [r5 :32]
10211  .long  0xe28e500c                          // add           r5, lr, #12
10212  .long  0xf4e40c9d                          // vld1.32       {d16[]}, [r4 :32]!
10213  .long  0xf2400c31                          // vfma.f32      d16, d0, d17
10214  .long  0xf4e52c9f                          // vld1.32       {d18[]}, [r5 :32]
10215  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
10216  .long  0xf2411c32                          // vfma.f32      d17, d1, d18
10217  .long  0xf22001b0                          // vorr          d0, d16, d16
10218  .long  0xf22111b1                          // vorr          d1, d17, d17
10219  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
10220  .long  0xe12fff1c                          // bx            ip
10221
10222HIDDEN _sk_matrix_2x3_vfp4
10223.globl _sk_matrix_2x3_vfp4
10224FUNCTION(_sk_matrix_2x3_vfp4)
10225_sk_matrix_2x3_vfp4:
10226  .long  0xe92d4010                          // push          {r4, lr}
10227  .long  0xe591e000                          // ldr           lr, [r1]
10228  .long  0xe591c004                          // ldr           ip, [r1, #4]
10229  .long  0xe2811008                          // add           r1, r1, #8
10230  .long  0xe28e400c                          // add           r4, lr, #12
10231  .long  0xf4e42c9f                          // vld1.32       {d18[]}, [r4 :32]
10232  .long  0xe28e4008                          // add           r4, lr, #8
10233  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
10234  .long  0xe28e4010                          // add           r4, lr, #16
10235  .long  0xf4e40c9f                          // vld1.32       {d16[]}, [r4 :32]
10236  .long  0xe28e4014                          // add           r4, lr, #20
10237  .long  0xf2410c31                          // vfma.f32      d16, d1, d17
10238  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
10239  .long  0xf2411c32                          // vfma.f32      d17, d1, d18
10240  .long  0xf4ee2c9d                          // vld1.32       {d18[]}, [lr :32]!
10241  .long  0xf4ee3c9f                          // vld1.32       {d19[]}, [lr :32]
10242  .long  0xf2400c32                          // vfma.f32      d16, d0, d18
10243  .long  0xf2401c33                          // vfma.f32      d17, d0, d19
10244  .long  0xf22001b0                          // vorr          d0, d16, d16
10245  .long  0xf22111b1                          // vorr          d1, d17, d17
10246  .long  0xe8bd4010                          // pop           {r4, lr}
10247  .long  0xe12fff1c                          // bx            ip
10248
10249HIDDEN _sk_matrix_3x4_vfp4
10250.globl _sk_matrix_3x4_vfp4
10251FUNCTION(_sk_matrix_3x4_vfp4)
10252_sk_matrix_3x4_vfp4:
10253  .long  0xe92d4010                          // push          {r4, lr}
10254  .long  0xe591e000                          // ldr           lr, [r1]
10255  .long  0xe591c004                          // ldr           ip, [r1, #4]
10256  .long  0xe2811008                          // add           r1, r1, #8
10257  .long  0xe28e4020                          // add           r4, lr, #32
10258  .long  0xf4e43c9f                          // vld1.32       {d19[]}, [r4 :32]
10259  .long  0xe28e402c                          // add           r4, lr, #44
10260  .long  0xf4e40c9f                          // vld1.32       {d16[]}, [r4 :32]
10261  .long  0xe28e401c                          // add           r4, lr, #28
10262  .long  0xf2420c33                          // vfma.f32      d16, d2, d19
10263  .long  0xf4e44c9f                          // vld1.32       {d20[]}, [r4 :32]
10264  .long  0xe28e4018                          // add           r4, lr, #24
10265  .long  0xf4e42c9f                          // vld1.32       {d18[]}, [r4 :32]
10266  .long  0xe28e4024                          // add           r4, lr, #36
10267  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
10268  .long  0xe28e4028                          // add           r4, lr, #40
10269  .long  0xf2421c32                          // vfma.f32      d17, d2, d18
10270  .long  0xf4e42c9f                          // vld1.32       {d18[]}, [r4 :32]
10271  .long  0xe28e4010                          // add           r4, lr, #16
10272  .long  0xf2422c34                          // vfma.f32      d18, d2, d20
10273  .long  0xf4e43c9f                          // vld1.32       {d19[]}, [r4 :32]
10274  .long  0xe28e400c                          // add           r4, lr, #12
10275  .long  0xf4e44c9f                          // vld1.32       {d20[]}, [r4 :32]
10276  .long  0xe28e4014                          // add           r4, lr, #20
10277  .long  0xf2411c34                          // vfma.f32      d17, d1, d20
10278  .long  0xf4e44c9f                          // vld1.32       {d20[]}, [r4 :32]
10279  .long  0xf2410c34                          // vfma.f32      d16, d1, d20
10280  .long  0xe28e4008                          // add           r4, lr, #8
10281  .long  0xf2412c33                          // vfma.f32      d18, d1, d19
10282  .long  0xf4ee3c9d                          // vld1.32       {d19[]}, [lr :32]!
10283  .long  0xf4ee4c9f                          // vld1.32       {d20[]}, [lr :32]
10284  .long  0xf2401c33                          // vfma.f32      d17, d0, d19
10285  .long  0xf4e43c9f                          // vld1.32       {d19[]}, [r4 :32]
10286  .long  0xf2400c33                          // vfma.f32      d16, d0, d19
10287  .long  0xf2402c34                          // vfma.f32      d18, d0, d20
10288  .long  0xf22101b1                          // vorr          d0, d17, d17
10289  .long  0xf22021b0                          // vorr          d2, d16, d16
10290  .long  0xf22211b2                          // vorr          d1, d18, d18
10291  .long  0xe8bd4010                          // pop           {r4, lr}
10292  .long  0xe12fff1c                          // bx            ip
10293
10294HIDDEN _sk_matrix_4x5_vfp4
10295.globl _sk_matrix_4x5_vfp4
10296FUNCTION(_sk_matrix_4x5_vfp4)
10297_sk_matrix_4x5_vfp4:
10298  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
10299  .long  0xe591e000                          // ldr           lr, [r1]
10300  .long  0xf2620112                          // vorr          d16, d2, d2
10301  .long  0xe591c004                          // ldr           ip, [r1, #4]
10302  .long  0xe2811008                          // add           r1, r1, #8
10303  .long  0xe28e5014                          // add           r5, lr, #20
10304  .long  0xe1a0400e                          // mov           r4, lr
10305  .long  0xf4e55c9f                          // vld1.32       {d21[]}, [r5 :32]
10306  .long  0xe28e5028                          // add           r5, lr, #40
10307  .long  0xf4e56c9f                          // vld1.32       {d22[]}, [r5 :32]
10308  .long  0xe28e5038                          // add           r5, lr, #56
10309  .long  0xf4e57c9f                          // vld1.32       {d23[]}, [r5 :32]
10310  .long  0xe28e5048                          // add           r5, lr, #72
10311  .long  0xf4a52c9f                          // vld1.32       {d2[]}, [r5 :32]
10312  .long  0xe28e5034                          // add           r5, lr, #52
10313  .long  0xf2032c37                          // vfma.f32      d2, d3, d23
10314  .long  0xf4e58c9f                          // vld1.32       {d24[]}, [r5 :32]
10315  .long  0xe28e5044                          // add           r5, lr, #68
10316  .long  0xf4e51c9f                          // vld1.32       {d17[]}, [r5 :32]
10317  .long  0xe28e5030                          // add           r5, lr, #48
10318  .long  0xf2431c38                          // vfma.f32      d17, d3, d24
10319  .long  0xf4e59c9f                          // vld1.32       {d25[]}, [r5 :32]
10320  .long  0xe28e503c                          // add           r5, lr, #60
10321  .long  0xf4e53c9f                          // vld1.32       {d19[]}, [r5 :32]
10322  .long  0xe28e504c                          // add           r5, lr, #76
10323  .long  0xf2002cb6                          // vfma.f32      d2, d16, d22
10324  .long  0xf4e52c9f                          // vld1.32       {d18[]}, [r5 :32]
10325  .long  0xe28e5040                          // add           r5, lr, #64
10326  .long  0xf2432c33                          // vfma.f32      d18, d3, d19
10327  .long  0xf4e53c9f                          // vld1.32       {d19[]}, [r5 :32]
10328  .long  0xe28e5020                          // add           r5, lr, #32
10329  .long  0xf2433c39                          // vfma.f32      d19, d3, d25
10330  .long  0xf4e57c9f                          // vld1.32       {d23[]}, [r5 :32]
10331  .long  0xe28e502c                          // add           r5, lr, #44
10332  .long  0xf4e58c9f                          // vld1.32       {d24[]}, [r5 :32]
10333  .long  0xe28e5024                          // add           r5, lr, #36
10334  .long  0xf2402cb8                          // vfma.f32      d18, d16, d24
10335  .long  0xf4e58c9f                          // vld1.32       {d24[]}, [r5 :32]
10336  .long  0xf2401cb8                          // vfma.f32      d17, d16, d24
10337  .long  0xe28e5010                          // add           r5, lr, #16
10338  .long  0xf2403cb7                          // vfma.f32      d19, d16, d23
10339  .long  0xf4e44c9d                          // vld1.32       {d20[]}, [r4 :32]!
10340  .long  0xf4e50c9f                          // vld1.32       {d16[]}, [r5 :32]
10341  .long  0xe28e501c                          // add           r5, lr, #28
10342  .long  0xf4e56c9f                          // vld1.32       {d22[]}, [r5 :32]
10343  .long  0xe28e5018                          // add           r5, lr, #24
10344  .long  0xf2412c36                          // vfma.f32      d18, d1, d22
10345  .long  0xf2411c35                          // vfma.f32      d17, d1, d21
10346  .long  0xf4e45c9f                          // vld1.32       {d21[]}, [r4 :32]
10347  .long  0xf2413c30                          // vfma.f32      d19, d1, d16
10348  .long  0xf4e50c9f                          // vld1.32       {d16[]}, [r5 :32]
10349  .long  0xe28e5008                          // add           r5, lr, #8
10350  .long  0xf2012c30                          // vfma.f32      d2, d1, d16
10351  .long  0xf4e50c9f                          // vld1.32       {d16[]}, [r5 :32]
10352  .long  0xe28e500c                          // add           r5, lr, #12
10353  .long  0xf2401c35                          // vfma.f32      d17, d0, d21
10354  .long  0xf2403c34                          // vfma.f32      d19, d0, d20
10355  .long  0xf4e54c9f                          // vld1.32       {d20[]}, [r5 :32]
10356  .long  0xf2402c34                          // vfma.f32      d18, d0, d20
10357  .long  0xf2002c30                          // vfma.f32      d2, d0, d16
10358  .long  0xf22111b1                          // vorr          d1, d17, d17
10359  .long  0xf22301b3                          // vorr          d0, d19, d19
10360  .long  0xf22231b2                          // vorr          d3, d18, d18
10361  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
10362  .long  0xe12fff1c                          // bx            ip
10363
10364HIDDEN _sk_matrix_4x3_vfp4
10365.globl _sk_matrix_4x3_vfp4
10366FUNCTION(_sk_matrix_4x3_vfp4)
10367_sk_matrix_4x3_vfp4:
10368  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
10369  .long  0xe591e000                          // ldr           lr, [r1]
10370  .long  0xe591c004                          // ldr           ip, [r1, #4]
10371  .long  0xe2811008                          // add           r1, r1, #8
10372  .long  0xe28e5018                          // add           r5, lr, #24
10373  .long  0xe1a0400e                          // mov           r4, lr
10374  .long  0xf4e53c9f                          // vld1.32       {d19[]}, [r5 :32]
10375  .long  0xe28e5028                          // add           r5, lr, #40
10376  .long  0xf4a52c9f                          // vld1.32       {d2[]}, [r5 :32]
10377  .long  0xe28e5014                          // add           r5, lr, #20
10378  .long  0xf2012c33                          // vfma.f32      d2, d1, d19
10379  .long  0xf4e54c9f                          // vld1.32       {d20[]}, [r5 :32]
10380  .long  0xe28e5010                          // add           r5, lr, #16
10381  .long  0xf4e51c9f                          // vld1.32       {d17[]}, [r5 :32]
10382  .long  0xe28e5020                          // add           r5, lr, #32
10383  .long  0xf4e50c9f                          // vld1.32       {d16[]}, [r5 :32]
10384  .long  0xe28e501c                          // add           r5, lr, #28
10385  .long  0xf2410c31                          // vfma.f32      d16, d1, d17
10386  .long  0xf4e55c9f                          // vld1.32       {d21[]}, [r5 :32]
10387  .long  0xe28e502c                          // add           r5, lr, #44
10388  .long  0xf4a53c9f                          // vld1.32       {d3[]}, [r5 :32]
10389  .long  0xe28e5024                          // add           r5, lr, #36
10390  .long  0xf2013c35                          // vfma.f32      d3, d1, d21
10391  .long  0xf4e51c9f                          // vld1.32       {d17[]}, [r5 :32]
10392  .long  0xe28e5008                          // add           r5, lr, #8
10393  .long  0xf2411c34                          // vfma.f32      d17, d1, d20
10394  .long  0xf4e42c9d                          // vld1.32       {d18[]}, [r4 :32]!
10395  .long  0xf2400c32                          // vfma.f32      d16, d0, d18
10396  .long  0xf4e44c9f                          // vld1.32       {d20[]}, [r4 :32]
10397  .long  0xf4e53c9f                          // vld1.32       {d19[]}, [r5 :32]
10398  .long  0xe28e500c                          // add           r5, lr, #12
10399  .long  0xf2002c33                          // vfma.f32      d2, d0, d19
10400  .long  0xf2401c34                          // vfma.f32      d17, d0, d20
10401  .long  0xf4e52c9f                          // vld1.32       {d18[]}, [r5 :32]
10402  .long  0xf2003c32                          // vfma.f32      d3, d0, d18
10403  .long  0xf22001b0                          // vorr          d0, d16, d16
10404  .long  0xf22111b1                          // vorr          d1, d17, d17
10405  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
10406  .long  0xe12fff1c                          // bx            ip
10407
10408HIDDEN _sk_matrix_perspective_vfp4
10409.globl _sk_matrix_perspective_vfp4
10410FUNCTION(_sk_matrix_perspective_vfp4)
10411_sk_matrix_perspective_vfp4:
10412  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
10413  .long  0xe591e000                          // ldr           lr, [r1]
10414  .long  0xe591c004                          // ldr           ip, [r1, #4]
10415  .long  0xe2811008                          // add           r1, r1, #8
10416  .long  0xe28e401c                          // add           r4, lr, #28
10417  .long  0xe28e5010                          // add           r5, lr, #16
10418  .long  0xf4e40c9f                          // vld1.32       {d16[]}, [r4 :32]
10419  .long  0xe28e4020                          // add           r4, lr, #32
10420  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
10421  .long  0xe28e4018                          // add           r4, lr, #24
10422  .long  0xf2411c30                          // vfma.f32      d17, d1, d16
10423  .long  0xf4e40c9f                          // vld1.32       {d16[]}, [r4 :32]
10424  .long  0xe1a0400e                          // mov           r4, lr
10425  .long  0xf4e52c9f                          // vld1.32       {d18[]}, [r5 :32]
10426  .long  0xe28e5008                          // add           r5, lr, #8
10427  .long  0xf4e53c9f                          // vld1.32       {d19[]}, [r5 :32]
10428  .long  0xe28e500c                          // add           r5, lr, #12
10429  .long  0xf2401c30                          // vfma.f32      d17, d0, d16
10430  .long  0xf4e40c9d                          // vld1.32       {d16[]}, [r4 :32]!
10431  .long  0xf4e45c9f                          // vld1.32       {d21[]}, [r4 :32]
10432  .long  0xe28e4014                          // add           r4, lr, #20
10433  .long  0xf2413c35                          // vfma.f32      d19, d1, d21
10434  .long  0xf4e45c9f                          // vld1.32       {d21[]}, [r4 :32]
10435  .long  0xf2415c32                          // vfma.f32      d21, d1, d18
10436  .long  0xf4e52c9f                          // vld1.32       {d18[]}, [r5 :32]
10437  .long  0xf3fb4521                          // vrecpe.f32    d20, d17
10438  .long  0xf2403c30                          // vfma.f32      d19, d0, d16
10439  .long  0xf2411fb4                          // vrecps.f32    d17, d17, d20
10440  .long  0xf2405c32                          // vfma.f32      d21, d0, d18
10441  .long  0xf3440db1                          // vmul.f32      d16, d20, d17
10442  .long  0xf3030db0                          // vmul.f32      d0, d19, d16
10443  .long  0xf3051db0                          // vmul.f32      d1, d21, d16
10444  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
10445  .long  0xe12fff1c                          // bx            ip
10446
10447HIDDEN _sk_evenly_spaced_gradient_vfp4
10448.globl _sk_evenly_spaced_gradient_vfp4
10449FUNCTION(_sk_evenly_spaced_gradient_vfp4)
10450_sk_evenly_spaced_gradient_vfp4:
10451  .long  0xe92d4ff0                          // push          {r4, r5, r6, r7, r8, r9, sl, fp, lr}
10452  .long  0xe24dd004                          // sub           sp, sp, #4
10453  .long  0xed2d8b0a                          // vpush         {d8-d12}
10454  .long  0xe591e000                          // ldr           lr, [r1]
10455  .long  0xe591c004                          // ldr           ip, [r1, #4]
10456  .long  0xe2811008                          // add           r1, r1, #8
10457  .long  0xe89e0720                          // ldm           lr, {r5, r8, r9, sl}
10458  .long  0xe2455001                          // sub           r5, r5, #1
10459  .long  0xe59e4010                          // ldr           r4, [lr, #16]
10460  .long  0xe59eb020                          // ldr           fp, [lr, #32]
10461  .long  0xee805b90                          // vdup.32       d16, r5
10462  .long  0xf3fb06a0                          // vcvt.f32.u32  d16, d16
10463  .long  0xf3400d90                          // vmul.f32      d16, d16, d0
10464  .long  0xf3fb0720                          // vcvt.s32.f32  d16, d16
10465  .long  0xee305b90                          // vmov.32       r5, d16[1]
10466  .long  0xe0846105                          // add           r6, r4, r5, lsl #2
10467  .long  0xe08b7105                          // add           r7, fp, r5, lsl #2
10468  .long  0xedd69a00                          // vldr          s19, [r6]
10469  .long  0xee106b90                          // vmov.32       r6, d16[0]
10470  .long  0xedd73a00                          // vldr          s7, [r7]
10471  .long  0xe08a7105                          // add           r7, sl, r5, lsl #2
10472  .long  0xedd7aa00                          // vldr          s21, [r7]
10473  .long  0xe08a7106                          // add           r7, sl, r6, lsl #2
10474  .long  0xe0844106                          // add           r4, r4, r6, lsl #2
10475  .long  0xe59ea018                          // ldr           sl, [lr, #24]
10476  .long  0xed97aa00                          // vldr          s20, [r7]
10477  .long  0xe59e701c                          // ldr           r7, [lr, #28]
10478  .long  0xed949a00                          // vldr          s18, [r4]
10479  .long  0xe0874105                          // add           r4, r7, r5, lsl #2
10480  .long  0xedd42a00                          // vldr          s5, [r4]
10481  .long  0xe0894105                          // add           r4, r9, r5, lsl #2
10482  .long  0xedd4ba00                          // vldr          s23, [r4]
10483  .long  0xe0894106                          // add           r4, r9, r6, lsl #2
10484  .long  0xe08b9106                          // add           r9, fp, r6, lsl #2
10485  .long  0xe087b106                          // add           fp, r7, r6, lsl #2
10486  .long  0xed94ba00                          // vldr          s22, [r4]
10487  .long  0xe08a4105                          // add           r4, sl, r5, lsl #2
10488  .long  0xe0887105                          // add           r7, r8, r5, lsl #2
10489  .long  0xed9b2a00                          // vldr          s4, [fp]
10490  .long  0xedd41a00                          // vldr          s3, [r4]
10491  .long  0xe59e4014                          // ldr           r4, [lr, #20]
10492  .long  0xf2002c1a                          // vfma.f32      d2, d0, d10
10493  .long  0xedd7ca00                          // vldr          s25, [r7]
10494  .long  0xe0887106                          // add           r7, r8, r6, lsl #2
10495  .long  0xe0845105                          // add           r5, r4, r5, lsl #2
10496  .long  0xed993a00                          // vldr          s6, [r9]
10497  .long  0xed97ca00                          // vldr          s24, [r7]
10498  .long  0xe0847106                          // add           r7, r4, r6, lsl #2
10499  .long  0xedd58a00                          // vldr          s17, [r5]
10500  .long  0xf2003c19                          // vfma.f32      d3, d0, d9
10501  .long  0xed978a00                          // vldr          s16, [r7]
10502  .long  0xe08a7106                          // add           r7, sl, r6, lsl #2
10503  .long  0xf2008c1c                          // vfma.f32      d8, d0, d12
10504  .long  0xed971a00                          // vldr          s2, [r7]
10505  .long  0xf2001c1b                          // vfma.f32      d1, d0, d11
10506  .long  0xf2280118                          // vorr          d0, d8, d8
10507  .long  0xecbd8b0a                          // vpop          {d8-d12}
10508  .long  0xe28dd004                          // add           sp, sp, #4
10509  .long  0xe8bd4ff0                          // pop           {r4, r5, r6, r7, r8, r9, sl, fp, lr}
10510  .long  0xe12fff1c                          // bx            ip
10511  .long  0xe320f000                          // nop           {0}
10512
10513HIDDEN _sk_gauss_a_to_rgba_vfp4
10514.globl _sk_gauss_a_to_rgba_vfp4
10515FUNCTION(_sk_gauss_a_to_rgba_vfp4)
10516_sk_gauss_a_to_rgba_vfp4:
10517  .long  0xeddf0b0c                          // vldr          d16, [pc, #48]
10518  .long  0xeddf1b0d                          // vldr          d17, [pc, #52]
10519  .long  0xf2431c30                          // vfma.f32      d17, d3, d16
10520  .long  0xeddf0b0d                          // vldr          d16, [pc, #52]
10521  .long  0xed9f0b10                          // vldr          d0, [pc, #64]
10522  .long  0xe491c004                          // ldr           ip, [r1], #4
10523  .long  0xf2430c31                          // vfma.f32      d16, d3, d17
10524  .long  0xeddf1b0b                          // vldr          d17, [pc, #44]
10525  .long  0xf2431c30                          // vfma.f32      d17, d3, d16
10526  .long  0xf2030c31                          // vfma.f32      d0, d3, d17
10527  .long  0xf2201110                          // vorr          d1, d0, d0
10528  .long  0xf2202110                          // vorr          d2, d0, d0
10529  .long  0xf2203110                          // vorr          d3, d0, d0
10530  .long  0xe12fff1c                          // bx            ip
10531  .long  0xc011102d                          // .word         0xc011102d
10532  .long  0xc011102d                          // .word         0xc011102d
10533  .long  0x40397812                          // .word         0x40397812
10534  .long  0x40397812                          // .word         0x40397812
10535  .long  0x3e5a9420                          // .word         0x3e5a9420
10536  .long  0x3e5a9420                          // .word         0x3e5a9420
10537  .long  0x3e1e9d04                          // .word         0x3e1e9d04
10538  .long  0x3e1e9d04                          // .word         0x3e1e9d04
10539  .long  0x39a11800                          // .word         0x39a11800
10540  .long  0x39a11800                          // .word         0x39a11800
10541
10542HIDDEN _sk_gradient_vfp4
10543.globl _sk_gradient_vfp4
10544FUNCTION(_sk_gradient_vfp4)
10545_sk_gradient_vfp4:
10546  .long  0xe92d4ff0                          // push          {r4, r5, r6, r7, r8, r9, sl, fp, lr}
10547  .long  0xe24dd004                          // sub           sp, sp, #4
10548  .long  0xed2d8b0a                          // vpush         {d8-d12}
10549  .long  0xe24dd008                          // sub           sp, sp, #8
10550  .long  0xe58d3004                          // str           r3, [sp, #4]
10551  .long  0xf2c00010                          // vmov.i32      d16, #0
10552  .long  0xe591c000                          // ldr           ip, [r1]
10553  .long  0xe59c4000                          // ldr           r4, [ip]
10554  .long  0xe3540002                          // cmp           r4, #2
10555  .long  0x3a00000b                          // bcc           44e0 <sk_gradient_vfp4+0x58>
10556  .long  0xe59c5024                          // ldr           r5, [ip, #36]
10557  .long  0xf2c01010                          // vmov.i32      d17, #0
10558  .long  0xf2c02011                          // vmov.i32      d18, #1
10559  .long  0xe244e001                          // sub           lr, r4, #1
10560  .long  0xf2c00010                          // vmov.i32      d16, #0
10561  .long  0xe2854004                          // add           r4, r5, #4
10562  .long  0xf4e43c9d                          // vld1.32       {d19[]}, [r4 :32]!
10563  .long  0xe25ee001                          // subs          lr, lr, #1
10564  .long  0xf3403e23                          // vcge.f32      d19, d0, d19
10565  .long  0xf35231b1                          // vbsl          d19, d18, d17
10566  .long  0xf26308a0                          // vadd.i32      d16, d19, d16
10567  .long  0x1afffff9                          // bne           44c8 <sk_gradient_vfp4+0x40>
10568  .long  0xee304b90                          // vmov.32       r4, d16[1]
10569  .long  0xe59c6010                          // ldr           r6, [ip, #16]
10570  .long  0xee10eb90                          // vmov.32       lr, d16[0]
10571  .long  0xe59c700c                          // ldr           r7, [ip, #12]
10572  .long  0xe59ca020                          // ldr           sl, [ip, #32]
10573  .long  0xe59c9004                          // ldr           r9, [ip, #4]
10574  .long  0xe59c8008                          // ldr           r8, [ip, #8]
10575  .long  0xe0865104                          // add           r5, r6, r4, lsl #2
10576  .long  0xe089310e                          // add           r3, r9, lr, lsl #2
10577  .long  0xe0899104                          // add           r9, r9, r4, lsl #2
10578  .long  0xedd59a00                          // vldr          s19, [r5]
10579  .long  0xe086510e                          // add           r5, r6, lr, lsl #2
10580  .long  0xedd9ca00                          // vldr          s25, [r9]
10581  .long  0xed959a00                          // vldr          s18, [r5]
10582  .long  0xe0875104                          // add           r5, r7, r4, lsl #2
10583  .long  0xed93ca00                          // vldr          s24, [r3]
10584  .long  0xedd5aa00                          // vldr          s21, [r5]
10585  .long  0xe087510e                          // add           r5, r7, lr, lsl #2
10586  .long  0xed95aa00                          // vldr          s20, [r5]
10587  .long  0xe08a5104                          // add           r5, sl, r4, lsl #2
10588  .long  0xe08aa10e                          // add           sl, sl, lr, lsl #2
10589  .long  0xedd53a00                          // vldr          s7, [r5]
10590  .long  0xe59c501c                          // ldr           r5, [ip, #28]
10591  .long  0xed9a3a00                          // vldr          s6, [sl]
10592  .long  0xe0856104                          // add           r6, r5, r4, lsl #2
10593  .long  0xe085b10e                          // add           fp, r5, lr, lsl #2
10594  .long  0xe0885104                          // add           r5, r8, r4, lsl #2
10595  .long  0xe088810e                          // add           r8, r8, lr, lsl #2
10596  .long  0xedd62a00                          // vldr          s5, [r6]
10597  .long  0xf2003c19                          // vfma.f32      d3, d0, d9
10598  .long  0xedd5ba00                          // vldr          s23, [r5]
10599  .long  0xe59c6014                          // ldr           r6, [ip, #20]
10600  .long  0xe59c5018                          // ldr           r5, [ip, #24]
10601  .long  0xe0863104                          // add           r3, r6, r4, lsl #2
10602  .long  0xed9b2a00                          // vldr          s4, [fp]
10603  .long  0xe0857104                          // add           r7, r5, r4, lsl #2
10604  .long  0xed98ba00                          // vldr          s22, [r8]
10605  .long  0xedd38a00                          // vldr          s17, [r3]
10606  .long  0xe085310e                          // add           r3, r5, lr, lsl #2
10607  .long  0xedd71a00                          // vldr          s3, [r7]
10608  .long  0xe086710e                          // add           r7, r6, lr, lsl #2
10609  .long  0xe591c004                          // ldr           ip, [r1, #4]
10610  .long  0xf2002c1a                          // vfma.f32      d2, d0, d10
10611  .long  0xed978a00                          // vldr          s16, [r7]
10612  .long  0xe2811008                          // add           r1, r1, #8
10613  .long  0xed931a00                          // vldr          s2, [r3]
10614  .long  0xf2008c1c                          // vfma.f32      d8, d0, d12
10615  .long  0xe59d3004                          // ldr           r3, [sp, #4]
10616  .long  0xf2001c1b                          // vfma.f32      d1, d0, d11
10617  .long  0xf2280118                          // vorr          d0, d8, d8
10618  .long  0xe28dd008                          // add           sp, sp, #8
10619  .long  0xecbd8b0a                          // vpop          {d8-d12}
10620  .long  0xe28dd004                          // add           sp, sp, #4
10621  .long  0xe8bd4ff0                          // pop           {r4, r5, r6, r7, r8, r9, sl, fp, lr}
10622  .long  0xe12fff1c                          // bx            ip
10623
10624HIDDEN _sk_evenly_spaced_2_stop_gradient_vfp4
10625.globl _sk_evenly_spaced_2_stop_gradient_vfp4
10626FUNCTION(_sk_evenly_spaced_2_stop_gradient_vfp4)
10627_sk_evenly_spaced_2_stop_gradient_vfp4:
10628  .long  0xe92d4830                          // push          {r4, r5, fp, lr}
10629  .long  0xe591e000                          // ldr           lr, [r1]
10630  .long  0xe591c004                          // ldr           ip, [r1, #4]
10631  .long  0xe2811008                          // add           r1, r1, #8
10632  .long  0xe28e500c                          // add           r5, lr, #12
10633  .long  0xe1a0400e                          // mov           r4, lr
10634  .long  0xf4e52c9f                          // vld1.32       {d18[]}, [r5 :32]
10635  .long  0xe28e5008                          // add           r5, lr, #8
10636  .long  0xf4e53c9f                          // vld1.32       {d19[]}, [r5 :32]
10637  .long  0xe28e5018                          // add           r5, lr, #24
10638  .long  0xf4a52c9f                          // vld1.32       {d2[]}, [r5 :32]
10639  .long  0xe28e5010                          // add           r5, lr, #16
10640  .long  0xf2002c33                          // vfma.f32      d2, d0, d19
10641  .long  0xf4e50c9f                          // vld1.32       {d16[]}, [r5 :32]
10642  .long  0xe28e501c                          // add           r5, lr, #28
10643  .long  0xf4e41c9d                          // vld1.32       {d17[]}, [r4 :32]!
10644  .long  0xf2400c31                          // vfma.f32      d16, d0, d17
10645  .long  0xf4a53c9f                          // vld1.32       {d3[]}, [r5 :32]
10646  .long  0xe28e5014                          // add           r5, lr, #20
10647  .long  0xf2003c32                          // vfma.f32      d3, d0, d18
10648  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
10649  .long  0xf4a51c9f                          // vld1.32       {d1[]}, [r5 :32]
10650  .long  0xf2001c31                          // vfma.f32      d1, d0, d17
10651  .long  0xf22001b0                          // vorr          d0, d16, d16
10652  .long  0xe8bd4830                          // pop           {r4, r5, fp, lr}
10653  .long  0xe12fff1c                          // bx            ip
10654  .long  0xe320f000                          // nop           {0}
10655
10656HIDDEN _sk_xy_to_unit_angle_vfp4
10657.globl _sk_xy_to_unit_angle_vfp4
10658FUNCTION(_sk_xy_to_unit_angle_vfp4)
10659_sk_xy_to_unit_angle_vfp4:
10660  .long  0xed2d8b06                          // vpush         {d8-d10}
10661  .long  0xf3f90701                          // vabs.f32      d16, d1
10662  .long  0xeddf3b24                          // vldr          d19, [pc, #144]
10663  .long  0xf3f91700                          // vabs.f32      d17, d0
10664  .long  0xeddf4b24                          // vldr          d20, [pc, #144]
10665  .long  0xe491c004                          // ldr           ip, [r1], #4
10666  .long  0xf2018fa0                          // vmax.f32      d8, d17, d16
10667  .long  0xf2219fa0                          // vmin.f32      d9, d17, d16
10668  .long  0xf3600ea1                          // vcgt.f32      d16, d16, d17
10669  .long  0xeec9aaa8                          // vdiv.f32      s21, s19, s17
10670  .long  0xee89aa08                          // vdiv.f32      s20, s18, s16
10671  .long  0xf34a2d1a                          // vmul.f32      d18, d10, d10
10672  .long  0xf3423db3                          // vmul.f32      d19, d18, d19
10673  .long  0xf2433da4                          // vadd.f32      d19, d19, d20
10674  .long  0xeddf4b1c                          // vldr          d20, [pc, #112]
10675  .long  0xf3423db3                          // vmul.f32      d19, d18, d19
10676  .long  0xf2433da4                          // vadd.f32      d19, d19, d20
10677  .long  0xf3422db3                          // vmul.f32      d18, d18, d19
10678  .long  0xeddf3b1a                          // vldr          d19, [pc, #104]
10679  .long  0xf2422da3                          // vadd.f32      d18, d18, d19
10680  .long  0xf2c53f10                          // vmov.f32      d19, #0.25
10681  .long  0xf34a2d32                          // vmul.f32      d18, d10, d18
10682  .long  0xf2631da2                          // vsub.f32      d17, d19, d18
10683  .long  0xf2c3361f                          // vmov.i32      d19, #1056964608
10684  .long  0xf35101b2                          // vbsl          d16, d17, d18
10685  .long  0xf2c72f10                          // vmov.f32      d18, #1
10686  .long  0xf2631da0                          // vsub.f32      d17, d19, d16
10687  .long  0xf3f93600                          // vclt.f32      d19, d0, #0
10688  .long  0xf35131b0                          // vbsl          d19, d17, d16
10689  .long  0xf2c01010                          // vmov.i32      d17, #0
10690  .long  0xf2620da3                          // vsub.f32      d16, d18, d19
10691  .long  0xf3f92601                          // vclt.f32      d18, d1, #0
10692  .long  0xf35021b3                          // vbsl          d18, d16, d19
10693  .long  0xf3420ea1                          // vcge.f32      d16, d18, d17
10694  .long  0xf3613ea2                          // vcgt.f32      d19, d17, d18
10695  .long  0xf26301b0                          // vorr          d16, d19, d16
10696  .long  0xf3b005a0                          // vmvn          d0, d16
10697  .long  0xf31101b2                          // vbsl          d0, d17, d18
10698  .long  0xecbd8b06                          // vpop          {d8-d10}
10699  .long  0xe12fff1c                          // bx            ip
10700  .long  0xbbe72b6f                          // .word         0xbbe72b6f
10701  .long  0xbbe72b6f                          // .word         0xbbe72b6f
10702  .long  0x3ccad79f                          // .word         0x3ccad79f
10703  .long  0x3ccad79f                          // .word         0x3ccad79f
10704  .long  0xbd5464d4                          // .word         0xbd5464d4
10705  .long  0xbd5464d4                          // .word         0xbd5464d4
10706  .long  0x3e22f0a9                          // .word         0x3e22f0a9
10707  .long  0x3e22f0a9                          // .word         0x3e22f0a9
10708
10709HIDDEN _sk_xy_to_radius_vfp4
10710.globl _sk_xy_to_radius_vfp4
10711FUNCTION(_sk_xy_to_radius_vfp4)
10712_sk_xy_to_radius_vfp4:
10713  .long  0xf3410d11                          // vmul.f32      d16, d1, d1
10714  .long  0xe491c004                          // ldr           ip, [r1], #4
10715  .long  0xf3401d10                          // vmul.f32      d17, d0, d0
10716  .long  0xf2410da0                          // vadd.f32      d16, d17, d16
10717  .long  0xf3fb15a0                          // vrsqrte.f32   d17, d16
10718  .long  0xf3412db1                          // vmul.f32      d18, d17, d17
10719  .long  0xf2602fb2                          // vrsqrts.f32   d18, d16, d18
10720  .long  0xf3411db2                          // vmul.f32      d17, d17, d18
10721  .long  0xf3412db1                          // vmul.f32      d18, d17, d17
10722  .long  0xf2602fb2                          // vrsqrts.f32   d18, d16, d18
10723  .long  0xf3411db2                          // vmul.f32      d17, d17, d18
10724  .long  0xf3000db1                          // vmul.f32      d0, d16, d17
10725  .long  0xe12fff1c                          // bx            ip
10726
10727HIDDEN _sk_xy_to_2pt_conical_quadratic_max_vfp4
10728.globl _sk_xy_to_2pt_conical_quadratic_max_vfp4
10729FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_vfp4)
10730_sk_xy_to_2pt_conical_quadratic_max_vfp4:
10731  .long  0xe92d4010                          // push          {r4, lr}
10732  .long  0xed2d8b06                          // vpush         {d8-d10}
10733  .long  0xe591e000                          // ldr           lr, [r1]
10734  .long  0xf3410d11                          // vmul.f32      d16, d1, d1
10735  .long  0xf3401d10                          // vmul.f32      d17, d0, d0
10736  .long  0xe591c004                          // ldr           ip, [r1, #4]
10737  .long  0xf3c12f10                          // vmov.f32      d18, #-4
10738  .long  0xe28e4020                          // add           r4, lr, #32
10739  .long  0xed9e8a0a                          // vldr          s16, [lr, #40]
10740  .long  0xf3c44610                          // vmov.i32      d20, #-1073741824
10741  .long  0xed9e9a0b                          // vldr          s18, [lr, #44]
10742  .long  0xe2811008                          // add           r1, r1, #8
10743  .long  0xee28aa08                          // vmul.f32      s20, s16, s16
10744  .long  0xee298a08                          // vmul.f32      s16, s18, s16
10745  .long  0xf2410da0                          // vadd.f32      d16, d17, d16
10746  .long  0xf3f41c0a                          // vdup.32       d17, d10[0]
10747  .long  0xf3f43c08                          // vdup.32       d19, d8[0]
10748  .long  0xf2600da1                          // vsub.f32      d16, d16, d17
10749  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
10750  .long  0xf2433d80                          // vadd.f32      d19, d19, d0
10751  .long  0xf3411db2                          // vmul.f32      d17, d17, d18
10752  .long  0xe28e4024                          // add           r4, lr, #36
10753  .long  0xf3432db4                          // vmul.f32      d18, d19, d20
10754  .long  0xf4e44c9f                          // vld1.32       {d20[]}, [r4 :32]
10755  .long  0xf3410db0                          // vmul.f32      d16, d17, d16
10756  .long  0xf2420cb2                          // vfma.f32      d16, d18, d18
10757  .long  0xf3fb15a0                          // vrsqrte.f32   d17, d16
10758  .long  0xf3413db1                          // vmul.f32      d19, d17, d17
10759  .long  0xf2603fb3                          // vrsqrts.f32   d19, d16, d19
10760  .long  0xf3411db3                          // vmul.f32      d17, d17, d19
10761  .long  0xf3413db1                          // vmul.f32      d19, d17, d17
10762  .long  0xf2603fb3                          // vrsqrts.f32   d19, d16, d19
10763  .long  0xf3411db3                          // vmul.f32      d17, d17, d19
10764  .long  0xf3f937a2                          // vneg.f32      d19, d18
10765  .long  0xf3410db0                          // vmul.f32      d16, d17, d16
10766  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
10767  .long  0xf2633da0                          // vsub.f32      d19, d19, d16
10768  .long  0xf2600da2                          // vsub.f32      d16, d16, d18
10769  .long  0xf3441db1                          // vmul.f32      d17, d20, d17
10770  .long  0xf3412db3                          // vmul.f32      d18, d17, d19
10771  .long  0xf3410db0                          // vmul.f32      d16, d17, d16
10772  .long  0xf2000fa2                          // vmax.f32      d0, d16, d18
10773  .long  0xecbd8b06                          // vpop          {d8-d10}
10774  .long  0xe8bd4010                          // pop           {r4, lr}
10775  .long  0xe12fff1c                          // bx            ip
10776
10777HIDDEN _sk_xy_to_2pt_conical_quadratic_min_vfp4
10778.globl _sk_xy_to_2pt_conical_quadratic_min_vfp4
10779FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_vfp4)
10780_sk_xy_to_2pt_conical_quadratic_min_vfp4:
10781  .long  0xe92d4010                          // push          {r4, lr}
10782  .long  0xed2d8b06                          // vpush         {d8-d10}
10783  .long  0xe591e000                          // ldr           lr, [r1]
10784  .long  0xf3410d11                          // vmul.f32      d16, d1, d1
10785  .long  0xf3401d10                          // vmul.f32      d17, d0, d0
10786  .long  0xe591c004                          // ldr           ip, [r1, #4]
10787  .long  0xf3c12f10                          // vmov.f32      d18, #-4
10788  .long  0xe28e4020                          // add           r4, lr, #32
10789  .long  0xed9e8a0a                          // vldr          s16, [lr, #40]
10790  .long  0xf3c44610                          // vmov.i32      d20, #-1073741824
10791  .long  0xed9e9a0b                          // vldr          s18, [lr, #44]
10792  .long  0xe2811008                          // add           r1, r1, #8
10793  .long  0xee28aa08                          // vmul.f32      s20, s16, s16
10794  .long  0xee298a08                          // vmul.f32      s16, s18, s16
10795  .long  0xf2410da0                          // vadd.f32      d16, d17, d16
10796  .long  0xf3f41c0a                          // vdup.32       d17, d10[0]
10797  .long  0xf3f43c08                          // vdup.32       d19, d8[0]
10798  .long  0xf2600da1                          // vsub.f32      d16, d16, d17
10799  .long  0xf4e41c9f                          // vld1.32       {d17[]}, [r4 :32]
10800  .long  0xf2433d80                          // vadd.f32      d19, d19, d0
10801  .long  0xf3411db2                          // vmul.f32      d17, d17, d18
10802  .long  0xe28e4024                          // add           r4, lr, #36
10803  .long  0xf3432db4                          // vmul.f32      d18, d19, d20
10804  .long  0xf4e44c9f                          // vld1.32       {d20[]}, [r4 :32]
10805  .long  0xf3410db0                          // vmul.f32      d16, d17, d16
10806  .long  0xf2420cb2                          // vfma.f32      d16, d18, d18
10807  .long  0xf3fb15a0                          // vrsqrte.f32   d17, d16
10808  .long  0xf3413db1                          // vmul.f32      d19, d17, d17
10809  .long  0xf2603fb3                          // vrsqrts.f32   d19, d16, d19
10810  .long  0xf3411db3                          // vmul.f32      d17, d17, d19
10811  .long  0xf3413db1                          // vmul.f32      d19, d17, d17
10812  .long  0xf2603fb3                          // vrsqrts.f32   d19, d16, d19
10813  .long  0xf3411db3                          // vmul.f32      d17, d17, d19
10814  .long  0xf3f937a2                          // vneg.f32      d19, d18
10815  .long  0xf3410db0                          // vmul.f32      d16, d17, d16
10816  .long  0xf2c3161f                          // vmov.i32      d17, #1056964608
10817  .long  0xf2633da0                          // vsub.f32      d19, d19, d16
10818  .long  0xf2600da2                          // vsub.f32      d16, d16, d18
10819  .long  0xf3441db1                          // vmul.f32      d17, d20, d17
10820  .long  0xf3412db3                          // vmul.f32      d18, d17, d19
10821  .long  0xf3410db0                          // vmul.f32      d16, d17, d16
10822  .long  0xf2200fa2                          // vmin.f32      d0, d16, d18
10823  .long  0xecbd8b06                          // vpop          {d8-d10}
10824  .long  0xe8bd4010                          // pop           {r4, lr}
10825  .long  0xe12fff1c                          // bx            ip
10826
10827HIDDEN _sk_xy_to_2pt_conical_linear_vfp4
10828.globl _sk_xy_to_2pt_conical_linear_vfp4
10829FUNCTION(_sk_xy_to_2pt_conical_linear_vfp4)
10830_sk_xy_to_2pt_conical_linear_vfp4:
10831  .long  0xe92d4800                          // push          {fp, lr}
10832  .long  0xed2d8b04                          // vpush         {d8-d9}
10833  .long  0xe591e000                          // ldr           lr, [r1]
10834  .long  0xf3410d11                          // vmul.f32      d16, d1, d1
10835  .long  0xf3401d10                          // vmul.f32      d17, d0, d0
10836  .long  0xe591c004                          // ldr           ip, [r1, #4]
10837  .long  0xf3c43610                          // vmov.i32      d19, #-1073741824
10838  .long  0xe2811008                          // add           r1, r1, #8
10839  .long  0xed9e8a0a                          // vldr          s16, [lr, #40]
10840  .long  0xed9e9a0b                          // vldr          s18, [lr, #44]
10841  .long  0xf2410da0                          // vadd.f32      d16, d17, d16
10842  .long  0xee299a08                          // vmul.f32      s18, s18, s16
10843  .long  0xee288a08                          // vmul.f32      s16, s16, s16
10844  .long  0xf3f41c09                          // vdup.32       d17, d9[0]
10845  .long  0xf3f42c08                          // vdup.32       d18, d8[0]
10846  .long  0xf2411d80                          // vadd.f32      d17, d17, d0
10847  .long  0xf2600da2                          // vsub.f32      d16, d16, d18
10848  .long  0xf3018db3                          // vmul.f32      d8, d17, d19
10849  .long  0xf3b997a0                          // vneg.f32      d9, d16
10850  .long  0xeec90aa8                          // vdiv.f32      s1, s19, s17
10851  .long  0xee890a08                          // vdiv.f32      s0, s18, s16
10852  .long  0xecbd8b04                          // vpop          {d8-d9}
10853  .long  0xe8bd4800                          // pop           {fp, lr}
10854  .long  0xe12fff1c                          // bx            ip
10855
10856HIDDEN _sk_mask_2pt_conical_degenerates_vfp4
10857.globl _sk_mask_2pt_conical_degenerates_vfp4
10858FUNCTION(_sk_mask_2pt_conical_degenerates_vfp4)
10859_sk_mask_2pt_conical_degenerates_vfp4:
10860  .long  0xe92d4800                          // push          {fp, lr}
10861  .long  0xf2c00010                          // vmov.i32      d16, #0
10862  .long  0xe591c000                          // ldr           ip, [r1]
10863  .long  0xf3401e20                          // vcge.f32      d17, d0, d16
10864  .long  0xe28ce02c                          // add           lr, ip, #44
10865  .long  0xf3600e80                          // vcgt.f32      d16, d16, d0
10866  .long  0xf4ee2c9f                          // vld1.32       {d18[]}, [lr :32]
10867  .long  0xe28ce028                          // add           lr, ip, #40
10868  .long  0xf26001b1                          // vorr          d16, d16, d17
10869  .long  0xf4ee1c9f                          // vld1.32       {d17[]}, [lr :32]
10870  .long  0xf2401c32                          // vfma.f32      d17, d0, d18
10871  .long  0xf3f914a1                          // vcge.f32      d17, d17, #0
10872  .long  0xf24101b0                          // vand          d16, d17, d16
10873  .long  0xedcc0b00                          // vstr          d16, [ip]
10874  .long  0xe281c008                          // add           ip, r1, #8
10875  .long  0xe591e004                          // ldr           lr, [r1, #4]
10876  .long  0xe1a0100c                          // mov           r1, ip
10877  .long  0xe1a0c00e                          // mov           ip, lr
10878  .long  0xe8bd4800                          // pop           {fp, lr}
10879  .long  0xe12fff1c                          // bx            ip
10880
10881HIDDEN _sk_apply_vector_mask_vfp4
10882.globl _sk_apply_vector_mask_vfp4
10883FUNCTION(_sk_apply_vector_mask_vfp4)
10884_sk_apply_vector_mask_vfp4:
10885  .long  0xe92d4800                          // push          {fp, lr}
10886  .long  0xe591e000                          // ldr           lr, [r1]
10887  .long  0xe591c004                          // ldr           ip, [r1, #4]
10888  .long  0xe2811008                          // add           r1, r1, #8
10889  .long  0xedde0b00                          // vldr          d16, [lr]
10890  .long  0xf2000190                          // vand          d0, d16, d0
10891  .long  0xf2001191                          // vand          d1, d16, d1
10892  .long  0xf2002192                          // vand          d2, d16, d2
10893  .long  0xf2003193                          // vand          d3, d16, d3
10894  .long  0xe8bd4800                          // pop           {fp, lr}
10895  .long  0xe12fff1c                          // bx            ip
10896
10897HIDDEN _sk_save_xy_vfp4
10898.globl _sk_save_xy_vfp4
10899FUNCTION(_sk_save_xy_vfp4)
10900_sk_save_xy_vfp4:
10901  .long  0xe92d4800                          // push          {fp, lr}
10902  .long  0xf2c3061f                          // vmov.i32      d16, #1056964608
10903  .long  0xeddf7b1a                          // vldr          d23, [pc, #104]
10904  .long  0xf2c06010                          // vmov.i32      d22, #0
10905  .long  0xe591c000                          // ldr           ip, [r1]
10906  .long  0xf2401d20                          // vadd.f32      d17, d0, d16
10907  .long  0xf2410d20                          // vadd.f32      d16, d1, d16
10908  .long  0xed8c0b00                          // vstr          d0, [ip]
10909  .long  0xed8c1b08                          // vstr          d1, [ip, #32]
10910  .long  0xf3fb2721                          // vcvt.s32.f32  d18, d17
10911  .long  0xf3fb3720                          // vcvt.s32.f32  d19, d16
10912  .long  0xf3fb2622                          // vcvt.f32.s32  d18, d18
10913  .long  0xf3fb3623                          // vcvt.f32.s32  d19, d19
10914  .long  0xf3624ea1                          // vcgt.f32      d20, d18, d17
10915  .long  0xf3635ea0                          // vcgt.f32      d21, d19, d16
10916  .long  0xf35741b6                          // vbsl          d20, d23, d22
10917  .long  0xf35751b6                          // vbsl          d21, d23, d22
10918  .long  0xf2622da4                          // vsub.f32      d18, d18, d20
10919  .long  0xf2633da5                          // vsub.f32      d19, d19, d21
10920  .long  0xf2611da2                          // vsub.f32      d17, d17, d18
10921  .long  0xf2600da3                          // vsub.f32      d16, d16, d19
10922  .long  0xedcc1b10                          // vstr          d17, [ip, #64]
10923  .long  0xedcc0b18                          // vstr          d16, [ip, #96]
10924  .long  0xe281c008                          // add           ip, r1, #8
10925  .long  0xe591e004                          // ldr           lr, [r1, #4]
10926  .long  0xe1a0100c                          // mov           r1, ip
10927  .long  0xe1a0c00e                          // mov           ip, lr
10928  .long  0xe8bd4800                          // pop           {fp, lr}
10929  .long  0xe12fff1c                          // bx            ip
10930  .long  0xe320f000                          // nop           {0}
10931  .long  0x3f800000                          // .word         0x3f800000
10932  .long  0x3f800000                          // .word         0x3f800000
10933
10934HIDDEN _sk_accumulate_vfp4
10935.globl _sk_accumulate_vfp4
10936FUNCTION(_sk_accumulate_vfp4)
10937_sk_accumulate_vfp4:
10938  .long  0xe92d4800                          // push          {fp, lr}
10939  .long  0xe591e000                          // ldr           lr, [r1]
10940  .long  0xe591c004                          // ldr           ip, [r1, #4]
10941  .long  0xe2811008                          // add           r1, r1, #8
10942  .long  0xedde1b28                          // vldr          d17, [lr, #160]
10943  .long  0xedde0b20                          // vldr          d16, [lr, #128]
10944  .long  0xf3400db1                          // vmul.f32      d16, d16, d17
10945  .long  0xf2004c90                          // vfma.f32      d4, d16, d0
10946  .long  0xf2005c91                          // vfma.f32      d5, d16, d1
10947  .long  0xf2006c92                          // vfma.f32      d6, d16, d2
10948  .long  0xf2007c93                          // vfma.f32      d7, d16, d3
10949  .long  0xe8bd4800                          // pop           {fp, lr}
10950  .long  0xe12fff1c                          // bx            ip
10951
10952HIDDEN _sk_bilinear_nx_vfp4
10953.globl _sk_bilinear_nx_vfp4
10954FUNCTION(_sk_bilinear_nx_vfp4)
10955_sk_bilinear_nx_vfp4:
10956  .long  0xe92d4800                          // push          {fp, lr}
10957  .long  0xe591c000                          // ldr           ip, [r1]
10958  .long  0xf2c70f10                          // vmov.f32      d16, #1
10959  .long  0xeddc2b10                          // vldr          d18, [ip, #64]
10960  .long  0xf2600da2                          // vsub.f32      d16, d16, d18
10961  .long  0xeddc1b00                          // vldr          d17, [ip]
10962  .long  0xf3c3261f                          // vmov.i32      d18, #-1090519040
10963  .long  0xf2010da2                          // vadd.f32      d0, d17, d18
10964  .long  0xedcc0b20                          // vstr          d16, [ip, #128]
10965  .long  0xe281c008                          // add           ip, r1, #8
10966  .long  0xe591e004                          // ldr           lr, [r1, #4]
10967  .long  0xe1a0100c                          // mov           r1, ip
10968  .long  0xe1a0c00e                          // mov           ip, lr
10969  .long  0xe8bd4800                          // pop           {fp, lr}
10970  .long  0xe12fff1c                          // bx            ip
10971
10972HIDDEN _sk_bilinear_px_vfp4
10973.globl _sk_bilinear_px_vfp4
10974FUNCTION(_sk_bilinear_px_vfp4)
10975_sk_bilinear_px_vfp4:
10976  .long  0xe92d4800                          // push          {fp, lr}
10977  .long  0xe591c000                          // ldr           ip, [r1]
10978  .long  0xf2c3061f                          // vmov.i32      d16, #1056964608
10979  .long  0xeddc2b10                          // vldr          d18, [ip, #64]
10980  .long  0xeddc1b00                          // vldr          d17, [ip]
10981  .long  0xedcc2b20                          // vstr          d18, [ip, #128]
10982  .long  0xe281c008                          // add           ip, r1, #8
10983  .long  0xe591e004                          // ldr           lr, [r1, #4]
10984  .long  0xf2010da0                          // vadd.f32      d0, d17, d16
10985  .long  0xe1a0100c                          // mov           r1, ip
10986  .long  0xe1a0c00e                          // mov           ip, lr
10987  .long  0xe8bd4800                          // pop           {fp, lr}
10988  .long  0xe12fff1c                          // bx            ip
10989
10990HIDDEN _sk_bilinear_ny_vfp4
10991.globl _sk_bilinear_ny_vfp4
10992FUNCTION(_sk_bilinear_ny_vfp4)
10993_sk_bilinear_ny_vfp4:
10994  .long  0xe92d4800                          // push          {fp, lr}
10995  .long  0xe591c000                          // ldr           ip, [r1]
10996  .long  0xf2c70f10                          // vmov.f32      d16, #1
10997  .long  0xeddc2b18                          // vldr          d18, [ip, #96]
10998  .long  0xf2600da2                          // vsub.f32      d16, d16, d18
10999  .long  0xeddc1b08                          // vldr          d17, [ip, #32]
11000  .long  0xf3c3261f                          // vmov.i32      d18, #-1090519040
11001  .long  0xf2011da2                          // vadd.f32      d1, d17, d18
11002  .long  0xedcc0b28                          // vstr          d16, [ip, #160]
11003  .long  0xe281c008                          // add           ip, r1, #8
11004  .long  0xe591e004                          // ldr           lr, [r1, #4]
11005  .long  0xe1a0100c                          // mov           r1, ip
11006  .long  0xe1a0c00e                          // mov           ip, lr
11007  .long  0xe8bd4800                          // pop           {fp, lr}
11008  .long  0xe12fff1c                          // bx            ip
11009
11010HIDDEN _sk_bilinear_py_vfp4
11011.globl _sk_bilinear_py_vfp4
11012FUNCTION(_sk_bilinear_py_vfp4)
11013_sk_bilinear_py_vfp4:
11014  .long  0xe92d4800                          // push          {fp, lr}
11015  .long  0xe591c000                          // ldr           ip, [r1]
11016  .long  0xf2c3061f                          // vmov.i32      d16, #1056964608
11017  .long  0xeddc2b18                          // vldr          d18, [ip, #96]
11018  .long  0xeddc1b08                          // vldr          d17, [ip, #32]
11019  .long  0xedcc2b28                          // vstr          d18, [ip, #160]
11020  .long  0xe281c008                          // add           ip, r1, #8
11021  .long  0xe591e004                          // ldr           lr, [r1, #4]
11022  .long  0xf2011da0                          // vadd.f32      d1, d17, d16
11023  .long  0xe1a0100c                          // mov           r1, ip
11024  .long  0xe1a0c00e                          // mov           ip, lr
11025  .long  0xe8bd4800                          // pop           {fp, lr}
11026  .long  0xe12fff1c                          // bx            ip
11027  .long  0xe320f000                          // nop           {0}
11028
11029HIDDEN _sk_bicubic_n3x_vfp4
11030.globl _sk_bicubic_n3x_vfp4
11031FUNCTION(_sk_bicubic_n3x_vfp4)
11032_sk_bicubic_n3x_vfp4:
11033  .long  0xe92d4800                          // push          {fp, lr}
11034  .long  0xe591c000                          // ldr           ip, [r1]
11035  .long  0xf2c70f10                          // vmov.f32      d16, #1
11036  .long  0xeddf3b11                          // vldr          d19, [pc, #68]
11037  .long  0xeddc2b10                          // vldr          d18, [ip, #64]
11038  .long  0xf2600da2                          // vsub.f32      d16, d16, d18
11039  .long  0xeddf2b0c                          // vldr          d18, [pc, #48]
11040  .long  0xeddc1b00                          // vldr          d17, [ip]
11041  .long  0xf2403cb2                          // vfma.f32      d19, d16, d18
11042  .long  0xf3400db0                          // vmul.f32      d16, d16, d16
11043  .long  0xf3c72f18                          // vmov.f32      d18, #-1.5
11044  .long  0xf2010da2                          // vadd.f32      d0, d17, d18
11045  .long  0xf3400db3                          // vmul.f32      d16, d16, d19
11046  .long  0xedcc0b20                          // vstr          d16, [ip, #128]
11047  .long  0xe281c008                          // add           ip, r1, #8
11048  .long  0xe591e004                          // ldr           lr, [r1, #4]
11049  .long  0xe1a0100c                          // mov           r1, ip
11050  .long  0xe1a0c00e                          // mov           ip, lr
11051  .long  0xe8bd4800                          // pop           {fp, lr}
11052  .long  0xe12fff1c                          // bx            ip
11053  .long  0x3ec71c72                          // .word         0x3ec71c72
11054  .long  0x3ec71c72                          // .word         0x3ec71c72
11055  .long  0xbeaaaaab                          // .word         0xbeaaaaab
11056  .long  0xbeaaaaab                          // .word         0xbeaaaaab
11057
11058HIDDEN _sk_bicubic_n1x_vfp4
11059.globl _sk_bicubic_n1x_vfp4
11060FUNCTION(_sk_bicubic_n1x_vfp4)
11061_sk_bicubic_n1x_vfp4:
11062  .long  0xe92d4800                          // push          {fp, lr}
11063  .long  0xe591c000                          // ldr           ip, [r1]
11064  .long  0xf2c70f10                          // vmov.f32      d16, #1
11065  .long  0xf2c73f18                          // vmov.f32      d19, #1.5
11066  .long  0xeddc2b10                          // vldr          d18, [ip, #64]
11067  .long  0xf2600da2                          // vsub.f32      d16, d16, d18
11068  .long  0xeddf2b0e                          // vldr          d18, [pc, #56]
11069  .long  0xeddc1b00                          // vldr          d17, [ip]
11070  .long  0xf2403cb2                          // vfma.f32      d19, d16, d18
11071  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
11072  .long  0xf2402cb3                          // vfma.f32      d18, d16, d19
11073  .long  0xeddf3b0b                          // vldr          d19, [pc, #44]
11074  .long  0xf2403cb2                          // vfma.f32      d19, d16, d18
11075  .long  0xf3c3061f                          // vmov.i32      d16, #-1090519040
11076  .long  0xf2010da0                          // vadd.f32      d0, d17, d16
11077  .long  0xedcc3b20                          // vstr          d19, [ip, #128]
11078  .long  0xe281c008                          // add           ip, r1, #8
11079  .long  0xe591e004                          // ldr           lr, [r1, #4]
11080  .long  0xe1a0100c                          // mov           r1, ip
11081  .long  0xe1a0c00e                          // mov           ip, lr
11082  .long  0xe8bd4800                          // pop           {fp, lr}
11083  .long  0xe12fff1c                          // bx            ip
11084  .long  0xbf955555                          // .word         0xbf955555
11085  .long  0xbf955555                          // .word         0xbf955555
11086  .long  0x3d638e39                          // .word         0x3d638e39
11087  .long  0x3d638e39                          // .word         0x3d638e39
11088
11089HIDDEN _sk_bicubic_p1x_vfp4
11090.globl _sk_bicubic_p1x_vfp4
11091FUNCTION(_sk_bicubic_p1x_vfp4)
11092_sk_bicubic_p1x_vfp4:
11093  .long  0xe92d4800                          // push          {fp, lr}
11094  .long  0xe591c000                          // ldr           ip, [r1]
11095  .long  0xf2c71f18                          // vmov.f32      d17, #1.5
11096  .long  0xeddf0b0f                          // vldr          d16, [pc, #60]
11097  .long  0xeddc3b10                          // vldr          d19, [ip, #64]
11098  .long  0xf2431cb0                          // vfma.f32      d17, d19, d16
11099  .long  0xeddc2b00                          // vldr          d18, [ip]
11100  .long  0xf2c3061f                          // vmov.i32      d16, #1056964608
11101  .long  0xf2020da0                          // vadd.f32      d0, d18, d16
11102  .long  0xf2430cb1                          // vfma.f32      d16, d19, d17
11103  .long  0xeddf1b0a                          // vldr          d17, [pc, #40]
11104  .long  0xf2431cb0                          // vfma.f32      d17, d19, d16
11105  .long  0xedcc1b20                          // vstr          d17, [ip, #128]
11106  .long  0xe281c008                          // add           ip, r1, #8
11107  .long  0xe591e004                          // ldr           lr, [r1, #4]
11108  .long  0xe1a0100c                          // mov           r1, ip
11109  .long  0xe1a0c00e                          // mov           ip, lr
11110  .long  0xe8bd4800                          // pop           {fp, lr}
11111  .long  0xe12fff1c                          // bx            ip
11112  .long  0xe320f000                          // nop           {0}
11113  .long  0xbf955555                          // .word         0xbf955555
11114  .long  0xbf955555                          // .word         0xbf955555
11115  .long  0x3d638e39                          // .word         0x3d638e39
11116  .long  0x3d638e39                          // .word         0x3d638e39
11117
11118HIDDEN _sk_bicubic_p3x_vfp4
11119.globl _sk_bicubic_p3x_vfp4
11120FUNCTION(_sk_bicubic_p3x_vfp4)
11121_sk_bicubic_p3x_vfp4:
11122  .long  0xe92d4800                          // push          {fp, lr}
11123  .long  0xe591c000                          // ldr           ip, [r1]
11124  .long  0xeddf0b0e                          // vldr          d16, [pc, #56]
11125  .long  0xeddf3b0f                          // vldr          d19, [pc, #60]
11126  .long  0xeddc2b10                          // vldr          d18, [ip, #64]
11127  .long  0xf2423cb0                          // vfma.f32      d19, d18, d16
11128  .long  0xeddc1b00                          // vldr          d17, [ip]
11129  .long  0xf3420db2                          // vmul.f32      d16, d18, d18
11130  .long  0xf2c72f18                          // vmov.f32      d18, #1.5
11131  .long  0xf2010da2                          // vadd.f32      d0, d17, d18
11132  .long  0xf3400db3                          // vmul.f32      d16, d16, d19
11133  .long  0xedcc0b20                          // vstr          d16, [ip, #128]
11134  .long  0xe281c008                          // add           ip, r1, #8
11135  .long  0xe591e004                          // ldr           lr, [r1, #4]
11136  .long  0xe1a0100c                          // mov           r1, ip
11137  .long  0xe1a0c00e                          // mov           ip, lr
11138  .long  0xe8bd4800                          // pop           {fp, lr}
11139  .long  0xe12fff1c                          // bx            ip
11140  .long  0x3ec71c72                          // .word         0x3ec71c72
11141  .long  0x3ec71c72                          // .word         0x3ec71c72
11142  .long  0xbeaaaaab                          // .word         0xbeaaaaab
11143  .long  0xbeaaaaab                          // .word         0xbeaaaaab
11144
11145HIDDEN _sk_bicubic_n3y_vfp4
11146.globl _sk_bicubic_n3y_vfp4
11147FUNCTION(_sk_bicubic_n3y_vfp4)
11148_sk_bicubic_n3y_vfp4:
11149  .long  0xe92d4800                          // push          {fp, lr}
11150  .long  0xe591c000                          // ldr           ip, [r1]
11151  .long  0xf2c70f10                          // vmov.f32      d16, #1
11152  .long  0xeddf3b11                          // vldr          d19, [pc, #68]
11153  .long  0xeddc2b18                          // vldr          d18, [ip, #96]
11154  .long  0xf2600da2                          // vsub.f32      d16, d16, d18
11155  .long  0xeddf2b0c                          // vldr          d18, [pc, #48]
11156  .long  0xeddc1b08                          // vldr          d17, [ip, #32]
11157  .long  0xf2403cb2                          // vfma.f32      d19, d16, d18
11158  .long  0xf3400db0                          // vmul.f32      d16, d16, d16
11159  .long  0xf3c72f18                          // vmov.f32      d18, #-1.5
11160  .long  0xf2011da2                          // vadd.f32      d1, d17, d18
11161  .long  0xf3400db3                          // vmul.f32      d16, d16, d19
11162  .long  0xedcc0b28                          // vstr          d16, [ip, #160]
11163  .long  0xe281c008                          // add           ip, r1, #8
11164  .long  0xe591e004                          // ldr           lr, [r1, #4]
11165  .long  0xe1a0100c                          // mov           r1, ip
11166  .long  0xe1a0c00e                          // mov           ip, lr
11167  .long  0xe8bd4800                          // pop           {fp, lr}
11168  .long  0xe12fff1c                          // bx            ip
11169  .long  0x3ec71c72                          // .word         0x3ec71c72
11170  .long  0x3ec71c72                          // .word         0x3ec71c72
11171  .long  0xbeaaaaab                          // .word         0xbeaaaaab
11172  .long  0xbeaaaaab                          // .word         0xbeaaaaab
11173
11174HIDDEN _sk_bicubic_n1y_vfp4
11175.globl _sk_bicubic_n1y_vfp4
11176FUNCTION(_sk_bicubic_n1y_vfp4)
11177_sk_bicubic_n1y_vfp4:
11178  .long  0xe92d4800                          // push          {fp, lr}
11179  .long  0xe591c000                          // ldr           ip, [r1]
11180  .long  0xf2c70f10                          // vmov.f32      d16, #1
11181  .long  0xf2c73f18                          // vmov.f32      d19, #1.5
11182  .long  0xeddc2b18                          // vldr          d18, [ip, #96]
11183  .long  0xf2600da2                          // vsub.f32      d16, d16, d18
11184  .long  0xeddf2b0e                          // vldr          d18, [pc, #56]
11185  .long  0xeddc1b08                          // vldr          d17, [ip, #32]
11186  .long  0xf2403cb2                          // vfma.f32      d19, d16, d18
11187  .long  0xf2c3261f                          // vmov.i32      d18, #1056964608
11188  .long  0xf2402cb3                          // vfma.f32      d18, d16, d19
11189  .long  0xeddf3b0b                          // vldr          d19, [pc, #44]
11190  .long  0xf2403cb2                          // vfma.f32      d19, d16, d18
11191  .long  0xf3c3061f                          // vmov.i32      d16, #-1090519040
11192  .long  0xf2011da0                          // vadd.f32      d1, d17, d16
11193  .long  0xedcc3b28                          // vstr          d19, [ip, #160]
11194  .long  0xe281c008                          // add           ip, r1, #8
11195  .long  0xe591e004                          // ldr           lr, [r1, #4]
11196  .long  0xe1a0100c                          // mov           r1, ip
11197  .long  0xe1a0c00e                          // mov           ip, lr
11198  .long  0xe8bd4800                          // pop           {fp, lr}
11199  .long  0xe12fff1c                          // bx            ip
11200  .long  0xbf955555                          // .word         0xbf955555
11201  .long  0xbf955555                          // .word         0xbf955555
11202  .long  0x3d638e39                          // .word         0x3d638e39
11203  .long  0x3d638e39                          // .word         0x3d638e39
11204
11205HIDDEN _sk_bicubic_p1y_vfp4
11206.globl _sk_bicubic_p1y_vfp4
11207FUNCTION(_sk_bicubic_p1y_vfp4)
11208_sk_bicubic_p1y_vfp4:
11209  .long  0xe92d4800                          // push          {fp, lr}
11210  .long  0xe591c000                          // ldr           ip, [r1]
11211  .long  0xf2c71f18                          // vmov.f32      d17, #1.5
11212  .long  0xeddf0b0f                          // vldr          d16, [pc, #60]
11213  .long  0xeddc3b18                          // vldr          d19, [ip, #96]
11214  .long  0xf2431cb0                          // vfma.f32      d17, d19, d16
11215  .long  0xeddc2b08                          // vldr          d18, [ip, #32]
11216  .long  0xf2c3061f                          // vmov.i32      d16, #1056964608
11217  .long  0xf2021da0                          // vadd.f32      d1, d18, d16
11218  .long  0xf2430cb1                          // vfma.f32      d16, d19, d17
11219  .long  0xeddf1b0a                          // vldr          d17, [pc, #40]
11220  .long  0xf2431cb0                          // vfma.f32      d17, d19, d16
11221  .long  0xedcc1b28                          // vstr          d17, [ip, #160]
11222  .long  0xe281c008                          // add           ip, r1, #8
11223  .long  0xe591e004                          // ldr           lr, [r1, #4]
11224  .long  0xe1a0100c                          // mov           r1, ip
11225  .long  0xe1a0c00e                          // mov           ip, lr
11226  .long  0xe8bd4800                          // pop           {fp, lr}
11227  .long  0xe12fff1c                          // bx            ip
11228  .long  0xe320f000                          // nop           {0}
11229  .long  0xbf955555                          // .word         0xbf955555
11230  .long  0xbf955555                          // .word         0xbf955555
11231  .long  0x3d638e39                          // .word         0x3d638e39
11232  .long  0x3d638e39                          // .word         0x3d638e39
11233
11234HIDDEN _sk_bicubic_p3y_vfp4
11235.globl _sk_bicubic_p3y_vfp4
11236FUNCTION(_sk_bicubic_p3y_vfp4)
11237_sk_bicubic_p3y_vfp4:
11238  .long  0xe92d4800                          // push          {fp, lr}
11239  .long  0xe591c000                          // ldr           ip, [r1]
11240  .long  0xeddf0b0e                          // vldr          d16, [pc, #56]
11241  .long  0xeddf3b0f                          // vldr          d19, [pc, #60]
11242  .long  0xeddc2b18                          // vldr          d18, [ip, #96]
11243  .long  0xf2423cb0                          // vfma.f32      d19, d18, d16
11244  .long  0xeddc1b08                          // vldr          d17, [ip, #32]
11245  .long  0xf3420db2                          // vmul.f32      d16, d18, d18
11246  .long  0xf2c72f18                          // vmov.f32      d18, #1.5
11247  .long  0xf2011da2                          // vadd.f32      d1, d17, d18
11248  .long  0xf3400db3                          // vmul.f32      d16, d16, d19
11249  .long  0xedcc0b28                          // vstr          d16, [ip, #160]
11250  .long  0xe281c008                          // add           ip, r1, #8
11251  .long  0xe591e004                          // ldr           lr, [r1, #4]
11252  .long  0xe1a0100c                          // mov           r1, ip
11253  .long  0xe1a0c00e                          // mov           ip, lr
11254  .long  0xe8bd4800                          // pop           {fp, lr}
11255  .long  0xe12fff1c                          // bx            ip
11256  .long  0x3ec71c72                          // .word         0x3ec71c72
11257  .long  0x3ec71c72                          // .word         0x3ec71c72
11258  .long  0xbeaaaaab                          // .word         0xbeaaaaab
11259  .long  0xbeaaaaab                          // .word         0xbeaaaaab
11260
11261HIDDEN _sk_callback_vfp4
11262.globl _sk_callback_vfp4
11263FUNCTION(_sk_callback_vfp4)
11264_sk_callback_vfp4:
11265  .long  0xe92d4df0                          // push          {r4, r5, r6, r7, r8, sl, fp, lr}
11266  .long  0xe28db018                          // add           fp, sp, #24
11267  .long  0xed2d8b08                          // vpush         {d8-d11}
11268  .long  0xe1a06001                          // mov           r6, r1
11269  .long  0xe1a07000                          // mov           r7, r0
11270  .long  0xe5964000                          // ldr           r4, [r6]
11271  .long  0xe1a05002                          // mov           r5, r2
11272  .long  0xe59b1008                          // ldr           r1, [fp, #8]
11273  .long  0xeeb08b47                          // vmov.f64      d8, d7
11274  .long  0xe2840004                          // add           r0, r4, #4
11275  .long  0xe1a08003                          // mov           r8, r3
11276  .long  0xe3510000                          // cmp           r1, #0
11277  .long  0x03a01002                          // moveq         r1, #2
11278  .long  0xf400008f                          // vst4.32       {d0-d3}, [r0]
11279  .long  0xe1a00004                          // mov           r0, r4
11280  .long  0xe5942000                          // ldr           r2, [r4]
11281  .long  0xeeb09b46                          // vmov.f64      d9, d6
11282  .long  0xeeb0ab45                          // vmov.f64      d10, d5
11283  .long  0xeeb0bb44                          // vmov.f64      d11, d4
11284  .long  0xe12fff32                          // blx           r2
11285  .long  0xe5940084                          // ldr           r0, [r4, #132]
11286  .long  0xe2861008                          // add           r1, r6, #8
11287  .long  0xe596c004                          // ldr           ip, [r6, #4]
11288  .long  0xe1a02005                          // mov           r2, r5
11289  .long  0xe1a03008                          // mov           r3, r8
11290  .long  0xeeb04b4b                          // vmov.f64      d4, d11
11291  .long  0xf420008f                          // vld4.32       {d0-d3}, [r0]
11292  .long  0xe1a00007                          // mov           r0, r7
11293  .long  0xeeb05b4a                          // vmov.f64      d5, d10
11294  .long  0xeeb06b49                          // vmov.f64      d6, d9
11295  .long  0xeeb07b48                          // vmov.f64      d7, d8
11296  .long  0xecbd8b08                          // vpop          {d8-d11}
11297  .long  0xe8bd4df0                          // pop           {r4, r5, r6, r7, r8, sl, fp, lr}
11298  .long  0xe12fff1c                          // bx            ip
11299#elif defined(__x86_64__)
11300BALIGN32
11301
11302HIDDEN _sk_start_pipeline_hsw
11303.globl _sk_start_pipeline_hsw
11304FUNCTION(_sk_start_pipeline_hsw)
11305_sk_start_pipeline_hsw:
11306  .byte  85                                  // push          %rbp
11307  .byte  72,137,229                          // mov           %rsp,%rbp
11308  .byte  65,87                               // push          %r15
11309  .byte  65,86                               // push          %r14
11310  .byte  65,85                               // push          %r13
11311  .byte  65,84                               // push          %r12
11312  .byte  83                                  // push          %rbx
11313  .byte  80                                  // push          %rax
11314  .byte  77,137,196                          // mov           %r8,%r12
11315  .byte  73,137,208                          // mov           %rdx,%r8
11316  .byte  72,137,243                          // mov           %rsi,%rbx
11317  .byte  73,137,254                          // mov           %rdi,%r14
11318  .byte  72,137,206                          // mov           %rcx,%rsi
11319  .byte  72,173                              // lods          %ds:(%rsi),%rax
11320  .byte  73,137,197                          // mov           %rax,%r13
11321  .byte  73,137,247                          // mov           %rsi,%r15
11322  .byte  73,141,78,8                         // lea           0x8(%r14),%rcx
11323  .byte  76,57,193                           // cmp           %r8,%rcx
11324  .byte  118,5                               // jbe           33 <_sk_start_pipeline_hsw+0x33>
11325  .byte  76,137,242                          // mov           %r14,%rdx
11326  .byte  235,42                              // jmp           5d <_sk_start_pipeline_hsw+0x5d>
11327  .byte  76,137,69,208                       // mov           %r8,-0x30(%rbp)
11328  .byte  69,49,192                           // xor           %r8d,%r8d
11329  .byte  76,137,231                          // mov           %r12,%rdi
11330  .byte  76,137,254                          // mov           %r15,%rsi
11331  .byte  76,137,242                          // mov           %r14,%rdx
11332  .byte  72,137,217                          // mov           %rbx,%rcx
11333  .byte  65,255,213                          // callq         *%r13
11334  .byte  76,139,69,208                       // mov           -0x30(%rbp),%r8
11335  .byte  73,141,86,8                         // lea           0x8(%r14),%rdx
11336  .byte  73,131,198,16                       // add           $0x10,%r14
11337  .byte  77,57,198                           // cmp           %r8,%r14
11338  .byte  73,137,214                          // mov           %rdx,%r14
11339  .byte  118,218                             // jbe           37 <_sk_start_pipeline_hsw+0x37>
11340  .byte  73,41,208                           // sub           %rdx,%r8
11341  .byte  116,12                              // je            6e <_sk_start_pipeline_hsw+0x6e>
11342  .byte  76,137,231                          // mov           %r12,%rdi
11343  .byte  76,137,254                          // mov           %r15,%rsi
11344  .byte  72,137,217                          // mov           %rbx,%rcx
11345  .byte  65,255,213                          // callq         *%r13
11346  .byte  72,131,196,8                        // add           $0x8,%rsp
11347  .byte  91                                  // pop           %rbx
11348  .byte  65,92                               // pop           %r12
11349  .byte  65,93                               // pop           %r13
11350  .byte  65,94                               // pop           %r14
11351  .byte  65,95                               // pop           %r15
11352  .byte  93                                  // pop           %rbp
11353  .byte  197,248,119                         // vzeroupper
11354  .byte  195                                 // retq
11355
11356HIDDEN _sk_start_pipeline_2d_hsw
11357.globl _sk_start_pipeline_2d_hsw
11358FUNCTION(_sk_start_pipeline_2d_hsw)
11359_sk_start_pipeline_2d_hsw:
11360  .byte  85                                  // push          %rbp
11361  .byte  72,137,229                          // mov           %rsp,%rbp
11362  .byte  65,87                               // push          %r15
11363  .byte  65,86                               // push          %r14
11364  .byte  65,85                               // push          %r13
11365  .byte  65,84                               // push          %r12
11366  .byte  83                                  // push          %rbx
11367  .byte  72,131,236,40                       // sub           $0x28,%rsp
11368  .byte  72,137,211                          // mov           %rdx,%rbx
11369  .byte  73,137,244                          // mov           %rsi,%r12
11370  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
11371  .byte  72,137,77,176                       // mov           %rcx,-0x50(%rbp)
11372  .byte  73,57,204                           // cmp           %rcx,%r12
11373  .byte  115,124                             // jae           120 <_sk_start_pipeline_2d_hsw+0xa0>
11374  .byte  76,137,198                          // mov           %r8,%rsi
11375  .byte  72,173                              // lods          %ds:(%rsi),%rax
11376  .byte  73,137,198                          // mov           %rax,%r14
11377  .byte  73,137,245                          // mov           %rsi,%r13
11378  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
11379  .byte  72,141,64,8                         // lea           0x8(%rax),%rax
11380  .byte  72,137,69,184                       // mov           %rax,-0x48(%rbp)
11381  .byte  76,137,77,192                       // mov           %r9,-0x40(%rbp)
11382  .byte  72,137,93,200                       // mov           %rbx,-0x38(%rbp)
11383  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
11384  .byte  72,57,93,184                        // cmp           %rbx,-0x48(%rbp)
11385  .byte  119,46                              // ja            fb <_sk_start_pipeline_2d_hsw+0x7b>
11386  .byte  76,139,125,208                      // mov           -0x30(%rbp),%r15
11387  .byte  69,49,192                           // xor           %r8d,%r8d
11388  .byte  76,137,207                          // mov           %r9,%rdi
11389  .byte  76,137,238                          // mov           %r13,%rsi
11390  .byte  76,137,250                          // mov           %r15,%rdx
11391  .byte  76,137,225                          // mov           %r12,%rcx
11392  .byte  65,255,214                          // callq         *%r14
11393  .byte  72,139,93,200                       // mov           -0x38(%rbp),%rbx
11394  .byte  76,139,77,192                       // mov           -0x40(%rbp),%r9
11395  .byte  73,141,87,8                         // lea           0x8(%r15),%rdx
11396  .byte  73,131,199,16                       // add           $0x10,%r15
11397  .byte  73,57,223                           // cmp           %rbx,%r15
11398  .byte  73,137,215                          // mov           %rdx,%r15
11399  .byte  118,214                             // jbe           d1 <_sk_start_pipeline_2d_hsw+0x51>
11400  .byte  73,137,216                          // mov           %rbx,%r8
11401  .byte  73,41,208                           // sub           %rdx,%r8
11402  .byte  116,20                              // je            117 <_sk_start_pipeline_2d_hsw+0x97>
11403  .byte  76,137,207                          // mov           %r9,%rdi
11404  .byte  76,137,238                          // mov           %r13,%rsi
11405  .byte  76,137,225                          // mov           %r12,%rcx
11406  .byte  65,255,214                          // callq         *%r14
11407  .byte  72,139,93,200                       // mov           -0x38(%rbp),%rbx
11408  .byte  76,139,77,192                       // mov           -0x40(%rbp),%r9
11409  .byte  73,255,196                          // inc           %r12
11410  .byte  76,59,101,176                       // cmp           -0x50(%rbp),%r12
11411  .byte  117,163                             // jne           c3 <_sk_start_pipeline_2d_hsw+0x43>
11412  .byte  72,131,196,40                       // add           $0x28,%rsp
11413  .byte  91                                  // pop           %rbx
11414  .byte  65,92                               // pop           %r12
11415  .byte  65,93                               // pop           %r13
11416  .byte  65,94                               // pop           %r14
11417  .byte  65,95                               // pop           %r15
11418  .byte  93                                  // pop           %rbp
11419  .byte  197,248,119                         // vzeroupper
11420  .byte  195                                 // retq
11421
11422HIDDEN _sk_just_return_hsw
11423.globl _sk_just_return_hsw
11424FUNCTION(_sk_just_return_hsw)
11425_sk_just_return_hsw:
11426  .byte  195                                 // retq
11427
11428HIDDEN _sk_seed_shader_hsw
11429.globl _sk_seed_shader_hsw
11430FUNCTION(_sk_seed_shader_hsw)
11431_sk_seed_shader_hsw:
11432  .byte  197,249,110,194                     // vmovd         %edx,%xmm0
11433  .byte  196,226,125,88,192                  // vpbroadcastd  %xmm0,%ymm0
11434  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
11435  .byte  196,226,125,24,13,223,86,0,0        // vbroadcastss  0x56df(%rip),%ymm1        # 5828 <_sk_callback_hsw+0x144>
11436  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
11437  .byte  197,252,88,7                        // vaddps        (%rdi),%ymm0,%ymm0
11438  .byte  197,249,110,209                     // vmovd         %ecx,%xmm2
11439  .byte  196,226,125,88,210                  // vpbroadcastd  %xmm2,%ymm2
11440  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
11441  .byte  197,236,88,201                      // vaddps        %ymm1,%ymm2,%ymm1
11442  .byte  72,173                              // lods          %ds:(%rsi),%rax
11443  .byte  196,226,125,24,21,191,86,0,0        // vbroadcastss  0x56bf(%rip),%ymm2        # 582c <_sk_callback_hsw+0x148>
11444  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
11445  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
11446  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
11447  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
11448  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
11449  .byte  255,224                             // jmpq          *%rax
11450
11451HIDDEN _sk_dither_hsw
11452.globl _sk_dither_hsw
11453FUNCTION(_sk_dither_hsw)
11454_sk_dither_hsw:
11455  .byte  72,173                              // lods          %ds:(%rsi),%rax
11456  .byte  197,121,110,194                     // vmovd         %edx,%xmm8
11457  .byte  196,66,125,88,192                   // vpbroadcastd  %xmm8,%ymm8
11458  .byte  197,61,254,71,32                    // vpaddd        0x20(%rdi),%ymm8,%ymm8
11459  .byte  197,121,110,201                     // vmovd         %ecx,%xmm9
11460  .byte  196,66,125,88,201                   // vpbroadcastd  %xmm9,%ymm9
11461  .byte  196,65,53,239,200                   // vpxor         %ymm8,%ymm9,%ymm9
11462  .byte  196,98,125,88,21,134,86,0,0         // vpbroadcastd  0x5686(%rip),%ymm10        # 5830 <_sk_callback_hsw+0x14c>
11463  .byte  196,65,53,219,218                   // vpand         %ymm10,%ymm9,%ymm11
11464  .byte  196,193,37,114,243,5                // vpslld        $0x5,%ymm11,%ymm11
11465  .byte  196,65,61,219,210                   // vpand         %ymm10,%ymm8,%ymm10
11466  .byte  196,193,45,114,242,4                // vpslld        $0x4,%ymm10,%ymm10
11467  .byte  196,98,125,88,37,107,86,0,0         // vpbroadcastd  0x566b(%rip),%ymm12        # 5834 <_sk_callback_hsw+0x150>
11468  .byte  196,98,125,88,45,102,86,0,0         // vpbroadcastd  0x5666(%rip),%ymm13        # 5838 <_sk_callback_hsw+0x154>
11469  .byte  196,65,53,219,245                   // vpand         %ymm13,%ymm9,%ymm14
11470  .byte  196,193,13,114,246,2                // vpslld        $0x2,%ymm14,%ymm14
11471  .byte  196,65,61,219,237                   // vpand         %ymm13,%ymm8,%ymm13
11472  .byte  196,65,21,254,237                   // vpaddd        %ymm13,%ymm13,%ymm13
11473  .byte  196,65,53,219,204                   // vpand         %ymm12,%ymm9,%ymm9
11474  .byte  196,193,53,114,209,1                // vpsrld        $0x1,%ymm9,%ymm9
11475  .byte  196,65,61,219,196                   // vpand         %ymm12,%ymm8,%ymm8
11476  .byte  196,193,61,114,208,2                // vpsrld        $0x2,%ymm8,%ymm8
11477  .byte  196,65,21,235,210                   // vpor          %ymm10,%ymm13,%ymm10
11478  .byte  196,65,45,235,192                   // vpor          %ymm8,%ymm10,%ymm8
11479  .byte  196,65,37,235,214                   // vpor          %ymm14,%ymm11,%ymm10
11480  .byte  196,65,61,235,194                   // vpor          %ymm10,%ymm8,%ymm8
11481  .byte  196,65,61,235,193                   // vpor          %ymm9,%ymm8,%ymm8
11482  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
11483  .byte  196,98,125,24,13,24,86,0,0          // vbroadcastss  0x5618(%rip),%ymm9        # 583c <_sk_callback_hsw+0x158>
11484  .byte  196,98,125,24,21,19,86,0,0          // vbroadcastss  0x5613(%rip),%ymm10        # 5840 <_sk_callback_hsw+0x15c>
11485  .byte  196,66,61,184,209                   // vfmadd231ps   %ymm9,%ymm8,%ymm10
11486  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
11487  .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
11488  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
11489  .byte  197,188,88,201                      // vaddps        %ymm1,%ymm8,%ymm1
11490  .byte  197,188,88,210                      // vaddps        %ymm2,%ymm8,%ymm2
11491  .byte  197,252,93,195                      // vminps        %ymm3,%ymm0,%ymm0
11492  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
11493  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
11494  .byte  197,244,93,203                      // vminps        %ymm3,%ymm1,%ymm1
11495  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
11496  .byte  197,236,93,211                      // vminps        %ymm3,%ymm2,%ymm2
11497  .byte  197,188,95,210                      // vmaxps        %ymm2,%ymm8,%ymm2
11498  .byte  72,173                              // lods          %ds:(%rsi),%rax
11499  .byte  255,224                             // jmpq          *%rax
11500
11501HIDDEN _sk_uniform_color_hsw
11502.globl _sk_uniform_color_hsw
11503FUNCTION(_sk_uniform_color_hsw)
11504_sk_uniform_color_hsw:
11505  .byte  72,173                              // lods          %ds:(%rsi),%rax
11506  .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
11507  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
11508  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
11509  .byte  196,226,125,24,88,12                // vbroadcastss  0xc(%rax),%ymm3
11510  .byte  72,173                              // lods          %ds:(%rsi),%rax
11511  .byte  255,224                             // jmpq          *%rax
11512
11513HIDDEN _sk_black_color_hsw
11514.globl _sk_black_color_hsw
11515FUNCTION(_sk_black_color_hsw)
11516_sk_black_color_hsw:
11517  .byte  72,173                              // lods          %ds:(%rsi),%rax
11518  .byte  196,226,125,24,29,179,85,0,0        // vbroadcastss  0x55b3(%rip),%ymm3        # 5844 <_sk_callback_hsw+0x160>
11519  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
11520  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
11521  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
11522  .byte  255,224                             // jmpq          *%rax
11523
11524HIDDEN _sk_white_color_hsw
11525.globl _sk_white_color_hsw
11526FUNCTION(_sk_white_color_hsw)
11527_sk_white_color_hsw:
11528  .byte  72,173                              // lods          %ds:(%rsi),%rax
11529  .byte  196,226,125,24,5,158,85,0,0         // vbroadcastss  0x559e(%rip),%ymm0        # 5848 <_sk_callback_hsw+0x164>
11530  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
11531  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
11532  .byte  197,252,40,216                      // vmovaps       %ymm0,%ymm3
11533  .byte  255,224                             // jmpq          *%rax
11534
11535HIDDEN _sk_load_rgba_hsw
11536.globl _sk_load_rgba_hsw
11537FUNCTION(_sk_load_rgba_hsw)
11538_sk_load_rgba_hsw:
11539  .byte  72,173                              // lods          %ds:(%rsi),%rax
11540  .byte  197,252,16,0                        // vmovups       (%rax),%ymm0
11541  .byte  197,252,16,72,32                    // vmovups       0x20(%rax),%ymm1
11542  .byte  197,252,16,80,64                    // vmovups       0x40(%rax),%ymm2
11543  .byte  197,252,16,88,96                    // vmovups       0x60(%rax),%ymm3
11544  .byte  72,173                              // lods          %ds:(%rsi),%rax
11545  .byte  255,224                             // jmpq          *%rax
11546
11547HIDDEN _sk_store_rgba_hsw
11548.globl _sk_store_rgba_hsw
11549FUNCTION(_sk_store_rgba_hsw)
11550_sk_store_rgba_hsw:
11551  .byte  72,173                              // lods          %ds:(%rsi),%rax
11552  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
11553  .byte  197,252,17,72,32                    // vmovups       %ymm1,0x20(%rax)
11554  .byte  197,252,17,80,64                    // vmovups       %ymm2,0x40(%rax)
11555  .byte  197,252,17,88,96                    // vmovups       %ymm3,0x60(%rax)
11556  .byte  72,173                              // lods          %ds:(%rsi),%rax
11557  .byte  255,224                             // jmpq          *%rax
11558
11559HIDDEN _sk_clear_hsw
11560.globl _sk_clear_hsw
11561FUNCTION(_sk_clear_hsw)
11562_sk_clear_hsw:
11563  .byte  72,173                              // lods          %ds:(%rsi),%rax
11564  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
11565  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
11566  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
11567  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
11568  .byte  255,224                             // jmpq          *%rax
11569
11570HIDDEN _sk_srcatop_hsw
11571.globl _sk_srcatop_hsw
11572FUNCTION(_sk_srcatop_hsw)
11573_sk_srcatop_hsw:
11574  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
11575  .byte  196,98,125,24,5,65,85,0,0           // vbroadcastss  0x5541(%rip),%ymm8        # 584c <_sk_callback_hsw+0x168>
11576  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
11577  .byte  196,226,61,184,196                  // vfmadd231ps   %ymm4,%ymm8,%ymm0
11578  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
11579  .byte  196,226,61,184,205                  // vfmadd231ps   %ymm5,%ymm8,%ymm1
11580  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
11581  .byte  196,226,61,184,214                  // vfmadd231ps   %ymm6,%ymm8,%ymm2
11582  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
11583  .byte  196,194,69,168,216                  // vfmadd213ps   %ymm8,%ymm7,%ymm3
11584  .byte  72,173                              // lods          %ds:(%rsi),%rax
11585  .byte  255,224                             // jmpq          *%rax
11586
11587HIDDEN _sk_dstatop_hsw
11588.globl _sk_dstatop_hsw
11589FUNCTION(_sk_dstatop_hsw)
11590_sk_dstatop_hsw:
11591  .byte  196,98,125,24,5,20,85,0,0           // vbroadcastss  0x5514(%rip),%ymm8        # 5850 <_sk_callback_hsw+0x16c>
11592  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
11593  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
11594  .byte  196,226,101,184,196                 // vfmadd231ps   %ymm4,%ymm3,%ymm0
11595  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
11596  .byte  196,226,101,184,205                 // vfmadd231ps   %ymm5,%ymm3,%ymm1
11597  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
11598  .byte  196,226,101,184,214                 // vfmadd231ps   %ymm6,%ymm3,%ymm2
11599  .byte  197,60,89,195                       // vmulps        %ymm3,%ymm8,%ymm8
11600  .byte  196,194,69,168,216                  // vfmadd213ps   %ymm8,%ymm7,%ymm3
11601  .byte  72,173                              // lods          %ds:(%rsi),%rax
11602  .byte  255,224                             // jmpq          *%rax
11603
11604HIDDEN _sk_srcin_hsw
11605.globl _sk_srcin_hsw
11606FUNCTION(_sk_srcin_hsw)
11607_sk_srcin_hsw:
11608  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
11609  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
11610  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
11611  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
11612  .byte  72,173                              // lods          %ds:(%rsi),%rax
11613  .byte  255,224                             // jmpq          *%rax
11614
11615HIDDEN _sk_dstin_hsw
11616.globl _sk_dstin_hsw
11617FUNCTION(_sk_dstin_hsw)
11618_sk_dstin_hsw:
11619  .byte  197,228,89,196                      // vmulps        %ymm4,%ymm3,%ymm0
11620  .byte  197,228,89,205                      // vmulps        %ymm5,%ymm3,%ymm1
11621  .byte  197,228,89,214                      // vmulps        %ymm6,%ymm3,%ymm2
11622  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
11623  .byte  72,173                              // lods          %ds:(%rsi),%rax
11624  .byte  255,224                             // jmpq          *%rax
11625
11626HIDDEN _sk_srcout_hsw
11627.globl _sk_srcout_hsw
11628FUNCTION(_sk_srcout_hsw)
11629_sk_srcout_hsw:
11630  .byte  196,98,125,24,5,187,84,0,0          // vbroadcastss  0x54bb(%rip),%ymm8        # 5854 <_sk_callback_hsw+0x170>
11631  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
11632  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
11633  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
11634  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
11635  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
11636  .byte  72,173                              // lods          %ds:(%rsi),%rax
11637  .byte  255,224                             // jmpq          *%rax
11638
11639HIDDEN _sk_dstout_hsw
11640.globl _sk_dstout_hsw
11641FUNCTION(_sk_dstout_hsw)
11642_sk_dstout_hsw:
11643  .byte  196,226,125,24,5,158,84,0,0         // vbroadcastss  0x549e(%rip),%ymm0        # 5858 <_sk_callback_hsw+0x174>
11644  .byte  197,252,92,219                      // vsubps        %ymm3,%ymm0,%ymm3
11645  .byte  197,228,89,196                      // vmulps        %ymm4,%ymm3,%ymm0
11646  .byte  197,228,89,205                      // vmulps        %ymm5,%ymm3,%ymm1
11647  .byte  197,228,89,214                      // vmulps        %ymm6,%ymm3,%ymm2
11648  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
11649  .byte  72,173                              // lods          %ds:(%rsi),%rax
11650  .byte  255,224                             // jmpq          *%rax
11651
11652HIDDEN _sk_srcover_hsw
11653.globl _sk_srcover_hsw
11654FUNCTION(_sk_srcover_hsw)
11655_sk_srcover_hsw:
11656  .byte  196,98,125,24,5,129,84,0,0          // vbroadcastss  0x5481(%rip),%ymm8        # 585c <_sk_callback_hsw+0x178>
11657  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
11658  .byte  196,194,93,184,192                  // vfmadd231ps   %ymm8,%ymm4,%ymm0
11659  .byte  196,194,85,184,200                  // vfmadd231ps   %ymm8,%ymm5,%ymm1
11660  .byte  196,194,77,184,208                  // vfmadd231ps   %ymm8,%ymm6,%ymm2
11661  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
11662  .byte  72,173                              // lods          %ds:(%rsi),%rax
11663  .byte  255,224                             // jmpq          *%rax
11664
11665HIDDEN _sk_dstover_hsw
11666.globl _sk_dstover_hsw
11667FUNCTION(_sk_dstover_hsw)
11668_sk_dstover_hsw:
11669  .byte  196,98,125,24,5,96,84,0,0           // vbroadcastss  0x5460(%rip),%ymm8        # 5860 <_sk_callback_hsw+0x17c>
11670  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
11671  .byte  196,226,61,168,196                  // vfmadd213ps   %ymm4,%ymm8,%ymm0
11672  .byte  196,226,61,168,205                  // vfmadd213ps   %ymm5,%ymm8,%ymm1
11673  .byte  196,226,61,168,214                  // vfmadd213ps   %ymm6,%ymm8,%ymm2
11674  .byte  196,226,61,168,223                  // vfmadd213ps   %ymm7,%ymm8,%ymm3
11675  .byte  72,173                              // lods          %ds:(%rsi),%rax
11676  .byte  255,224                             // jmpq          *%rax
11677
11678HIDDEN _sk_modulate_hsw
11679.globl _sk_modulate_hsw
11680FUNCTION(_sk_modulate_hsw)
11681_sk_modulate_hsw:
11682  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
11683  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
11684  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
11685  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
11686  .byte  72,173                              // lods          %ds:(%rsi),%rax
11687  .byte  255,224                             // jmpq          *%rax
11688
11689HIDDEN _sk_multiply_hsw
11690.globl _sk_multiply_hsw
11691FUNCTION(_sk_multiply_hsw)
11692_sk_multiply_hsw:
11693  .byte  196,98,125,24,5,43,84,0,0           // vbroadcastss  0x542b(%rip),%ymm8        # 5864 <_sk_callback_hsw+0x180>
11694  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
11695  .byte  197,52,89,208                       // vmulps        %ymm0,%ymm9,%ymm10
11696  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
11697  .byte  196,98,61,184,212                   // vfmadd231ps   %ymm4,%ymm8,%ymm10
11698  .byte  196,194,93,168,194                  // vfmadd213ps   %ymm10,%ymm4,%ymm0
11699  .byte  197,52,89,209                       // vmulps        %ymm1,%ymm9,%ymm10
11700  .byte  196,98,61,184,213                   // vfmadd231ps   %ymm5,%ymm8,%ymm10
11701  .byte  196,194,85,168,202                  // vfmadd213ps   %ymm10,%ymm5,%ymm1
11702  .byte  197,52,89,210                       // vmulps        %ymm2,%ymm9,%ymm10
11703  .byte  196,98,61,184,214                   // vfmadd231ps   %ymm6,%ymm8,%ymm10
11704  .byte  196,194,77,168,210                  // vfmadd213ps   %ymm10,%ymm6,%ymm2
11705  .byte  197,52,89,203                       // vmulps        %ymm3,%ymm9,%ymm9
11706  .byte  196,66,69,168,193                   // vfmadd213ps   %ymm9,%ymm7,%ymm8
11707  .byte  196,194,69,168,216                  // vfmadd213ps   %ymm8,%ymm7,%ymm3
11708  .byte  72,173                              // lods          %ds:(%rsi),%rax
11709  .byte  255,224                             // jmpq          *%rax
11710
11711HIDDEN _sk_plus__hsw
11712.globl _sk_plus__hsw
11713FUNCTION(_sk_plus__hsw)
11714_sk_plus__hsw:
11715  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
11716  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
11717  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
11718  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
11719  .byte  72,173                              // lods          %ds:(%rsi),%rax
11720  .byte  255,224                             // jmpq          *%rax
11721
11722HIDDEN _sk_screen_hsw
11723.globl _sk_screen_hsw
11724FUNCTION(_sk_screen_hsw)
11725_sk_screen_hsw:
11726  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
11727  .byte  196,194,93,172,192                  // vfnmadd213ps  %ymm8,%ymm4,%ymm0
11728  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
11729  .byte  196,194,85,172,200                  // vfnmadd213ps  %ymm8,%ymm5,%ymm1
11730  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
11731  .byte  196,194,77,172,208                  // vfnmadd213ps  %ymm8,%ymm6,%ymm2
11732  .byte  197,100,88,199                      // vaddps        %ymm7,%ymm3,%ymm8
11733  .byte  196,194,69,172,216                  // vfnmadd213ps  %ymm8,%ymm7,%ymm3
11734  .byte  72,173                              // lods          %ds:(%rsi),%rax
11735  .byte  255,224                             // jmpq          *%rax
11736
11737HIDDEN _sk_xor__hsw
11738.globl _sk_xor__hsw
11739FUNCTION(_sk_xor__hsw)
11740_sk_xor__hsw:
11741  .byte  196,98,125,24,5,166,83,0,0          // vbroadcastss  0x53a6(%rip),%ymm8        # 5868 <_sk_callback_hsw+0x184>
11742  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
11743  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
11744  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
11745  .byte  196,226,61,184,196                  // vfmadd231ps   %ymm4,%ymm8,%ymm0
11746  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
11747  .byte  196,226,61,184,205                  // vfmadd231ps   %ymm5,%ymm8,%ymm1
11748  .byte  197,180,89,210                      // vmulps        %ymm2,%ymm9,%ymm2
11749  .byte  196,226,61,184,214                  // vfmadd231ps   %ymm6,%ymm8,%ymm2
11750  .byte  197,180,89,219                      // vmulps        %ymm3,%ymm9,%ymm3
11751  .byte  196,98,69,168,195                   // vfmadd213ps   %ymm3,%ymm7,%ymm8
11752  .byte  72,173                              // lods          %ds:(%rsi),%rax
11753  .byte  197,124,41,195                      // vmovaps       %ymm8,%ymm3
11754  .byte  255,224                             // jmpq          *%rax
11755
11756HIDDEN _sk_darken_hsw
11757.globl _sk_darken_hsw
11758FUNCTION(_sk_darken_hsw)
11759_sk_darken_hsw:
11760  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
11761  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
11762  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
11763  .byte  196,193,124,95,193                  // vmaxps        %ymm9,%ymm0,%ymm0
11764  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
11765  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
11766  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
11767  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
11768  .byte  196,193,116,95,201                  // vmaxps        %ymm9,%ymm1,%ymm1
11769  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
11770  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
11771  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
11772  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
11773  .byte  196,193,108,95,209                  // vmaxps        %ymm9,%ymm2,%ymm2
11774  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
11775  .byte  196,98,125,24,5,46,83,0,0           // vbroadcastss  0x532e(%rip),%ymm8        # 586c <_sk_callback_hsw+0x188>
11776  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
11777  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
11778  .byte  72,173                              // lods          %ds:(%rsi),%rax
11779  .byte  255,224                             // jmpq          *%rax
11780
11781HIDDEN _sk_lighten_hsw
11782.globl _sk_lighten_hsw
11783FUNCTION(_sk_lighten_hsw)
11784_sk_lighten_hsw:
11785  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
11786  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
11787  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
11788  .byte  196,193,124,93,193                  // vminps        %ymm9,%ymm0,%ymm0
11789  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
11790  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
11791  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
11792  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
11793  .byte  196,193,116,93,201                  // vminps        %ymm9,%ymm1,%ymm1
11794  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
11795  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
11796  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
11797  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
11798  .byte  196,193,108,93,209                  // vminps        %ymm9,%ymm2,%ymm2
11799  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
11800  .byte  196,98,125,24,5,221,82,0,0          // vbroadcastss  0x52dd(%rip),%ymm8        # 5870 <_sk_callback_hsw+0x18c>
11801  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
11802  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
11803  .byte  72,173                              // lods          %ds:(%rsi),%rax
11804  .byte  255,224                             // jmpq          *%rax
11805
11806HIDDEN _sk_difference_hsw
11807.globl _sk_difference_hsw
11808FUNCTION(_sk_difference_hsw)
11809_sk_difference_hsw:
11810  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
11811  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
11812  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
11813  .byte  196,193,124,93,193                  // vminps        %ymm9,%ymm0,%ymm0
11814  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
11815  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
11816  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
11817  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
11818  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
11819  .byte  196,193,116,93,201                  // vminps        %ymm9,%ymm1,%ymm1
11820  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
11821  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
11822  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
11823  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
11824  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
11825  .byte  196,193,108,93,209                  // vminps        %ymm9,%ymm2,%ymm2
11826  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
11827  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
11828  .byte  196,98,125,24,5,128,82,0,0          // vbroadcastss  0x5280(%rip),%ymm8        # 5874 <_sk_callback_hsw+0x190>
11829  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
11830  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
11831  .byte  72,173                              // lods          %ds:(%rsi),%rax
11832  .byte  255,224                             // jmpq          *%rax
11833
11834HIDDEN _sk_exclusion_hsw
11835.globl _sk_exclusion_hsw
11836FUNCTION(_sk_exclusion_hsw)
11837_sk_exclusion_hsw:
11838  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
11839  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
11840  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
11841  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
11842  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
11843  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
11844  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
11845  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
11846  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
11847  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
11848  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
11849  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
11850  .byte  196,98,125,24,5,62,82,0,0           // vbroadcastss  0x523e(%rip),%ymm8        # 5878 <_sk_callback_hsw+0x194>
11851  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
11852  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
11853  .byte  72,173                              // lods          %ds:(%rsi),%rax
11854  .byte  255,224                             // jmpq          *%rax
11855
11856HIDDEN _sk_colorburn_hsw
11857.globl _sk_colorburn_hsw
11858FUNCTION(_sk_colorburn_hsw)
11859_sk_colorburn_hsw:
11860  .byte  196,98,125,24,5,44,82,0,0           // vbroadcastss  0x522c(%rip),%ymm8        # 587c <_sk_callback_hsw+0x198>
11861  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
11862  .byte  197,52,89,216                       // vmulps        %ymm0,%ymm9,%ymm11
11863  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
11864  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
11865  .byte  197,60,89,228                       // vmulps        %ymm4,%ymm8,%ymm12
11866  .byte  197,68,92,236                       // vsubps        %ymm4,%ymm7,%ymm13
11867  .byte  197,20,89,235                       // vmulps        %ymm3,%ymm13,%ymm13
11868  .byte  197,20,94,232                       // vdivps        %ymm0,%ymm13,%ymm13
11869  .byte  196,65,68,93,237                    // vminps        %ymm13,%ymm7,%ymm13
11870  .byte  196,65,68,92,237                    // vsubps        %ymm13,%ymm7,%ymm13
11871  .byte  196,66,101,168,235                  // vfmadd213ps   %ymm11,%ymm3,%ymm13
11872  .byte  196,65,28,88,237                    // vaddps        %ymm13,%ymm12,%ymm13
11873  .byte  197,28,88,224                       // vaddps        %ymm0,%ymm12,%ymm12
11874  .byte  196,193,124,194,194,0               // vcmpeqps      %ymm10,%ymm0,%ymm0
11875  .byte  196,195,21,74,196,0                 // vblendvps     %ymm0,%ymm12,%ymm13,%ymm0
11876  .byte  197,92,194,231,0                    // vcmpeqps      %ymm7,%ymm4,%ymm12
11877  .byte  197,36,88,220                       // vaddps        %ymm4,%ymm11,%ymm11
11878  .byte  196,195,125,74,195,192              // vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
11879  .byte  197,52,89,217                       // vmulps        %ymm1,%ymm9,%ymm11
11880  .byte  197,60,89,229                       // vmulps        %ymm5,%ymm8,%ymm12
11881  .byte  197,68,92,237                       // vsubps        %ymm5,%ymm7,%ymm13
11882  .byte  197,20,89,235                       // vmulps        %ymm3,%ymm13,%ymm13
11883  .byte  197,20,94,233                       // vdivps        %ymm1,%ymm13,%ymm13
11884  .byte  196,65,68,93,237                    // vminps        %ymm13,%ymm7,%ymm13
11885  .byte  196,65,68,92,237                    // vsubps        %ymm13,%ymm7,%ymm13
11886  .byte  196,66,101,168,235                  // vfmadd213ps   %ymm11,%ymm3,%ymm13
11887  .byte  196,65,28,88,237                    // vaddps        %ymm13,%ymm12,%ymm13
11888  .byte  197,28,88,225                       // vaddps        %ymm1,%ymm12,%ymm12
11889  .byte  196,193,116,194,202,0               // vcmpeqps      %ymm10,%ymm1,%ymm1
11890  .byte  196,195,21,74,204,16                // vblendvps     %ymm1,%ymm12,%ymm13,%ymm1
11891  .byte  197,84,194,231,0                    // vcmpeqps      %ymm7,%ymm5,%ymm12
11892  .byte  197,36,88,221                       // vaddps        %ymm5,%ymm11,%ymm11
11893  .byte  196,195,117,74,203,192              // vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
11894  .byte  197,52,89,202                       // vmulps        %ymm2,%ymm9,%ymm9
11895  .byte  196,65,108,194,210,0                // vcmpeqps      %ymm10,%ymm2,%ymm10
11896  .byte  197,60,89,222                       // vmulps        %ymm6,%ymm8,%ymm11
11897  .byte  197,68,92,230                       // vsubps        %ymm6,%ymm7,%ymm12
11898  .byte  197,28,89,227                       // vmulps        %ymm3,%ymm12,%ymm12
11899  .byte  197,28,94,226                       // vdivps        %ymm2,%ymm12,%ymm12
11900  .byte  197,164,88,210                      // vaddps        %ymm2,%ymm11,%ymm2
11901  .byte  196,65,68,93,228                    // vminps        %ymm12,%ymm7,%ymm12
11902  .byte  196,65,68,92,228                    // vsubps        %ymm12,%ymm7,%ymm12
11903  .byte  196,66,101,168,225                  // vfmadd213ps   %ymm9,%ymm3,%ymm12
11904  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
11905  .byte  196,227,37,74,210,160               // vblendvps     %ymm10,%ymm2,%ymm11,%ymm2
11906  .byte  197,76,194,215,0                    // vcmpeqps      %ymm7,%ymm6,%ymm10
11907  .byte  197,52,88,206                       // vaddps        %ymm6,%ymm9,%ymm9
11908  .byte  196,195,109,74,209,160              // vblendvps     %ymm10,%ymm9,%ymm2,%ymm2
11909  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
11910  .byte  72,173                              // lods          %ds:(%rsi),%rax
11911  .byte  255,224                             // jmpq          *%rax
11912
11913HIDDEN _sk_colordodge_hsw
11914.globl _sk_colordodge_hsw
11915FUNCTION(_sk_colordodge_hsw)
11916_sk_colordodge_hsw:
11917  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
11918  .byte  196,98,125,24,13,55,81,0,0          // vbroadcastss  0x5137(%rip),%ymm9        # 5880 <_sk_callback_hsw+0x19c>
11919  .byte  197,52,92,215                       // vsubps        %ymm7,%ymm9,%ymm10
11920  .byte  197,44,89,216                       // vmulps        %ymm0,%ymm10,%ymm11
11921  .byte  197,52,92,203                       // vsubps        %ymm3,%ymm9,%ymm9
11922  .byte  197,100,89,228                      // vmulps        %ymm4,%ymm3,%ymm12
11923  .byte  197,100,92,232                      // vsubps        %ymm0,%ymm3,%ymm13
11924  .byte  196,65,28,94,229                    // vdivps        %ymm13,%ymm12,%ymm12
11925  .byte  197,52,89,236                       // vmulps        %ymm4,%ymm9,%ymm13
11926  .byte  196,65,68,93,228                    // vminps        %ymm12,%ymm7,%ymm12
11927  .byte  196,66,101,168,227                  // vfmadd213ps   %ymm11,%ymm3,%ymm12
11928  .byte  196,65,20,88,228                    // vaddps        %ymm12,%ymm13,%ymm12
11929  .byte  197,20,88,232                       // vaddps        %ymm0,%ymm13,%ymm13
11930  .byte  197,252,194,195,0                   // vcmpeqps      %ymm3,%ymm0,%ymm0
11931  .byte  196,195,29,74,197,0                 // vblendvps     %ymm0,%ymm13,%ymm12,%ymm0
11932  .byte  196,65,92,194,224,0                 // vcmpeqps      %ymm8,%ymm4,%ymm12
11933  .byte  197,36,88,220                       // vaddps        %ymm4,%ymm11,%ymm11
11934  .byte  196,195,125,74,195,192              // vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
11935  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
11936  .byte  197,100,89,229                      // vmulps        %ymm5,%ymm3,%ymm12
11937  .byte  197,100,92,233                      // vsubps        %ymm1,%ymm3,%ymm13
11938  .byte  196,65,28,94,229                    // vdivps        %ymm13,%ymm12,%ymm12
11939  .byte  197,52,89,237                       // vmulps        %ymm5,%ymm9,%ymm13
11940  .byte  196,65,68,93,228                    // vminps        %ymm12,%ymm7,%ymm12
11941  .byte  196,66,101,168,227                  // vfmadd213ps   %ymm11,%ymm3,%ymm12
11942  .byte  196,65,20,88,228                    // vaddps        %ymm12,%ymm13,%ymm12
11943  .byte  197,20,88,233                       // vaddps        %ymm1,%ymm13,%ymm13
11944  .byte  197,244,194,203,0                   // vcmpeqps      %ymm3,%ymm1,%ymm1
11945  .byte  196,195,29,74,205,16                // vblendvps     %ymm1,%ymm13,%ymm12,%ymm1
11946  .byte  196,65,84,194,224,0                 // vcmpeqps      %ymm8,%ymm5,%ymm12
11947  .byte  197,36,88,221                       // vaddps        %ymm5,%ymm11,%ymm11
11948  .byte  196,195,117,74,203,192              // vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
11949  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
11950  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
11951  .byte  197,100,92,226                      // vsubps        %ymm2,%ymm3,%ymm12
11952  .byte  196,65,36,94,220                    // vdivps        %ymm12,%ymm11,%ymm11
11953  .byte  197,52,89,230                       // vmulps        %ymm6,%ymm9,%ymm12
11954  .byte  196,65,68,93,219                    // vminps        %ymm11,%ymm7,%ymm11
11955  .byte  196,66,101,168,218                  // vfmadd213ps   %ymm10,%ymm3,%ymm11
11956  .byte  196,65,28,88,219                    // vaddps        %ymm11,%ymm12,%ymm11
11957  .byte  197,28,88,226                       // vaddps        %ymm2,%ymm12,%ymm12
11958  .byte  197,236,194,211,0                   // vcmpeqps      %ymm3,%ymm2,%ymm2
11959  .byte  196,195,37,74,212,32                // vblendvps     %ymm2,%ymm12,%ymm11,%ymm2
11960  .byte  196,65,76,194,192,0                 // vcmpeqps      %ymm8,%ymm6,%ymm8
11961  .byte  197,44,88,214                       // vaddps        %ymm6,%ymm10,%ymm10
11962  .byte  196,195,109,74,210,128              // vblendvps     %ymm8,%ymm10,%ymm2,%ymm2
11963  .byte  196,194,69,184,217                  // vfmadd231ps   %ymm9,%ymm7,%ymm3
11964  .byte  72,173                              // lods          %ds:(%rsi),%rax
11965  .byte  255,224                             // jmpq          *%rax
11966
11967HIDDEN _sk_hardlight_hsw
11968.globl _sk_hardlight_hsw
11969FUNCTION(_sk_hardlight_hsw)
11970_sk_hardlight_hsw:
11971  .byte  196,98,125,24,5,88,80,0,0           // vbroadcastss  0x5058(%rip),%ymm8        # 5884 <_sk_callback_hsw+0x1a0>
11972  .byte  197,60,92,215                       // vsubps        %ymm7,%ymm8,%ymm10
11973  .byte  197,44,89,216                       // vmulps        %ymm0,%ymm10,%ymm11
11974  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
11975  .byte  196,98,61,184,220                   // vfmadd231ps   %ymm4,%ymm8,%ymm11
11976  .byte  197,124,88,200                      // vaddps        %ymm0,%ymm0,%ymm9
11977  .byte  197,52,194,227,2                    // vcmpleps      %ymm3,%ymm9,%ymm12
11978  .byte  197,124,89,204                      // vmulps        %ymm4,%ymm0,%ymm9
11979  .byte  196,65,52,88,233                    // vaddps        %ymm9,%ymm9,%ymm13
11980  .byte  197,100,89,207                      // vmulps        %ymm7,%ymm3,%ymm9
11981  .byte  197,68,92,244                       // vsubps        %ymm4,%ymm7,%ymm14
11982  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
11983  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
11984  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
11985  .byte  197,180,92,192                      // vsubps        %ymm0,%ymm9,%ymm0
11986  .byte  196,195,125,74,197,192              // vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
11987  .byte  197,164,88,192                      // vaddps        %ymm0,%ymm11,%ymm0
11988  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
11989  .byte  196,98,61,184,221                   // vfmadd231ps   %ymm5,%ymm8,%ymm11
11990  .byte  197,116,88,225                      // vaddps        %ymm1,%ymm1,%ymm12
11991  .byte  197,28,194,227,2                    // vcmpleps      %ymm3,%ymm12,%ymm12
11992  .byte  197,116,89,237                      // vmulps        %ymm5,%ymm1,%ymm13
11993  .byte  196,65,20,88,237                    // vaddps        %ymm13,%ymm13,%ymm13
11994  .byte  197,68,92,245                       // vsubps        %ymm5,%ymm7,%ymm14
11995  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
11996  .byte  196,193,116,89,206                  // vmulps        %ymm14,%ymm1,%ymm1
11997  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
11998  .byte  197,180,92,201                      // vsubps        %ymm1,%ymm9,%ymm1
11999  .byte  196,195,117,74,205,192              // vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
12000  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
12001  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
12002  .byte  196,98,61,184,214                   // vfmadd231ps   %ymm6,%ymm8,%ymm10
12003  .byte  197,108,88,218                      // vaddps        %ymm2,%ymm2,%ymm11
12004  .byte  197,36,194,219,2                    // vcmpleps      %ymm3,%ymm11,%ymm11
12005  .byte  197,108,89,230                      // vmulps        %ymm6,%ymm2,%ymm12
12006  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
12007  .byte  197,68,92,238                       // vsubps        %ymm6,%ymm7,%ymm13
12008  .byte  197,228,92,210                      // vsubps        %ymm2,%ymm3,%ymm2
12009  .byte  196,193,108,89,213                  // vmulps        %ymm13,%ymm2,%ymm2
12010  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
12011  .byte  197,180,92,210                      // vsubps        %ymm2,%ymm9,%ymm2
12012  .byte  196,195,109,74,212,176              // vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
12013  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
12014  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
12015  .byte  72,173                              // lods          %ds:(%rsi),%rax
12016  .byte  255,224                             // jmpq          *%rax
12017
12018HIDDEN _sk_overlay_hsw
12019.globl _sk_overlay_hsw
12020FUNCTION(_sk_overlay_hsw)
12021_sk_overlay_hsw:
12022  .byte  196,98,125,24,5,144,79,0,0          // vbroadcastss  0x4f90(%rip),%ymm8        # 5888 <_sk_callback_hsw+0x1a4>
12023  .byte  197,60,92,215                       // vsubps        %ymm7,%ymm8,%ymm10
12024  .byte  197,44,89,216                       // vmulps        %ymm0,%ymm10,%ymm11
12025  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
12026  .byte  196,98,61,184,220                   // vfmadd231ps   %ymm4,%ymm8,%ymm11
12027  .byte  197,92,88,204                       // vaddps        %ymm4,%ymm4,%ymm9
12028  .byte  197,52,194,231,2                    // vcmpleps      %ymm7,%ymm9,%ymm12
12029  .byte  197,124,89,204                      // vmulps        %ymm4,%ymm0,%ymm9
12030  .byte  196,65,52,88,233                    // vaddps        %ymm9,%ymm9,%ymm13
12031  .byte  197,100,89,207                      // vmulps        %ymm7,%ymm3,%ymm9
12032  .byte  197,68,92,244                       // vsubps        %ymm4,%ymm7,%ymm14
12033  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
12034  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
12035  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
12036  .byte  197,180,92,192                      // vsubps        %ymm0,%ymm9,%ymm0
12037  .byte  196,195,125,74,197,192              // vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
12038  .byte  197,164,88,192                      // vaddps        %ymm0,%ymm11,%ymm0
12039  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
12040  .byte  196,98,61,184,221                   // vfmadd231ps   %ymm5,%ymm8,%ymm11
12041  .byte  197,84,88,229                       // vaddps        %ymm5,%ymm5,%ymm12
12042  .byte  197,28,194,231,2                    // vcmpleps      %ymm7,%ymm12,%ymm12
12043  .byte  197,116,89,237                      // vmulps        %ymm5,%ymm1,%ymm13
12044  .byte  196,65,20,88,237                    // vaddps        %ymm13,%ymm13,%ymm13
12045  .byte  197,68,92,245                       // vsubps        %ymm5,%ymm7,%ymm14
12046  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
12047  .byte  196,193,116,89,206                  // vmulps        %ymm14,%ymm1,%ymm1
12048  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
12049  .byte  197,180,92,201                      // vsubps        %ymm1,%ymm9,%ymm1
12050  .byte  196,195,117,74,205,192              // vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
12051  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
12052  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
12053  .byte  196,98,61,184,214                   // vfmadd231ps   %ymm6,%ymm8,%ymm10
12054  .byte  197,76,88,222                       // vaddps        %ymm6,%ymm6,%ymm11
12055  .byte  197,36,194,223,2                    // vcmpleps      %ymm7,%ymm11,%ymm11
12056  .byte  197,108,89,230                      // vmulps        %ymm6,%ymm2,%ymm12
12057  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
12058  .byte  197,68,92,238                       // vsubps        %ymm6,%ymm7,%ymm13
12059  .byte  197,228,92,210                      // vsubps        %ymm2,%ymm3,%ymm2
12060  .byte  196,193,108,89,213                  // vmulps        %ymm13,%ymm2,%ymm2
12061  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
12062  .byte  197,180,92,210                      // vsubps        %ymm2,%ymm9,%ymm2
12063  .byte  196,195,109,74,212,176              // vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
12064  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
12065  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
12066  .byte  72,173                              // lods          %ds:(%rsi),%rax
12067  .byte  255,224                             // jmpq          *%rax
12068
12069HIDDEN _sk_softlight_hsw
12070.globl _sk_softlight_hsw
12071FUNCTION(_sk_softlight_hsw)
12072_sk_softlight_hsw:
12073  .byte  197,252,17,84,36,200                // vmovups       %ymm2,-0x38(%rsp)
12074  .byte  197,252,40,209                      // vmovaps       %ymm1,%ymm2
12075  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
12076  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
12077  .byte  197,52,194,215,1                    // vcmpltps      %ymm7,%ymm9,%ymm10
12078  .byte  197,92,94,199                       // vdivps        %ymm7,%ymm4,%ymm8
12079  .byte  196,67,53,74,232,160                // vblendvps     %ymm10,%ymm8,%ymm9,%ymm13
12080  .byte  196,65,20,88,197                    // vaddps        %ymm13,%ymm13,%ymm8
12081  .byte  196,65,60,88,192                    // vaddps        %ymm8,%ymm8,%ymm8
12082  .byte  196,66,61,168,192                   // vfmadd213ps   %ymm8,%ymm8,%ymm8
12083  .byte  196,98,125,24,29,155,78,0,0         // vbroadcastss  0x4e9b(%rip),%ymm11        # 5890 <_sk_callback_hsw+0x1ac>
12084  .byte  196,65,20,88,227                    // vaddps        %ymm11,%ymm13,%ymm12
12085  .byte  196,65,28,89,192                    // vmulps        %ymm8,%ymm12,%ymm8
12086  .byte  196,98,125,24,37,140,78,0,0         // vbroadcastss  0x4e8c(%rip),%ymm12        # 5894 <_sk_callback_hsw+0x1b0>
12087  .byte  196,66,21,184,196                   // vfmadd231ps   %ymm12,%ymm13,%ymm8
12088  .byte  196,65,124,82,245                   // vrsqrtps      %ymm13,%ymm14
12089  .byte  196,65,124,83,246                   // vrcpps        %ymm14,%ymm14
12090  .byte  196,65,12,92,245                    // vsubps        %ymm13,%ymm14,%ymm14
12091  .byte  197,92,88,252                       // vaddps        %ymm4,%ymm4,%ymm15
12092  .byte  196,65,4,88,255                     // vaddps        %ymm15,%ymm15,%ymm15
12093  .byte  197,4,194,255,2                     // vcmpleps      %ymm7,%ymm15,%ymm15
12094  .byte  196,67,13,74,240,240                // vblendvps     %ymm15,%ymm8,%ymm14,%ymm14
12095  .byte  197,116,88,249                      // vaddps        %ymm1,%ymm1,%ymm15
12096  .byte  196,98,125,24,5,79,78,0,0           // vbroadcastss  0x4e4f(%rip),%ymm8        # 588c <_sk_callback_hsw+0x1a8>
12097  .byte  196,65,60,92,237                    // vsubps        %ymm13,%ymm8,%ymm13
12098  .byte  197,132,92,195                      // vsubps        %ymm3,%ymm15,%ymm0
12099  .byte  196,98,125,168,235                  // vfmadd213ps   %ymm3,%ymm0,%ymm13
12100  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
12101  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
12102  .byte  197,20,89,236                       // vmulps        %ymm4,%ymm13,%ymm13
12103  .byte  196,226,101,184,196                 // vfmadd231ps   %ymm4,%ymm3,%ymm0
12104  .byte  197,4,194,243,2                     // vcmpleps      %ymm3,%ymm15,%ymm14
12105  .byte  196,195,125,74,197,224              // vblendvps     %ymm14,%ymm13,%ymm0,%ymm0
12106  .byte  197,252,17,68,36,168                // vmovups       %ymm0,-0x58(%rsp)
12107  .byte  197,212,94,199                      // vdivps        %ymm7,%ymm5,%ymm0
12108  .byte  196,227,53,74,192,160               // vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
12109  .byte  197,124,88,240                      // vaddps        %ymm0,%ymm0,%ymm14
12110  .byte  196,65,12,88,246                    // vaddps        %ymm14,%ymm14,%ymm14
12111  .byte  196,66,13,168,246                   // vfmadd213ps   %ymm14,%ymm14,%ymm14
12112  .byte  196,65,124,88,251                   // vaddps        %ymm11,%ymm0,%ymm15
12113  .byte  196,65,4,89,246                     // vmulps        %ymm14,%ymm15,%ymm14
12114  .byte  196,66,125,184,244                  // vfmadd231ps   %ymm12,%ymm0,%ymm14
12115  .byte  197,124,82,248                      // vrsqrtps      %ymm0,%ymm15
12116  .byte  196,65,124,83,255                   // vrcpps        %ymm15,%ymm15
12117  .byte  197,4,92,248                        // vsubps        %ymm0,%ymm15,%ymm15
12118  .byte  197,84,88,237                       // vaddps        %ymm5,%ymm5,%ymm13
12119  .byte  196,65,20,88,237                    // vaddps        %ymm13,%ymm13,%ymm13
12120  .byte  197,20,194,239,2                    // vcmpleps      %ymm7,%ymm13,%ymm13
12121  .byte  196,67,5,74,238,208                 // vblendvps     %ymm13,%ymm14,%ymm15,%ymm13
12122  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
12123  .byte  197,108,88,242                      // vaddps        %ymm2,%ymm2,%ymm14
12124  .byte  197,12,92,251                       // vsubps        %ymm3,%ymm14,%ymm15
12125  .byte  196,226,5,168,195                   // vfmadd213ps   %ymm3,%ymm15,%ymm0
12126  .byte  197,4,89,255                        // vmulps        %ymm7,%ymm15,%ymm15
12127  .byte  196,65,4,89,237                     // vmulps        %ymm13,%ymm15,%ymm13
12128  .byte  197,252,89,197                      // vmulps        %ymm5,%ymm0,%ymm0
12129  .byte  196,98,101,184,237                  // vfmadd231ps   %ymm5,%ymm3,%ymm13
12130  .byte  197,12,194,243,2                    // vcmpleps      %ymm3,%ymm14,%ymm14
12131  .byte  196,99,21,74,240,224                // vblendvps     %ymm14,%ymm0,%ymm13,%ymm14
12132  .byte  197,204,94,199                      // vdivps        %ymm7,%ymm6,%ymm0
12133  .byte  196,227,53,74,192,160               // vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
12134  .byte  197,124,88,200                      // vaddps        %ymm0,%ymm0,%ymm9
12135  .byte  196,65,52,88,201                    // vaddps        %ymm9,%ymm9,%ymm9
12136  .byte  196,66,53,168,201                   // vfmadd213ps   %ymm9,%ymm9,%ymm9
12137  .byte  196,65,124,88,211                   // vaddps        %ymm11,%ymm0,%ymm10
12138  .byte  196,65,44,89,201                    // vmulps        %ymm9,%ymm10,%ymm9
12139  .byte  196,66,125,184,204                  // vfmadd231ps   %ymm12,%ymm0,%ymm9
12140  .byte  197,124,82,208                      // vrsqrtps      %ymm0,%ymm10
12141  .byte  196,65,124,83,210                   // vrcpps        %ymm10,%ymm10
12142  .byte  197,44,92,208                       // vsubps        %ymm0,%ymm10,%ymm10
12143  .byte  197,76,88,222                       // vaddps        %ymm6,%ymm6,%ymm11
12144  .byte  196,65,36,88,219                    // vaddps        %ymm11,%ymm11,%ymm11
12145  .byte  197,36,194,223,2                    // vcmpleps      %ymm7,%ymm11,%ymm11
12146  .byte  196,67,45,74,201,176                // vblendvps     %ymm11,%ymm9,%ymm10,%ymm9
12147  .byte  197,124,16,100,36,200               // vmovups       -0x38(%rsp),%ymm12
12148  .byte  196,65,28,88,212                    // vaddps        %ymm12,%ymm12,%ymm10
12149  .byte  197,44,92,219                       // vsubps        %ymm3,%ymm10,%ymm11
12150  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
12151  .byte  196,226,37,168,195                  // vfmadd213ps   %ymm3,%ymm11,%ymm0
12152  .byte  197,36,89,223                       // vmulps        %ymm7,%ymm11,%ymm11
12153  .byte  196,65,36,89,201                    // vmulps        %ymm9,%ymm11,%ymm9
12154  .byte  197,252,89,198                      // vmulps        %ymm6,%ymm0,%ymm0
12155  .byte  196,98,101,184,206                  // vfmadd231ps   %ymm6,%ymm3,%ymm9
12156  .byte  197,44,194,211,2                    // vcmpleps      %ymm3,%ymm10,%ymm10
12157  .byte  196,99,53,74,200,160                // vblendvps     %ymm10,%ymm0,%ymm9,%ymm9
12158  .byte  197,60,92,215                       // vsubps        %ymm7,%ymm8,%ymm10
12159  .byte  197,172,89,193                      // vmulps        %ymm1,%ymm10,%ymm0
12160  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
12161  .byte  196,226,61,184,196                  // vfmadd231ps   %ymm4,%ymm8,%ymm0
12162  .byte  197,252,88,68,36,168                // vaddps        -0x58(%rsp),%ymm0,%ymm0
12163  .byte  197,172,89,202                      // vmulps        %ymm2,%ymm10,%ymm1
12164  .byte  196,226,61,184,205                  // vfmadd231ps   %ymm5,%ymm8,%ymm1
12165  .byte  196,193,116,88,206                  // vaddps        %ymm14,%ymm1,%ymm1
12166  .byte  196,193,44,89,212                   // vmulps        %ymm12,%ymm10,%ymm2
12167  .byte  196,226,61,184,214                  // vfmadd231ps   %ymm6,%ymm8,%ymm2
12168  .byte  196,193,108,88,209                  // vaddps        %ymm9,%ymm2,%ymm2
12169  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
12170  .byte  72,173                              // lods          %ds:(%rsi),%rax
12171  .byte  255,224                             // jmpq          *%rax
12172
12173HIDDEN _sk_hue_hsw
12174.globl _sk_hue_hsw
12175FUNCTION(_sk_hue_hsw)
12176_sk_hue_hsw:
12177  .byte  197,124,40,194                      // vmovaps       %ymm2,%ymm8
12178  .byte  197,124,17,68,36,200                // vmovups       %ymm8,-0x38(%rsp)
12179  .byte  197,252,17,76,36,168                // vmovups       %ymm1,-0x58(%rsp)
12180  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
12181  .byte  197,108,89,203                      // vmulps        %ymm3,%ymm2,%ymm9
12182  .byte  197,116,89,211                      // vmulps        %ymm3,%ymm1,%ymm10
12183  .byte  197,60,89,219                       // vmulps        %ymm3,%ymm8,%ymm11
12184  .byte  197,84,95,198                       // vmaxps        %ymm6,%ymm5,%ymm8
12185  .byte  196,65,92,95,192                    // vmaxps        %ymm8,%ymm4,%ymm8
12186  .byte  197,84,93,230                       // vminps        %ymm6,%ymm5,%ymm12
12187  .byte  196,65,92,93,228                    // vminps        %ymm12,%ymm4,%ymm12
12188  .byte  196,65,60,92,196                    // vsubps        %ymm12,%ymm8,%ymm8
12189  .byte  197,60,89,227                       // vmulps        %ymm3,%ymm8,%ymm12
12190  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
12191  .byte  196,65,52,93,232                    // vminps        %ymm8,%ymm9,%ymm13
12192  .byte  196,65,44,95,195                    // vmaxps        %ymm11,%ymm10,%ymm8
12193  .byte  196,65,52,95,192                    // vmaxps        %ymm8,%ymm9,%ymm8
12194  .byte  196,65,60,92,245                    // vsubps        %ymm13,%ymm8,%ymm14
12195  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
12196  .byte  196,65,12,194,248,0                 // vcmpeqps      %ymm8,%ymm14,%ymm15
12197  .byte  196,65,52,92,205                    // vsubps        %ymm13,%ymm9,%ymm9
12198  .byte  196,65,28,89,201                    // vmulps        %ymm9,%ymm12,%ymm9
12199  .byte  196,65,52,94,206                    // vdivps        %ymm14,%ymm9,%ymm9
12200  .byte  196,67,53,74,200,240                // vblendvps     %ymm15,%ymm8,%ymm9,%ymm9
12201  .byte  196,65,44,92,213                    // vsubps        %ymm13,%ymm10,%ymm10
12202  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
12203  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
12204  .byte  196,195,45,74,200,240               // vblendvps     %ymm15,%ymm8,%ymm10,%ymm1
12205  .byte  196,65,36,92,213                    // vsubps        %ymm13,%ymm11,%ymm10
12206  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
12207  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
12208  .byte  196,67,45,74,224,240                // vblendvps     %ymm15,%ymm8,%ymm10,%ymm12
12209  .byte  196,98,125,24,53,83,76,0,0          // vbroadcastss  0x4c53(%rip),%ymm14        # 5898 <_sk_callback_hsw+0x1b4>
12210  .byte  196,98,125,24,61,78,76,0,0          // vbroadcastss  0x4c4e(%rip),%ymm15        # 589c <_sk_callback_hsw+0x1b8>
12211  .byte  196,65,84,89,239                    // vmulps        %ymm15,%ymm5,%ymm13
12212  .byte  196,66,93,184,238                   // vfmadd231ps   %ymm14,%ymm4,%ymm13
12213  .byte  196,226,125,24,5,63,76,0,0          // vbroadcastss  0x4c3f(%rip),%ymm0        # 58a0 <_sk_callback_hsw+0x1bc>
12214  .byte  196,98,77,184,232                   // vfmadd231ps   %ymm0,%ymm6,%ymm13
12215  .byte  196,65,116,89,215                   // vmulps        %ymm15,%ymm1,%ymm10
12216  .byte  196,66,53,184,214                   // vfmadd231ps   %ymm14,%ymm9,%ymm10
12217  .byte  196,98,29,184,208                   // vfmadd231ps   %ymm0,%ymm12,%ymm10
12218  .byte  196,66,101,170,234                  // vfmsub213ps   %ymm10,%ymm3,%ymm13
12219  .byte  196,65,52,88,213                    // vaddps        %ymm13,%ymm9,%ymm10
12220  .byte  196,65,116,88,221                   // vaddps        %ymm13,%ymm1,%ymm11
12221  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
12222  .byte  196,193,36,93,204                   // vminps        %ymm12,%ymm11,%ymm1
12223  .byte  197,44,93,233                       // vminps        %ymm1,%ymm10,%ymm13
12224  .byte  196,65,36,89,207                    // vmulps        %ymm15,%ymm11,%ymm9
12225  .byte  196,66,45,184,206                   // vfmadd231ps   %ymm14,%ymm10,%ymm9
12226  .byte  196,98,29,184,200                   // vfmadd231ps   %ymm0,%ymm12,%ymm9
12227  .byte  196,193,44,92,193                   // vsubps        %ymm9,%ymm10,%ymm0
12228  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
12229  .byte  196,193,52,92,205                   // vsubps        %ymm13,%ymm9,%ymm1
12230  .byte  197,252,94,193                      // vdivps        %ymm1,%ymm0,%ymm0
12231  .byte  196,65,36,92,241                    // vsubps        %ymm9,%ymm11,%ymm14
12232  .byte  196,65,52,89,246                    // vmulps        %ymm14,%ymm9,%ymm14
12233  .byte  197,12,94,241                       // vdivps        %ymm1,%ymm14,%ymm14
12234  .byte  196,65,28,92,249                    // vsubps        %ymm9,%ymm12,%ymm15
12235  .byte  196,65,52,89,255                    // vmulps        %ymm15,%ymm9,%ymm15
12236  .byte  197,132,94,201                      // vdivps        %ymm1,%ymm15,%ymm1
12237  .byte  196,65,60,194,237,2                 // vcmpleps      %ymm13,%ymm8,%ymm13
12238  .byte  196,65,52,88,246                    // vaddps        %ymm14,%ymm9,%ymm14
12239  .byte  196,67,13,74,243,208                // vblendvps     %ymm13,%ymm11,%ymm14,%ymm14
12240  .byte  196,65,36,95,220                    // vmaxps        %ymm12,%ymm11,%ymm11
12241  .byte  197,180,88,201                      // vaddps        %ymm1,%ymm9,%ymm1
12242  .byte  196,195,117,74,204,208              // vblendvps     %ymm13,%ymm12,%ymm1,%ymm1
12243  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
12244  .byte  196,195,125,74,194,208              // vblendvps     %ymm13,%ymm10,%ymm0,%ymm0
12245  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
12246  .byte  196,65,44,95,211                    // vmaxps        %ymm11,%ymm10,%ymm10
12247  .byte  196,65,124,92,217                   // vsubps        %ymm9,%ymm0,%ymm11
12248  .byte  196,65,28,92,233                    // vsubps        %ymm9,%ymm12,%ymm13
12249  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
12250  .byte  196,65,28,194,250,1                 // vcmpltps      %ymm10,%ymm12,%ymm15
12251  .byte  196,65,44,92,209                    // vsubps        %ymm9,%ymm10,%ymm10
12252  .byte  196,65,36,94,218                    // vdivps        %ymm10,%ymm11,%ymm11
12253  .byte  196,65,52,88,219                    // vaddps        %ymm11,%ymm9,%ymm11
12254  .byte  196,195,125,74,195,240              // vblendvps     %ymm15,%ymm11,%ymm0,%ymm0
12255  .byte  196,65,12,92,217                    // vsubps        %ymm9,%ymm14,%ymm11
12256  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
12257  .byte  196,65,36,94,218                    // vdivps        %ymm10,%ymm11,%ymm11
12258  .byte  196,65,52,88,219                    // vaddps        %ymm11,%ymm9,%ymm11
12259  .byte  196,67,13,74,219,240                // vblendvps     %ymm15,%ymm11,%ymm14,%ymm11
12260  .byte  196,65,116,92,241                   // vsubps        %ymm9,%ymm1,%ymm14
12261  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
12262  .byte  196,65,20,94,210                    // vdivps        %ymm10,%ymm13,%ymm10
12263  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
12264  .byte  196,195,117,74,201,240              // vblendvps     %ymm15,%ymm9,%ymm1,%ymm1
12265  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
12266  .byte  196,65,36,95,200                    // vmaxps        %ymm8,%ymm11,%ymm9
12267  .byte  196,65,116,95,192                   // vmaxps        %ymm8,%ymm1,%ymm8
12268  .byte  196,226,125,24,13,44,75,0,0         // vbroadcastss  0x4b2c(%rip),%ymm1        # 58a4 <_sk_callback_hsw+0x1c0>
12269  .byte  197,116,92,215                      // vsubps        %ymm7,%ymm1,%ymm10
12270  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
12271  .byte  197,116,92,219                      // vsubps        %ymm3,%ymm1,%ymm11
12272  .byte  196,226,37,184,212                  // vfmadd231ps   %ymm4,%ymm11,%ymm2
12273  .byte  197,236,88,192                      // vaddps        %ymm0,%ymm2,%ymm0
12274  .byte  197,172,89,76,36,168                // vmulps        -0x58(%rsp),%ymm10,%ymm1
12275  .byte  196,226,37,184,205                  // vfmadd231ps   %ymm5,%ymm11,%ymm1
12276  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
12277  .byte  197,172,89,84,36,200                // vmulps        -0x38(%rsp),%ymm10,%ymm2
12278  .byte  196,98,77,168,218                   // vfmadd213ps   %ymm2,%ymm6,%ymm11
12279  .byte  196,193,36,88,208                   // vaddps        %ymm8,%ymm11,%ymm2
12280  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
12281  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
12282  .byte  72,173                              // lods          %ds:(%rsi),%rax
12283  .byte  255,224                             // jmpq          *%rax
12284
12285HIDDEN _sk_saturation_hsw
12286.globl _sk_saturation_hsw
12287FUNCTION(_sk_saturation_hsw)
12288_sk_saturation_hsw:
12289  .byte  197,124,40,194                      // vmovaps       %ymm2,%ymm8
12290  .byte  197,252,17,76,36,168                // vmovups       %ymm1,-0x58(%rsp)
12291  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
12292  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
12293  .byte  197,100,89,213                      // vmulps        %ymm5,%ymm3,%ymm10
12294  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
12295  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
12296  .byte  197,252,17,68,36,200                // vmovups       %ymm0,-0x38(%rsp)
12297  .byte  197,116,95,192                      // vmaxps        %ymm0,%ymm1,%ymm8
12298  .byte  196,65,108,95,192                   // vmaxps        %ymm8,%ymm2,%ymm8
12299  .byte  197,116,93,224                      // vminps        %ymm0,%ymm1,%ymm12
12300  .byte  196,65,108,93,228                   // vminps        %ymm12,%ymm2,%ymm12
12301  .byte  196,65,60,92,196                    // vsubps        %ymm12,%ymm8,%ymm8
12302  .byte  197,60,89,231                       // vmulps        %ymm7,%ymm8,%ymm12
12303  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
12304  .byte  196,65,52,93,232                    // vminps        %ymm8,%ymm9,%ymm13
12305  .byte  196,65,44,95,195                    // vmaxps        %ymm11,%ymm10,%ymm8
12306  .byte  196,65,52,95,192                    // vmaxps        %ymm8,%ymm9,%ymm8
12307  .byte  196,65,60,92,245                    // vsubps        %ymm13,%ymm8,%ymm14
12308  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
12309  .byte  196,65,12,194,248,0                 // vcmpeqps      %ymm8,%ymm14,%ymm15
12310  .byte  196,65,52,92,205                    // vsubps        %ymm13,%ymm9,%ymm9
12311  .byte  196,65,28,89,201                    // vmulps        %ymm9,%ymm12,%ymm9
12312  .byte  196,65,52,94,206                    // vdivps        %ymm14,%ymm9,%ymm9
12313  .byte  196,67,53,74,200,240                // vblendvps     %ymm15,%ymm8,%ymm9,%ymm9
12314  .byte  196,65,44,92,213                    // vsubps        %ymm13,%ymm10,%ymm10
12315  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
12316  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
12317  .byte  196,195,45,74,200,240               // vblendvps     %ymm15,%ymm8,%ymm10,%ymm1
12318  .byte  196,65,36,92,213                    // vsubps        %ymm13,%ymm11,%ymm10
12319  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
12320  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
12321  .byte  196,67,45,74,224,240                // vblendvps     %ymm15,%ymm8,%ymm10,%ymm12
12322  .byte  196,98,125,24,53,67,74,0,0          // vbroadcastss  0x4a43(%rip),%ymm14        # 58a8 <_sk_callback_hsw+0x1c4>
12323  .byte  196,98,125,24,61,62,74,0,0          // vbroadcastss  0x4a3e(%rip),%ymm15        # 58ac <_sk_callback_hsw+0x1c8>
12324  .byte  196,65,84,89,239                    // vmulps        %ymm15,%ymm5,%ymm13
12325  .byte  196,66,93,184,238                   // vfmadd231ps   %ymm14,%ymm4,%ymm13
12326  .byte  196,226,125,24,5,47,74,0,0          // vbroadcastss  0x4a2f(%rip),%ymm0        # 58b0 <_sk_callback_hsw+0x1cc>
12327  .byte  196,98,77,184,232                   // vfmadd231ps   %ymm0,%ymm6,%ymm13
12328  .byte  196,65,116,89,215                   // vmulps        %ymm15,%ymm1,%ymm10
12329  .byte  196,66,53,184,214                   // vfmadd231ps   %ymm14,%ymm9,%ymm10
12330  .byte  196,98,29,184,208                   // vfmadd231ps   %ymm0,%ymm12,%ymm10
12331  .byte  196,66,101,170,234                  // vfmsub213ps   %ymm10,%ymm3,%ymm13
12332  .byte  196,65,52,88,213                    // vaddps        %ymm13,%ymm9,%ymm10
12333  .byte  196,65,116,88,221                   // vaddps        %ymm13,%ymm1,%ymm11
12334  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
12335  .byte  196,193,36,93,204                   // vminps        %ymm12,%ymm11,%ymm1
12336  .byte  197,44,93,233                       // vminps        %ymm1,%ymm10,%ymm13
12337  .byte  196,65,36,89,207                    // vmulps        %ymm15,%ymm11,%ymm9
12338  .byte  196,66,45,184,206                   // vfmadd231ps   %ymm14,%ymm10,%ymm9
12339  .byte  196,98,29,184,200                   // vfmadd231ps   %ymm0,%ymm12,%ymm9
12340  .byte  196,193,44,92,193                   // vsubps        %ymm9,%ymm10,%ymm0
12341  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
12342  .byte  196,193,52,92,205                   // vsubps        %ymm13,%ymm9,%ymm1
12343  .byte  197,252,94,193                      // vdivps        %ymm1,%ymm0,%ymm0
12344  .byte  196,65,36,92,241                    // vsubps        %ymm9,%ymm11,%ymm14
12345  .byte  196,65,52,89,246                    // vmulps        %ymm14,%ymm9,%ymm14
12346  .byte  197,12,94,241                       // vdivps        %ymm1,%ymm14,%ymm14
12347  .byte  196,65,28,92,249                    // vsubps        %ymm9,%ymm12,%ymm15
12348  .byte  196,65,52,89,255                    // vmulps        %ymm15,%ymm9,%ymm15
12349  .byte  197,132,94,201                      // vdivps        %ymm1,%ymm15,%ymm1
12350  .byte  196,65,60,194,237,2                 // vcmpleps      %ymm13,%ymm8,%ymm13
12351  .byte  196,65,52,88,246                    // vaddps        %ymm14,%ymm9,%ymm14
12352  .byte  196,67,13,74,243,208                // vblendvps     %ymm13,%ymm11,%ymm14,%ymm14
12353  .byte  196,65,36,95,220                    // vmaxps        %ymm12,%ymm11,%ymm11
12354  .byte  197,180,88,201                      // vaddps        %ymm1,%ymm9,%ymm1
12355  .byte  196,195,117,74,204,208              // vblendvps     %ymm13,%ymm12,%ymm1,%ymm1
12356  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
12357  .byte  196,195,125,74,194,208              // vblendvps     %ymm13,%ymm10,%ymm0,%ymm0
12358  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
12359  .byte  196,65,44,95,211                    // vmaxps        %ymm11,%ymm10,%ymm10
12360  .byte  196,65,124,92,217                   // vsubps        %ymm9,%ymm0,%ymm11
12361  .byte  196,65,28,92,233                    // vsubps        %ymm9,%ymm12,%ymm13
12362  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
12363  .byte  196,65,28,194,250,1                 // vcmpltps      %ymm10,%ymm12,%ymm15
12364  .byte  196,65,44,92,209                    // vsubps        %ymm9,%ymm10,%ymm10
12365  .byte  196,65,36,94,218                    // vdivps        %ymm10,%ymm11,%ymm11
12366  .byte  196,65,52,88,219                    // vaddps        %ymm11,%ymm9,%ymm11
12367  .byte  196,195,125,74,195,240              // vblendvps     %ymm15,%ymm11,%ymm0,%ymm0
12368  .byte  196,65,12,92,217                    // vsubps        %ymm9,%ymm14,%ymm11
12369  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
12370  .byte  196,65,36,94,218                    // vdivps        %ymm10,%ymm11,%ymm11
12371  .byte  196,65,52,88,219                    // vaddps        %ymm11,%ymm9,%ymm11
12372  .byte  196,67,13,74,219,240                // vblendvps     %ymm15,%ymm11,%ymm14,%ymm11
12373  .byte  196,65,116,92,241                   // vsubps        %ymm9,%ymm1,%ymm14
12374  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
12375  .byte  196,65,20,94,210                    // vdivps        %ymm10,%ymm13,%ymm10
12376  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
12377  .byte  196,195,117,74,201,240              // vblendvps     %ymm15,%ymm9,%ymm1,%ymm1
12378  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
12379  .byte  196,65,36,95,200                    // vmaxps        %ymm8,%ymm11,%ymm9
12380  .byte  196,65,116,95,192                   // vmaxps        %ymm8,%ymm1,%ymm8
12381  .byte  196,226,125,24,13,28,73,0,0         // vbroadcastss  0x491c(%rip),%ymm1        # 58b4 <_sk_callback_hsw+0x1d0>
12382  .byte  197,116,92,215                      // vsubps        %ymm7,%ymm1,%ymm10
12383  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
12384  .byte  197,116,92,219                      // vsubps        %ymm3,%ymm1,%ymm11
12385  .byte  196,226,37,184,212                  // vfmadd231ps   %ymm4,%ymm11,%ymm2
12386  .byte  197,236,88,192                      // vaddps        %ymm0,%ymm2,%ymm0
12387  .byte  197,172,89,76,36,168                // vmulps        -0x58(%rsp),%ymm10,%ymm1
12388  .byte  196,226,37,184,205                  // vfmadd231ps   %ymm5,%ymm11,%ymm1
12389  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
12390  .byte  197,172,89,84,36,200                // vmulps        -0x38(%rsp),%ymm10,%ymm2
12391  .byte  196,98,77,168,218                   // vfmadd213ps   %ymm2,%ymm6,%ymm11
12392  .byte  196,193,36,88,208                   // vaddps        %ymm8,%ymm11,%ymm2
12393  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
12394  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
12395  .byte  72,173                              // lods          %ds:(%rsi),%rax
12396  .byte  255,224                             // jmpq          *%rax
12397
12398HIDDEN _sk_color_hsw
12399.globl _sk_color_hsw
12400FUNCTION(_sk_color_hsw)
12401_sk_color_hsw:
12402  .byte  197,124,40,202                      // vmovaps       %ymm2,%ymm9
12403  .byte  197,124,17,76,36,200                // vmovups       %ymm9,-0x38(%rsp)
12404  .byte  197,252,17,76,36,168                // vmovups       %ymm1,-0x58(%rsp)
12405  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
12406  .byte  197,108,89,199                      // vmulps        %ymm7,%ymm2,%ymm8
12407  .byte  197,116,89,215                      // vmulps        %ymm7,%ymm1,%ymm10
12408  .byte  197,52,89,223                       // vmulps        %ymm7,%ymm9,%ymm11
12409  .byte  196,98,125,24,45,181,72,0,0         // vbroadcastss  0x48b5(%rip),%ymm13        # 58b8 <_sk_callback_hsw+0x1d4>
12410  .byte  196,98,125,24,53,176,72,0,0         // vbroadcastss  0x48b0(%rip),%ymm14        # 58bc <_sk_callback_hsw+0x1d8>
12411  .byte  196,65,84,89,230                    // vmulps        %ymm14,%ymm5,%ymm12
12412  .byte  196,66,93,184,229                   // vfmadd231ps   %ymm13,%ymm4,%ymm12
12413  .byte  196,98,125,24,61,161,72,0,0         // vbroadcastss  0x48a1(%rip),%ymm15        # 58c0 <_sk_callback_hsw+0x1dc>
12414  .byte  196,66,77,184,231                   // vfmadd231ps   %ymm15,%ymm6,%ymm12
12415  .byte  196,65,44,89,206                    // vmulps        %ymm14,%ymm10,%ymm9
12416  .byte  196,66,61,184,205                   // vfmadd231ps   %ymm13,%ymm8,%ymm9
12417  .byte  196,66,37,184,207                   // vfmadd231ps   %ymm15,%ymm11,%ymm9
12418  .byte  196,66,101,170,225                  // vfmsub213ps   %ymm9,%ymm3,%ymm12
12419  .byte  196,65,60,88,204                    // vaddps        %ymm12,%ymm8,%ymm9
12420  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
12421  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
12422  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
12423  .byte  196,65,52,93,224                    // vminps        %ymm8,%ymm9,%ymm12
12424  .byte  196,65,44,89,198                    // vmulps        %ymm14,%ymm10,%ymm8
12425  .byte  196,66,53,184,197                   // vfmadd231ps   %ymm13,%ymm9,%ymm8
12426  .byte  196,66,37,184,199                   // vfmadd231ps   %ymm15,%ymm11,%ymm8
12427  .byte  196,65,52,92,232                    // vsubps        %ymm8,%ymm9,%ymm13
12428  .byte  196,65,60,89,237                    // vmulps        %ymm13,%ymm8,%ymm13
12429  .byte  196,65,60,92,244                    // vsubps        %ymm12,%ymm8,%ymm14
12430  .byte  196,193,20,94,198                   // vdivps        %ymm14,%ymm13,%ymm0
12431  .byte  196,65,44,92,248                    // vsubps        %ymm8,%ymm10,%ymm15
12432  .byte  196,65,60,89,255                    // vmulps        %ymm15,%ymm8,%ymm15
12433  .byte  196,65,4,94,254                     // vdivps        %ymm14,%ymm15,%ymm15
12434  .byte  196,65,36,92,232                    // vsubps        %ymm8,%ymm11,%ymm13
12435  .byte  196,65,60,89,237                    // vmulps        %ymm13,%ymm8,%ymm13
12436  .byte  196,65,20,94,238                    // vdivps        %ymm14,%ymm13,%ymm13
12437  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
12438  .byte  196,65,12,194,228,2                 // vcmpleps      %ymm12,%ymm14,%ymm12
12439  .byte  196,65,60,88,255                    // vaddps        %ymm15,%ymm8,%ymm15
12440  .byte  196,67,5,74,250,192                 // vblendvps     %ymm12,%ymm10,%ymm15,%ymm15
12441  .byte  196,65,44,95,211                    // vmaxps        %ymm11,%ymm10,%ymm10
12442  .byte  196,65,60,88,237                    // vaddps        %ymm13,%ymm8,%ymm13
12443  .byte  196,67,21,74,219,192                // vblendvps     %ymm12,%ymm11,%ymm13,%ymm11
12444  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
12445  .byte  196,195,125,74,201,192              // vblendvps     %ymm12,%ymm9,%ymm0,%ymm1
12446  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
12447  .byte  196,65,52,95,202                    // vmaxps        %ymm10,%ymm9,%ymm9
12448  .byte  196,65,116,92,208                   // vsubps        %ymm8,%ymm1,%ymm10
12449  .byte  196,65,28,92,232                    // vsubps        %ymm8,%ymm12,%ymm13
12450  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
12451  .byte  196,193,28,194,193,1                // vcmpltps      %ymm9,%ymm12,%ymm0
12452  .byte  196,65,52,92,200                    // vsubps        %ymm8,%ymm9,%ymm9
12453  .byte  196,65,44,94,209                    // vdivps        %ymm9,%ymm10,%ymm10
12454  .byte  196,65,60,88,210                    // vaddps        %ymm10,%ymm8,%ymm10
12455  .byte  196,195,117,74,202,0                // vblendvps     %ymm0,%ymm10,%ymm1,%ymm1
12456  .byte  196,65,4,92,208                     // vsubps        %ymm8,%ymm15,%ymm10
12457  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
12458  .byte  196,65,44,94,209                    // vdivps        %ymm9,%ymm10,%ymm10
12459  .byte  196,65,60,88,210                    // vaddps        %ymm10,%ymm8,%ymm10
12460  .byte  196,67,5,74,210,0                   // vblendvps     %ymm0,%ymm10,%ymm15,%ymm10
12461  .byte  196,65,36,92,248                    // vsubps        %ymm8,%ymm11,%ymm15
12462  .byte  196,65,20,89,239                    // vmulps        %ymm15,%ymm13,%ymm13
12463  .byte  196,65,20,94,201                    // vdivps        %ymm9,%ymm13,%ymm9
12464  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
12465  .byte  196,195,37,74,192,0                 // vblendvps     %ymm0,%ymm8,%ymm11,%ymm0
12466  .byte  196,193,116,95,206                  // vmaxps        %ymm14,%ymm1,%ymm1
12467  .byte  196,65,44,95,198                    // vmaxps        %ymm14,%ymm10,%ymm8
12468  .byte  196,65,124,95,206                   // vmaxps        %ymm14,%ymm0,%ymm9
12469  .byte  196,226,125,24,5,131,71,0,0         // vbroadcastss  0x4783(%rip),%ymm0        # 58c4 <_sk_callback_hsw+0x1e0>
12470  .byte  197,124,92,215                      // vsubps        %ymm7,%ymm0,%ymm10
12471  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
12472  .byte  197,124,92,219                      // vsubps        %ymm3,%ymm0,%ymm11
12473  .byte  196,226,37,184,212                  // vfmadd231ps   %ymm4,%ymm11,%ymm2
12474  .byte  197,236,88,193                      // vaddps        %ymm1,%ymm2,%ymm0
12475  .byte  197,172,89,76,36,168                // vmulps        -0x58(%rsp),%ymm10,%ymm1
12476  .byte  196,226,37,184,205                  // vfmadd231ps   %ymm5,%ymm11,%ymm1
12477  .byte  196,193,116,88,200                  // vaddps        %ymm8,%ymm1,%ymm1
12478  .byte  197,172,89,84,36,200                // vmulps        -0x38(%rsp),%ymm10,%ymm2
12479  .byte  196,98,77,168,218                   // vfmadd213ps   %ymm2,%ymm6,%ymm11
12480  .byte  196,193,36,88,209                   // vaddps        %ymm9,%ymm11,%ymm2
12481  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
12482  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
12483  .byte  72,173                              // lods          %ds:(%rsi),%rax
12484  .byte  255,224                             // jmpq          *%rax
12485
12486HIDDEN _sk_luminosity_hsw
12487.globl _sk_luminosity_hsw
12488FUNCTION(_sk_luminosity_hsw)
12489_sk_luminosity_hsw:
12490  .byte  197,124,40,202                      // vmovaps       %ymm2,%ymm9
12491  .byte  197,124,17,76,36,168                // vmovups       %ymm9,-0x58(%rsp)
12492  .byte  197,252,17,76,36,200                // vmovups       %ymm1,-0x38(%rsp)
12493  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
12494  .byte  197,100,89,196                      // vmulps        %ymm4,%ymm3,%ymm8
12495  .byte  197,100,89,213                      // vmulps        %ymm5,%ymm3,%ymm10
12496  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
12497  .byte  196,98,125,24,45,28,71,0,0          // vbroadcastss  0x471c(%rip),%ymm13        # 58c8 <_sk_callback_hsw+0x1e4>
12498  .byte  196,98,125,24,53,23,71,0,0          // vbroadcastss  0x4717(%rip),%ymm14        # 58cc <_sk_callback_hsw+0x1e8>
12499  .byte  196,65,116,89,230                   // vmulps        %ymm14,%ymm1,%ymm12
12500  .byte  196,66,109,184,229                  // vfmadd231ps   %ymm13,%ymm2,%ymm12
12501  .byte  196,98,125,24,61,8,71,0,0           // vbroadcastss  0x4708(%rip),%ymm15        # 58d0 <_sk_callback_hsw+0x1ec>
12502  .byte  196,66,53,184,231                   // vfmadd231ps   %ymm15,%ymm9,%ymm12
12503  .byte  196,65,44,89,206                    // vmulps        %ymm14,%ymm10,%ymm9
12504  .byte  196,66,61,184,205                   // vfmadd231ps   %ymm13,%ymm8,%ymm9
12505  .byte  196,66,37,184,207                   // vfmadd231ps   %ymm15,%ymm11,%ymm9
12506  .byte  196,66,69,170,225                   // vfmsub213ps   %ymm9,%ymm7,%ymm12
12507  .byte  196,65,60,88,204                    // vaddps        %ymm12,%ymm8,%ymm9
12508  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
12509  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
12510  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
12511  .byte  196,65,52,93,224                    // vminps        %ymm8,%ymm9,%ymm12
12512  .byte  196,65,44,89,198                    // vmulps        %ymm14,%ymm10,%ymm8
12513  .byte  196,66,53,184,197                   // vfmadd231ps   %ymm13,%ymm9,%ymm8
12514  .byte  196,66,37,184,199                   // vfmadd231ps   %ymm15,%ymm11,%ymm8
12515  .byte  196,65,52,92,232                    // vsubps        %ymm8,%ymm9,%ymm13
12516  .byte  196,65,60,89,237                    // vmulps        %ymm13,%ymm8,%ymm13
12517  .byte  196,65,60,92,244                    // vsubps        %ymm12,%ymm8,%ymm14
12518  .byte  196,193,20,94,198                   // vdivps        %ymm14,%ymm13,%ymm0
12519  .byte  196,65,44,92,248                    // vsubps        %ymm8,%ymm10,%ymm15
12520  .byte  196,65,60,89,255                    // vmulps        %ymm15,%ymm8,%ymm15
12521  .byte  196,65,4,94,254                     // vdivps        %ymm14,%ymm15,%ymm15
12522  .byte  196,65,36,92,232                    // vsubps        %ymm8,%ymm11,%ymm13
12523  .byte  196,65,60,89,237                    // vmulps        %ymm13,%ymm8,%ymm13
12524  .byte  196,65,20,94,238                    // vdivps        %ymm14,%ymm13,%ymm13
12525  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
12526  .byte  196,65,12,194,228,2                 // vcmpleps      %ymm12,%ymm14,%ymm12
12527  .byte  196,65,60,88,255                    // vaddps        %ymm15,%ymm8,%ymm15
12528  .byte  196,67,5,74,250,192                 // vblendvps     %ymm12,%ymm10,%ymm15,%ymm15
12529  .byte  196,65,44,95,211                    // vmaxps        %ymm11,%ymm10,%ymm10
12530  .byte  196,65,60,88,237                    // vaddps        %ymm13,%ymm8,%ymm13
12531  .byte  196,67,21,74,219,192                // vblendvps     %ymm12,%ymm11,%ymm13,%ymm11
12532  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
12533  .byte  196,195,125,74,201,192              // vblendvps     %ymm12,%ymm9,%ymm0,%ymm1
12534  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
12535  .byte  196,65,52,95,202                    // vmaxps        %ymm10,%ymm9,%ymm9
12536  .byte  196,65,116,92,208                   // vsubps        %ymm8,%ymm1,%ymm10
12537  .byte  196,65,28,92,232                    // vsubps        %ymm8,%ymm12,%ymm13
12538  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
12539  .byte  196,193,28,194,193,1                // vcmpltps      %ymm9,%ymm12,%ymm0
12540  .byte  196,65,52,92,200                    // vsubps        %ymm8,%ymm9,%ymm9
12541  .byte  196,65,44,94,209                    // vdivps        %ymm9,%ymm10,%ymm10
12542  .byte  196,65,60,88,210                    // vaddps        %ymm10,%ymm8,%ymm10
12543  .byte  196,195,117,74,202,0                // vblendvps     %ymm0,%ymm10,%ymm1,%ymm1
12544  .byte  196,65,4,92,208                     // vsubps        %ymm8,%ymm15,%ymm10
12545  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
12546  .byte  196,65,44,94,209                    // vdivps        %ymm9,%ymm10,%ymm10
12547  .byte  196,65,60,88,210                    // vaddps        %ymm10,%ymm8,%ymm10
12548  .byte  196,67,5,74,210,0                   // vblendvps     %ymm0,%ymm10,%ymm15,%ymm10
12549  .byte  196,65,36,92,248                    // vsubps        %ymm8,%ymm11,%ymm15
12550  .byte  196,65,20,89,239                    // vmulps        %ymm15,%ymm13,%ymm13
12551  .byte  196,65,20,94,201                    // vdivps        %ymm9,%ymm13,%ymm9
12552  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
12553  .byte  196,195,37,74,192,0                 // vblendvps     %ymm0,%ymm8,%ymm11,%ymm0
12554  .byte  196,193,116,95,206                  // vmaxps        %ymm14,%ymm1,%ymm1
12555  .byte  196,65,44,95,198                    // vmaxps        %ymm14,%ymm10,%ymm8
12556  .byte  196,65,124,95,206                   // vmaxps        %ymm14,%ymm0,%ymm9
12557  .byte  196,226,125,24,5,234,69,0,0         // vbroadcastss  0x45ea(%rip),%ymm0        # 58d4 <_sk_callback_hsw+0x1f0>
12558  .byte  197,124,92,215                      // vsubps        %ymm7,%ymm0,%ymm10
12559  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
12560  .byte  197,124,92,219                      // vsubps        %ymm3,%ymm0,%ymm11
12561  .byte  196,226,37,184,212                  // vfmadd231ps   %ymm4,%ymm11,%ymm2
12562  .byte  197,236,88,193                      // vaddps        %ymm1,%ymm2,%ymm0
12563  .byte  197,172,89,76,36,200                // vmulps        -0x38(%rsp),%ymm10,%ymm1
12564  .byte  196,226,37,184,205                  // vfmadd231ps   %ymm5,%ymm11,%ymm1
12565  .byte  196,193,116,88,200                  // vaddps        %ymm8,%ymm1,%ymm1
12566  .byte  197,172,89,84,36,168                // vmulps        -0x58(%rsp),%ymm10,%ymm2
12567  .byte  196,98,77,168,218                   // vfmadd213ps   %ymm2,%ymm6,%ymm11
12568  .byte  196,193,36,88,209                   // vaddps        %ymm9,%ymm11,%ymm2
12569  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
12570  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
12571  .byte  72,173                              // lods          %ds:(%rsi),%rax
12572  .byte  255,224                             // jmpq          *%rax
12573
12574HIDDEN _sk_srcover_rgba_8888_hsw
12575.globl _sk_srcover_rgba_8888_hsw
12576FUNCTION(_sk_srcover_rgba_8888_hsw)
12577_sk_srcover_rgba_8888_hsw:
12578  .byte  73,137,201                          // mov           %rcx,%r9
12579  .byte  72,173                              // lods          %ds:(%rsi),%rax
12580  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
12581  .byte  76,3,16                             // add           (%rax),%r10
12582  .byte  77,133,192                          // test          %r8,%r8
12583  .byte  15,133,180,0,0,0                    // jne           13f9 <_sk_srcover_rgba_8888_hsw+0xcd>
12584  .byte  196,193,124,16,58                   // vmovups       (%r10),%ymm7
12585  .byte  197,196,84,37,142,73,0,0            // vandps        0x498e(%rip),%ymm7,%ymm4        # 5ce0 <_sk_callback_hsw+0x5fc>
12586  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
12587  .byte  196,226,69,0,45,161,73,0,0          // vpshufb       0x49a1(%rip),%ymm7,%ymm5        # 5d00 <_sk_callback_hsw+0x61c>
12588  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
12589  .byte  196,226,69,0,53,180,73,0,0          // vpshufb       0x49b4(%rip),%ymm7,%ymm6        # 5d20 <_sk_callback_hsw+0x63c>
12590  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
12591  .byte  197,197,114,215,24                  // vpsrld        $0x18,%ymm7,%ymm7
12592  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
12593  .byte  196,98,125,24,5,86,69,0,0           // vbroadcastss  0x4556(%rip),%ymm8        # 58d8 <_sk_callback_hsw+0x1f4>
12594  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
12595  .byte  196,98,125,24,13,77,69,0,0          // vbroadcastss  0x454d(%rip),%ymm9        # 58dc <_sk_callback_hsw+0x1f8>
12596  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
12597  .byte  196,194,93,184,192                  // vfmadd231ps   %ymm8,%ymm4,%ymm0
12598  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
12599  .byte  196,194,85,184,200                  // vfmadd231ps   %ymm8,%ymm5,%ymm1
12600  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
12601  .byte  196,194,77,184,208                  // vfmadd231ps   %ymm8,%ymm6,%ymm2
12602  .byte  196,193,100,89,217                  // vmulps        %ymm9,%ymm3,%ymm3
12603  .byte  196,194,69,184,216                  // vfmadd231ps   %ymm8,%ymm7,%ymm3
12604  .byte  197,125,91,192                      // vcvtps2dq     %ymm0,%ymm8
12605  .byte  197,125,91,201                      // vcvtps2dq     %ymm1,%ymm9
12606  .byte  196,193,53,114,241,8                // vpslld        $0x8,%ymm9,%ymm9
12607  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
12608  .byte  197,125,91,202                      // vcvtps2dq     %ymm2,%ymm9
12609  .byte  196,193,53,114,241,16               // vpslld        $0x10,%ymm9,%ymm9
12610  .byte  197,125,91,211                      // vcvtps2dq     %ymm3,%ymm10
12611  .byte  196,193,45,114,242,24               // vpslld        $0x18,%ymm10,%ymm10
12612  .byte  196,65,53,235,202                   // vpor          %ymm10,%ymm9,%ymm9
12613  .byte  196,65,61,235,193                   // vpor          %ymm9,%ymm8,%ymm8
12614  .byte  77,133,192                          // test          %r8,%r8
12615  .byte  117,53                              // jne           1422 <_sk_srcover_rgba_8888_hsw+0xf6>
12616  .byte  196,65,124,17,2                     // vmovups       %ymm8,(%r10)
12617  .byte  72,173                              // lods          %ds:(%rsi),%rax
12618  .byte  76,137,201                          // mov           %r9,%rcx
12619  .byte  255,224                             // jmpq          *%rax
12620  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
12621  .byte  68,41,193                           // sub           %r8d,%ecx
12622  .byte  192,225,3                           // shl           $0x3,%cl
12623  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
12624  .byte  72,211,232                          // shr           %cl,%rax
12625  .byte  196,225,249,110,224                 // vmovq         %rax,%xmm4
12626  .byte  196,226,125,33,228                  // vpmovsxbd     %xmm4,%ymm4
12627  .byte  196,194,93,44,58                    // vmaskmovps    (%r10),%ymm4,%ymm7
12628  .byte  233,40,255,255,255                  // jmpq          134a <_sk_srcover_rgba_8888_hsw+0x1e>
12629  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
12630  .byte  68,41,193                           // sub           %r8d,%ecx
12631  .byte  192,225,3                           // shl           $0x3,%cl
12632  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
12633  .byte  72,211,232                          // shr           %cl,%rax
12634  .byte  196,97,249,110,200                  // vmovq         %rax,%xmm9
12635  .byte  196,66,125,33,201                   // vpmovsxbd     %xmm9,%ymm9
12636  .byte  196,66,53,46,2                      // vmaskmovps    %ymm8,%ymm9,(%r10)
12637  .byte  235,170                             // jmp           13f2 <_sk_srcover_rgba_8888_hsw+0xc6>
12638
12639HIDDEN _sk_clamp_0_hsw
12640.globl _sk_clamp_0_hsw
12641FUNCTION(_sk_clamp_0_hsw)
12642_sk_clamp_0_hsw:
12643  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
12644  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
12645  .byte  196,193,116,95,200                  // vmaxps        %ymm8,%ymm1,%ymm1
12646  .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
12647  .byte  196,193,100,95,216                  // vmaxps        %ymm8,%ymm3,%ymm3
12648  .byte  72,173                              // lods          %ds:(%rsi),%rax
12649  .byte  255,224                             // jmpq          *%rax
12650
12651HIDDEN _sk_clamp_1_hsw
12652.globl _sk_clamp_1_hsw
12653FUNCTION(_sk_clamp_1_hsw)
12654_sk_clamp_1_hsw:
12655  .byte  196,98,125,24,5,114,68,0,0          // vbroadcastss  0x4472(%rip),%ymm8        # 58e0 <_sk_callback_hsw+0x1fc>
12656  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
12657  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
12658  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
12659  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
12660  .byte  72,173                              // lods          %ds:(%rsi),%rax
12661  .byte  255,224                             // jmpq          *%rax
12662
12663HIDDEN _sk_clamp_a_hsw
12664.globl _sk_clamp_a_hsw
12665FUNCTION(_sk_clamp_a_hsw)
12666_sk_clamp_a_hsw:
12667  .byte  196,98,125,24,5,85,68,0,0           // vbroadcastss  0x4455(%rip),%ymm8        # 58e4 <_sk_callback_hsw+0x200>
12668  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
12669  .byte  197,252,93,195                      // vminps        %ymm3,%ymm0,%ymm0
12670  .byte  197,244,93,203                      // vminps        %ymm3,%ymm1,%ymm1
12671  .byte  197,236,93,211                      // vminps        %ymm3,%ymm2,%ymm2
12672  .byte  72,173                              // lods          %ds:(%rsi),%rax
12673  .byte  255,224                             // jmpq          *%rax
12674
12675HIDDEN _sk_clamp_a_dst_hsw
12676.globl _sk_clamp_a_dst_hsw
12677FUNCTION(_sk_clamp_a_dst_hsw)
12678_sk_clamp_a_dst_hsw:
12679  .byte  196,98,125,24,5,59,68,0,0           // vbroadcastss  0x443b(%rip),%ymm8        # 58e8 <_sk_callback_hsw+0x204>
12680  .byte  196,193,68,93,248                   // vminps        %ymm8,%ymm7,%ymm7
12681  .byte  197,220,93,231                      // vminps        %ymm7,%ymm4,%ymm4
12682  .byte  197,212,93,239                      // vminps        %ymm7,%ymm5,%ymm5
12683  .byte  197,204,93,247                      // vminps        %ymm7,%ymm6,%ymm6
12684  .byte  72,173                              // lods          %ds:(%rsi),%rax
12685  .byte  255,224                             // jmpq          *%rax
12686
12687HIDDEN _sk_set_rgb_hsw
12688.globl _sk_set_rgb_hsw
12689FUNCTION(_sk_set_rgb_hsw)
12690_sk_set_rgb_hsw:
12691  .byte  72,173                              // lods          %ds:(%rsi),%rax
12692  .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
12693  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
12694  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
12695  .byte  72,173                              // lods          %ds:(%rsi),%rax
12696  .byte  255,224                             // jmpq          *%rax
12697
12698HIDDEN _sk_swap_rb_hsw
12699.globl _sk_swap_rb_hsw
12700FUNCTION(_sk_swap_rb_hsw)
12701_sk_swap_rb_hsw:
12702  .byte  197,124,40,192                      // vmovaps       %ymm0,%ymm8
12703  .byte  72,173                              // lods          %ds:(%rsi),%rax
12704  .byte  197,252,40,194                      // vmovaps       %ymm2,%ymm0
12705  .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
12706  .byte  255,224                             // jmpq          *%rax
12707
12708HIDDEN _sk_move_src_dst_hsw
12709.globl _sk_move_src_dst_hsw
12710FUNCTION(_sk_move_src_dst_hsw)
12711_sk_move_src_dst_hsw:
12712  .byte  72,173                              // lods          %ds:(%rsi),%rax
12713  .byte  197,252,40,224                      // vmovaps       %ymm0,%ymm4
12714  .byte  197,252,40,233                      // vmovaps       %ymm1,%ymm5
12715  .byte  197,252,40,242                      // vmovaps       %ymm2,%ymm6
12716  .byte  197,252,40,251                      // vmovaps       %ymm3,%ymm7
12717  .byte  255,224                             // jmpq          *%rax
12718
12719HIDDEN _sk_move_dst_src_hsw
12720.globl _sk_move_dst_src_hsw
12721FUNCTION(_sk_move_dst_src_hsw)
12722_sk_move_dst_src_hsw:
12723  .byte  72,173                              // lods          %ds:(%rsi),%rax
12724  .byte  197,252,40,196                      // vmovaps       %ymm4,%ymm0
12725  .byte  197,252,40,205                      // vmovaps       %ymm5,%ymm1
12726  .byte  197,252,40,214                      // vmovaps       %ymm6,%ymm2
12727  .byte  197,252,40,223                      // vmovaps       %ymm7,%ymm3
12728  .byte  255,224                             // jmpq          *%rax
12729
12730HIDDEN _sk_premul_hsw
12731.globl _sk_premul_hsw
12732FUNCTION(_sk_premul_hsw)
12733_sk_premul_hsw:
12734  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
12735  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
12736  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
12737  .byte  72,173                              // lods          %ds:(%rsi),%rax
12738  .byte  255,224                             // jmpq          *%rax
12739
12740HIDDEN _sk_premul_dst_hsw
12741.globl _sk_premul_dst_hsw
12742FUNCTION(_sk_premul_dst_hsw)
12743_sk_premul_dst_hsw:
12744  .byte  197,220,89,231                      // vmulps        %ymm7,%ymm4,%ymm4
12745  .byte  197,212,89,239                      // vmulps        %ymm7,%ymm5,%ymm5
12746  .byte  197,204,89,247                      // vmulps        %ymm7,%ymm6,%ymm6
12747  .byte  72,173                              // lods          %ds:(%rsi),%rax
12748  .byte  255,224                             // jmpq          *%rax
12749
12750HIDDEN _sk_unpremul_hsw
12751.globl _sk_unpremul_hsw
12752FUNCTION(_sk_unpremul_hsw)
12753_sk_unpremul_hsw:
12754  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
12755  .byte  196,65,100,194,200,0                // vcmpeqps      %ymm8,%ymm3,%ymm9
12756  .byte  196,98,125,24,21,167,67,0,0         // vbroadcastss  0x43a7(%rip),%ymm10        # 58ec <_sk_callback_hsw+0x208>
12757  .byte  197,44,94,211                       // vdivps        %ymm3,%ymm10,%ymm10
12758  .byte  196,67,45,74,192,144                // vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
12759  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
12760  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
12761  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
12762  .byte  72,173                              // lods          %ds:(%rsi),%rax
12763  .byte  255,224                             // jmpq          *%rax
12764
12765HIDDEN _sk_from_srgb_hsw
12766.globl _sk_from_srgb_hsw
12767FUNCTION(_sk_from_srgb_hsw)
12768_sk_from_srgb_hsw:
12769  .byte  196,98,125,24,5,136,67,0,0          // vbroadcastss  0x4388(%rip),%ymm8        # 58f0 <_sk_callback_hsw+0x20c>
12770  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
12771  .byte  197,124,89,208                      // vmulps        %ymm0,%ymm0,%ymm10
12772  .byte  196,98,125,24,29,122,67,0,0         // vbroadcastss  0x437a(%rip),%ymm11        # 58f4 <_sk_callback_hsw+0x210>
12773  .byte  196,98,125,24,37,117,67,0,0         // vbroadcastss  0x4375(%rip),%ymm12        # 58f8 <_sk_callback_hsw+0x214>
12774  .byte  196,65,124,40,236                   // vmovaps       %ymm12,%ymm13
12775  .byte  196,66,125,168,235                  // vfmadd213ps   %ymm11,%ymm0,%ymm13
12776  .byte  196,98,125,24,53,102,67,0,0         // vbroadcastss  0x4366(%rip),%ymm14        # 58fc <_sk_callback_hsw+0x218>
12777  .byte  196,66,45,168,238                   // vfmadd213ps   %ymm14,%ymm10,%ymm13
12778  .byte  196,98,125,24,21,92,67,0,0          // vbroadcastss  0x435c(%rip),%ymm10        # 5900 <_sk_callback_hsw+0x21c>
12779  .byte  196,193,124,194,194,1               // vcmpltps      %ymm10,%ymm0,%ymm0
12780  .byte  196,195,21,74,193,0                 // vblendvps     %ymm0,%ymm9,%ymm13,%ymm0
12781  .byte  196,65,116,89,200                   // vmulps        %ymm8,%ymm1,%ymm9
12782  .byte  197,116,89,233                      // vmulps        %ymm1,%ymm1,%ymm13
12783  .byte  196,65,124,40,252                   // vmovaps       %ymm12,%ymm15
12784  .byte  196,66,117,168,251                  // vfmadd213ps   %ymm11,%ymm1,%ymm15
12785  .byte  196,66,21,168,254                   // vfmadd213ps   %ymm14,%ymm13,%ymm15
12786  .byte  196,193,116,194,202,1               // vcmpltps      %ymm10,%ymm1,%ymm1
12787  .byte  196,195,5,74,201,16                 // vblendvps     %ymm1,%ymm9,%ymm15,%ymm1
12788  .byte  196,65,108,89,192                   // vmulps        %ymm8,%ymm2,%ymm8
12789  .byte  197,108,89,202                      // vmulps        %ymm2,%ymm2,%ymm9
12790  .byte  196,66,109,168,227                  // vfmadd213ps   %ymm11,%ymm2,%ymm12
12791  .byte  196,66,53,168,230                   // vfmadd213ps   %ymm14,%ymm9,%ymm12
12792  .byte  196,193,108,194,210,1               // vcmpltps      %ymm10,%ymm2,%ymm2
12793  .byte  196,195,29,74,208,32                // vblendvps     %ymm2,%ymm8,%ymm12,%ymm2
12794  .byte  72,173                              // lods          %ds:(%rsi),%rax
12795  .byte  255,224                             // jmpq          *%rax
12796
12797HIDDEN _sk_from_srgb_dst_hsw
12798.globl _sk_from_srgb_dst_hsw
12799FUNCTION(_sk_from_srgb_dst_hsw)
12800_sk_from_srgb_dst_hsw:
12801  .byte  196,98,125,24,5,4,67,0,0            // vbroadcastss  0x4304(%rip),%ymm8        # 5904 <_sk_callback_hsw+0x220>
12802  .byte  196,65,92,89,200                    // vmulps        %ymm8,%ymm4,%ymm9
12803  .byte  197,92,89,212                       // vmulps        %ymm4,%ymm4,%ymm10
12804  .byte  196,98,125,24,29,246,66,0,0         // vbroadcastss  0x42f6(%rip),%ymm11        # 5908 <_sk_callback_hsw+0x224>
12805  .byte  196,98,125,24,37,241,66,0,0         // vbroadcastss  0x42f1(%rip),%ymm12        # 590c <_sk_callback_hsw+0x228>
12806  .byte  196,65,124,40,236                   // vmovaps       %ymm12,%ymm13
12807  .byte  196,66,93,168,235                   // vfmadd213ps   %ymm11,%ymm4,%ymm13
12808  .byte  196,98,125,24,53,226,66,0,0         // vbroadcastss  0x42e2(%rip),%ymm14        # 5910 <_sk_callback_hsw+0x22c>
12809  .byte  196,66,45,168,238                   // vfmadd213ps   %ymm14,%ymm10,%ymm13
12810  .byte  196,98,125,24,21,216,66,0,0         // vbroadcastss  0x42d8(%rip),%ymm10        # 5914 <_sk_callback_hsw+0x230>
12811  .byte  196,193,92,194,226,1                // vcmpltps      %ymm10,%ymm4,%ymm4
12812  .byte  196,195,21,74,225,64                // vblendvps     %ymm4,%ymm9,%ymm13,%ymm4
12813  .byte  196,65,84,89,200                    // vmulps        %ymm8,%ymm5,%ymm9
12814  .byte  197,84,89,237                       // vmulps        %ymm5,%ymm5,%ymm13
12815  .byte  196,65,124,40,252                   // vmovaps       %ymm12,%ymm15
12816  .byte  196,66,85,168,251                   // vfmadd213ps   %ymm11,%ymm5,%ymm15
12817  .byte  196,66,21,168,254                   // vfmadd213ps   %ymm14,%ymm13,%ymm15
12818  .byte  196,193,84,194,234,1                // vcmpltps      %ymm10,%ymm5,%ymm5
12819  .byte  196,195,5,74,233,80                 // vblendvps     %ymm5,%ymm9,%ymm15,%ymm5
12820  .byte  196,65,76,89,192                    // vmulps        %ymm8,%ymm6,%ymm8
12821  .byte  197,76,89,206                       // vmulps        %ymm6,%ymm6,%ymm9
12822  .byte  196,66,77,168,227                   // vfmadd213ps   %ymm11,%ymm6,%ymm12
12823  .byte  196,66,53,168,230                   // vfmadd213ps   %ymm14,%ymm9,%ymm12
12824  .byte  196,193,76,194,242,1                // vcmpltps      %ymm10,%ymm6,%ymm6
12825  .byte  196,195,29,74,240,96                // vblendvps     %ymm6,%ymm8,%ymm12,%ymm6
12826  .byte  72,173                              // lods          %ds:(%rsi),%rax
12827  .byte  255,224                             // jmpq          *%rax
12828
12829HIDDEN _sk_to_srgb_hsw
12830.globl _sk_to_srgb_hsw
12831FUNCTION(_sk_to_srgb_hsw)
12832_sk_to_srgb_hsw:
12833  .byte  197,124,82,200                      // vrsqrtps      %ymm0,%ymm9
12834  .byte  196,98,125,24,5,124,66,0,0          // vbroadcastss  0x427c(%rip),%ymm8        # 5918 <_sk_callback_hsw+0x234>
12835  .byte  196,65,124,89,208                   // vmulps        %ymm8,%ymm0,%ymm10
12836  .byte  196,98,125,24,29,114,66,0,0         // vbroadcastss  0x4272(%rip),%ymm11        # 591c <_sk_callback_hsw+0x238>
12837  .byte  196,98,125,24,37,109,66,0,0         // vbroadcastss  0x426d(%rip),%ymm12        # 5920 <_sk_callback_hsw+0x23c>
12838  .byte  196,65,124,40,236                   // vmovaps       %ymm12,%ymm13
12839  .byte  196,66,53,168,235                   // vfmadd213ps   %ymm11,%ymm9,%ymm13
12840  .byte  196,98,125,24,53,94,66,0,0          // vbroadcastss  0x425e(%rip),%ymm14        # 5924 <_sk_callback_hsw+0x240>
12841  .byte  196,66,53,168,238                   // vfmadd213ps   %ymm14,%ymm9,%ymm13
12842  .byte  196,98,125,24,61,84,66,0,0          // vbroadcastss  0x4254(%rip),%ymm15        # 5928 <_sk_callback_hsw+0x244>
12843  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
12844  .byte  196,65,124,83,201                   // vrcpps        %ymm9,%ymm9
12845  .byte  196,65,20,89,201                    // vmulps        %ymm9,%ymm13,%ymm9
12846  .byte  196,98,125,24,45,64,66,0,0          // vbroadcastss  0x4240(%rip),%ymm13        # 592c <_sk_callback_hsw+0x248>
12847  .byte  196,193,124,194,197,1               // vcmpltps      %ymm13,%ymm0,%ymm0
12848  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
12849  .byte  197,124,82,201                      // vrsqrtps      %ymm1,%ymm9
12850  .byte  196,65,124,40,212                   // vmovaps       %ymm12,%ymm10
12851  .byte  196,66,53,168,211                   // vfmadd213ps   %ymm11,%ymm9,%ymm10
12852  .byte  196,66,53,168,214                   // vfmadd213ps   %ymm14,%ymm9,%ymm10
12853  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
12854  .byte  196,65,124,83,201                   // vrcpps        %ymm9,%ymm9
12855  .byte  196,65,44,89,201                    // vmulps        %ymm9,%ymm10,%ymm9
12856  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
12857  .byte  196,193,116,194,205,1               // vcmpltps      %ymm13,%ymm1,%ymm1
12858  .byte  196,195,53,74,202,16                // vblendvps     %ymm1,%ymm10,%ymm9,%ymm1
12859  .byte  197,124,82,202                      // vrsqrtps      %ymm2,%ymm9
12860  .byte  196,66,53,168,227                   // vfmadd213ps   %ymm11,%ymm9,%ymm12
12861  .byte  196,66,53,168,230                   // vfmadd213ps   %ymm14,%ymm9,%ymm12
12862  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
12863  .byte  196,65,124,83,201                   // vrcpps        %ymm9,%ymm9
12864  .byte  196,65,28,89,201                    // vmulps        %ymm9,%ymm12,%ymm9
12865  .byte  196,65,108,89,192                   // vmulps        %ymm8,%ymm2,%ymm8
12866  .byte  196,193,108,194,213,1               // vcmpltps      %ymm13,%ymm2,%ymm2
12867  .byte  196,195,53,74,208,32                // vblendvps     %ymm2,%ymm8,%ymm9,%ymm2
12868  .byte  72,173                              // lods          %ds:(%rsi),%rax
12869  .byte  255,224                             // jmpq          *%rax
12870
12871HIDDEN _sk_rgb_to_hsl_hsw
12872.globl _sk_rgb_to_hsl_hsw
12873FUNCTION(_sk_rgb_to_hsl_hsw)
12874_sk_rgb_to_hsl_hsw:
12875  .byte  197,124,95,193                      // vmaxps        %ymm1,%ymm0,%ymm8
12876  .byte  197,60,95,194                       // vmaxps        %ymm2,%ymm8,%ymm8
12877  .byte  197,124,93,201                      // vminps        %ymm1,%ymm0,%ymm9
12878  .byte  197,52,93,202                       // vminps        %ymm2,%ymm9,%ymm9
12879  .byte  196,65,60,92,209                    // vsubps        %ymm9,%ymm8,%ymm10
12880  .byte  196,98,125,24,29,181,65,0,0         // vbroadcastss  0x41b5(%rip),%ymm11        # 5930 <_sk_callback_hsw+0x24c>
12881  .byte  196,65,36,94,218                    // vdivps        %ymm10,%ymm11,%ymm11
12882  .byte  197,116,92,226                      // vsubps        %ymm2,%ymm1,%ymm12
12883  .byte  197,116,194,234,1                   // vcmpltps      %ymm2,%ymm1,%ymm13
12884  .byte  196,98,125,24,53,162,65,0,0         // vbroadcastss  0x41a2(%rip),%ymm14        # 5934 <_sk_callback_hsw+0x250>
12885  .byte  196,65,4,87,255                     // vxorps        %ymm15,%ymm15,%ymm15
12886  .byte  196,67,5,74,238,208                 // vblendvps     %ymm13,%ymm14,%ymm15,%ymm13
12887  .byte  196,66,37,168,229                   // vfmadd213ps   %ymm13,%ymm11,%ymm12
12888  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
12889  .byte  197,124,92,233                      // vsubps        %ymm1,%ymm0,%ymm13
12890  .byte  196,98,125,24,53,137,65,0,0         // vbroadcastss  0x4189(%rip),%ymm14        # 593c <_sk_callback_hsw+0x258>
12891  .byte  196,66,37,168,238                   // vfmadd213ps   %ymm14,%ymm11,%ymm13
12892  .byte  196,98,125,24,53,119,65,0,0         // vbroadcastss  0x4177(%rip),%ymm14        # 5938 <_sk_callback_hsw+0x254>
12893  .byte  196,194,37,168,214                  // vfmadd213ps   %ymm14,%ymm11,%ymm2
12894  .byte  197,188,194,201,0                   // vcmpeqps      %ymm1,%ymm8,%ymm1
12895  .byte  196,227,21,74,202,16                // vblendvps     %ymm1,%ymm2,%ymm13,%ymm1
12896  .byte  197,188,194,192,0                   // vcmpeqps      %ymm0,%ymm8,%ymm0
12897  .byte  196,195,117,74,196,0                // vblendvps     %ymm0,%ymm12,%ymm1,%ymm0
12898  .byte  196,193,60,88,201                   // vaddps        %ymm9,%ymm8,%ymm1
12899  .byte  196,98,125,24,29,90,65,0,0          // vbroadcastss  0x415a(%rip),%ymm11        # 5944 <_sk_callback_hsw+0x260>
12900  .byte  196,193,116,89,211                  // vmulps        %ymm11,%ymm1,%ymm2
12901  .byte  197,36,194,218,1                    // vcmpltps      %ymm2,%ymm11,%ymm11
12902  .byte  196,65,12,92,224                    // vsubps        %ymm8,%ymm14,%ymm12
12903  .byte  196,65,28,92,225                    // vsubps        %ymm9,%ymm12,%ymm12
12904  .byte  196,195,117,74,204,176              // vblendvps     %ymm11,%ymm12,%ymm1,%ymm1
12905  .byte  196,65,60,194,193,0                 // vcmpeqps      %ymm9,%ymm8,%ymm8
12906  .byte  197,172,94,201                      // vdivps        %ymm1,%ymm10,%ymm1
12907  .byte  196,195,125,74,199,128              // vblendvps     %ymm8,%ymm15,%ymm0,%ymm0
12908  .byte  196,195,117,74,207,128              // vblendvps     %ymm8,%ymm15,%ymm1,%ymm1
12909  .byte  196,98,125,24,5,29,65,0,0           // vbroadcastss  0x411d(%rip),%ymm8        # 5940 <_sk_callback_hsw+0x25c>
12910  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
12911  .byte  72,173                              // lods          %ds:(%rsi),%rax
12912  .byte  255,224                             // jmpq          *%rax
12913
12914HIDDEN _sk_hsl_to_rgb_hsw
12915.globl _sk_hsl_to_rgb_hsw
12916FUNCTION(_sk_hsl_to_rgb_hsw)
12917_sk_hsl_to_rgb_hsw:
12918  .byte  72,131,236,56                       // sub           $0x38,%rsp
12919  .byte  197,252,17,60,36                    // vmovups       %ymm7,(%rsp)
12920  .byte  197,252,17,116,36,224               // vmovups       %ymm6,-0x20(%rsp)
12921  .byte  197,252,17,108,36,192               // vmovups       %ymm5,-0x40(%rsp)
12922  .byte  197,252,17,100,36,160               // vmovups       %ymm4,-0x60(%rsp)
12923  .byte  197,252,17,92,36,128                // vmovups       %ymm3,-0x80(%rsp)
12924  .byte  197,252,40,233                      // vmovaps       %ymm1,%ymm5
12925  .byte  197,252,40,224                      // vmovaps       %ymm0,%ymm4
12926  .byte  196,98,125,24,5,234,64,0,0          // vbroadcastss  0x40ea(%rip),%ymm8        # 5948 <_sk_callback_hsw+0x264>
12927  .byte  197,60,194,202,2                    // vcmpleps      %ymm2,%ymm8,%ymm9
12928  .byte  197,84,89,210                       // vmulps        %ymm2,%ymm5,%ymm10
12929  .byte  196,65,84,92,218                    // vsubps        %ymm10,%ymm5,%ymm11
12930  .byte  196,67,45,74,203,144                // vblendvps     %ymm9,%ymm11,%ymm10,%ymm9
12931  .byte  197,52,88,210                       // vaddps        %ymm2,%ymm9,%ymm10
12932  .byte  196,98,125,24,13,205,64,0,0         // vbroadcastss  0x40cd(%rip),%ymm9        # 594c <_sk_callback_hsw+0x268>
12933  .byte  196,66,109,170,202                  // vfmsub213ps   %ymm10,%ymm2,%ymm9
12934  .byte  196,98,125,24,29,195,64,0,0         // vbroadcastss  0x40c3(%rip),%ymm11        # 5950 <_sk_callback_hsw+0x26c>
12935  .byte  196,65,92,88,219                    // vaddps        %ymm11,%ymm4,%ymm11
12936  .byte  196,67,125,8,227,1                  // vroundps      $0x1,%ymm11,%ymm12
12937  .byte  196,65,36,92,252                    // vsubps        %ymm12,%ymm11,%ymm15
12938  .byte  196,65,44,92,217                    // vsubps        %ymm9,%ymm10,%ymm11
12939  .byte  196,98,125,24,45,173,64,0,0         // vbroadcastss  0x40ad(%rip),%ymm13        # 5958 <_sk_callback_hsw+0x274>
12940  .byte  196,193,4,89,197                    // vmulps        %ymm13,%ymm15,%ymm0
12941  .byte  196,98,125,24,53,163,64,0,0         // vbroadcastss  0x40a3(%rip),%ymm14        # 595c <_sk_callback_hsw+0x278>
12942  .byte  197,12,92,224                       // vsubps        %ymm0,%ymm14,%ymm12
12943  .byte  196,66,37,168,225                   // vfmadd213ps   %ymm9,%ymm11,%ymm12
12944  .byte  196,226,125,24,29,137,64,0,0        // vbroadcastss  0x4089(%rip),%ymm3        # 5954 <_sk_callback_hsw+0x270>
12945  .byte  196,193,100,194,255,2               // vcmpleps      %ymm15,%ymm3,%ymm7
12946  .byte  196,195,29,74,249,112               // vblendvps     %ymm7,%ymm9,%ymm12,%ymm7
12947  .byte  196,65,60,194,231,2                 // vcmpleps      %ymm15,%ymm8,%ymm12
12948  .byte  196,227,45,74,255,192               // vblendvps     %ymm12,%ymm7,%ymm10,%ymm7
12949  .byte  196,98,125,24,37,116,64,0,0         // vbroadcastss  0x4074(%rip),%ymm12        # 5960 <_sk_callback_hsw+0x27c>
12950  .byte  196,65,28,194,255,2                 // vcmpleps      %ymm15,%ymm12,%ymm15
12951  .byte  196,194,37,168,193                  // vfmadd213ps   %ymm9,%ymm11,%ymm0
12952  .byte  196,99,125,74,255,240               // vblendvps     %ymm15,%ymm7,%ymm0,%ymm15
12953  .byte  196,227,125,8,196,1                 // vroundps      $0x1,%ymm4,%ymm0
12954  .byte  197,220,92,192                      // vsubps        %ymm0,%ymm4,%ymm0
12955  .byte  196,193,124,89,253                  // vmulps        %ymm13,%ymm0,%ymm7
12956  .byte  197,140,92,207                      // vsubps        %ymm7,%ymm14,%ymm1
12957  .byte  196,194,37,168,201                  // vfmadd213ps   %ymm9,%ymm11,%ymm1
12958  .byte  197,228,194,240,2                   // vcmpleps      %ymm0,%ymm3,%ymm6
12959  .byte  196,195,117,74,201,96               // vblendvps     %ymm6,%ymm9,%ymm1,%ymm1
12960  .byte  197,188,194,240,2                   // vcmpleps      %ymm0,%ymm8,%ymm6
12961  .byte  196,227,45,74,201,96                // vblendvps     %ymm6,%ymm1,%ymm10,%ymm1
12962  .byte  197,156,194,192,2                   // vcmpleps      %ymm0,%ymm12,%ymm0
12963  .byte  196,194,37,168,249                  // vfmadd213ps   %ymm9,%ymm11,%ymm7
12964  .byte  196,227,69,74,201,0                 // vblendvps     %ymm0,%ymm1,%ymm7,%ymm1
12965  .byte  196,226,125,24,5,32,64,0,0          // vbroadcastss  0x4020(%rip),%ymm0        # 5964 <_sk_callback_hsw+0x280>
12966  .byte  197,220,88,192                      // vaddps        %ymm0,%ymm4,%ymm0
12967  .byte  196,227,125,8,224,1                 // vroundps      $0x1,%ymm0,%ymm4
12968  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
12969  .byte  197,228,194,216,2                   // vcmpleps      %ymm0,%ymm3,%ymm3
12970  .byte  196,193,124,89,229                  // vmulps        %ymm13,%ymm0,%ymm4
12971  .byte  197,140,92,244                      // vsubps        %ymm4,%ymm14,%ymm6
12972  .byte  196,194,37,168,241                  // vfmadd213ps   %ymm9,%ymm11,%ymm6
12973  .byte  196,195,77,74,217,48                // vblendvps     %ymm3,%ymm9,%ymm6,%ymm3
12974  .byte  197,188,194,240,2                   // vcmpleps      %ymm0,%ymm8,%ymm6
12975  .byte  196,227,45,74,219,96                // vblendvps     %ymm6,%ymm3,%ymm10,%ymm3
12976  .byte  196,98,37,184,204                   // vfmadd231ps   %ymm4,%ymm11,%ymm9
12977  .byte  197,156,194,192,2                   // vcmpleps      %ymm0,%ymm12,%ymm0
12978  .byte  196,227,53,74,219,0                 // vblendvps     %ymm0,%ymm3,%ymm9,%ymm3
12979  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
12980  .byte  197,212,194,224,0                   // vcmpeqps      %ymm0,%ymm5,%ymm4
12981  .byte  196,227,5,74,194,64                 // vblendvps     %ymm4,%ymm2,%ymm15,%ymm0
12982  .byte  196,227,117,74,202,64               // vblendvps     %ymm4,%ymm2,%ymm1,%ymm1
12983  .byte  196,227,101,74,210,64               // vblendvps     %ymm4,%ymm2,%ymm3,%ymm2
12984  .byte  72,173                              // lods          %ds:(%rsi),%rax
12985  .byte  197,252,16,92,36,128                // vmovups       -0x80(%rsp),%ymm3
12986  .byte  197,252,16,100,36,160               // vmovups       -0x60(%rsp),%ymm4
12987  .byte  197,252,16,108,36,192               // vmovups       -0x40(%rsp),%ymm5
12988  .byte  197,252,16,116,36,224               // vmovups       -0x20(%rsp),%ymm6
12989  .byte  197,252,16,60,36                    // vmovups       (%rsp),%ymm7
12990  .byte  72,131,196,56                       // add           $0x38,%rsp
12991  .byte  255,224                             // jmpq          *%rax
12992
12993HIDDEN _sk_scale_1_float_hsw
12994.globl _sk_scale_1_float_hsw
12995FUNCTION(_sk_scale_1_float_hsw)
12996_sk_scale_1_float_hsw:
12997  .byte  72,173                              // lods          %ds:(%rsi),%rax
12998  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
12999  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
13000  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
13001  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
13002  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
13003  .byte  72,173                              // lods          %ds:(%rsi),%rax
13004  .byte  255,224                             // jmpq          *%rax
13005
13006HIDDEN _sk_scale_u8_hsw
13007.globl _sk_scale_u8_hsw
13008FUNCTION(_sk_scale_u8_hsw)
13009_sk_scale_u8_hsw:
13010  .byte  72,173                              // lods          %ds:(%rsi),%rax
13011  .byte  76,139,24                           // mov           (%rax),%r11
13012  .byte  77,133,192                          // test          %r8,%r8
13013  .byte  117,58                              // jne           1a25 <_sk_scale_u8_hsw+0x44>
13014  .byte  196,66,121,48,4,19                  // vpmovzxbw     (%r11,%rdx,1),%xmm8
13015  .byte  197,57,219,5,231,69,0,0             // vpand         0x45e7(%rip),%xmm8,%xmm8        # 5fe0 <_sk_callback_hsw+0x8fc>
13016  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
13017  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
13018  .byte  196,98,125,24,13,92,63,0,0          // vbroadcastss  0x3f5c(%rip),%ymm9        # 5968 <_sk_callback_hsw+0x284>
13019  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
13020  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
13021  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
13022  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
13023  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
13024  .byte  72,173                              // lods          %ds:(%rsi),%rax
13025  .byte  255,224                             // jmpq          *%rax
13026  .byte  69,137,193                          // mov           %r8d,%r9d
13027  .byte  65,128,225,7                        // and           $0x7,%r9b
13028  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
13029  .byte  65,254,201                          // dec           %r9b
13030  .byte  65,128,249,6                        // cmp           $0x6,%r9b
13031  .byte  119,183                             // ja            19f1 <_sk_scale_u8_hsw+0x10>
13032  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
13033  .byte  76,141,21,123,0,0,0                 // lea           0x7b(%rip),%r10        # 1ac0 <_sk_scale_u8_hsw+0xdf>
13034  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
13035  .byte  76,1,208                            // add           %r10,%rax
13036  .byte  255,224                             // jmpq          *%rax
13037  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
13038  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
13039  .byte  235,152                             // jmp           19f1 <_sk_scale_u8_hsw+0x10>
13040  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
13041  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
13042  .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
13043  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
13044  .byte  197,121,110,200                     // vmovd         %eax,%xmm9
13045  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
13046  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
13047  .byte  233,111,255,255,255                 // jmpq          19f1 <_sk_scale_u8_hsw+0x10>
13048  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
13049  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
13050  .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
13051  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
13052  .byte  197,57,196,192,5                    // vpinsrw       $0x5,%eax,%xmm8,%xmm8
13053  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
13054  .byte  197,57,196,192,4                    // vpinsrw       $0x4,%eax,%xmm8,%xmm8
13055  .byte  196,65,121,110,12,19                // vmovd         (%r11,%rdx,1),%xmm9
13056  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
13057  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
13058  .byte  233,51,255,255,255                  // jmpq          19f1 <_sk_scale_u8_hsw+0x10>
13059  .byte  102,144                             // xchg          %ax,%ax
13060  .byte  142,255                             // mov           %edi,%?
13061  .byte  255                                 // (bad)
13062  .byte  255,169,255,255,255,153             // ljmp          *-0x66000001(%rcx)
13063  .byte  255                                 // (bad)
13064  .byte  255                                 // (bad)
13065  .byte  255                                 // (bad)
13066  .byte  232,255,255,255,221                 // callq         ffffffffde001ad0 <_sk_callback_hsw+0xffffffffddffc3ec>
13067  .byte  255                                 // (bad)
13068  .byte  255                                 // (bad)
13069  .byte  255,210                             // callq         *%rdx
13070  .byte  255                                 // (bad)
13071  .byte  255                                 // (bad)
13072  .byte  255,194                             // inc           %edx
13073  .byte  255                                 // (bad)
13074  .byte  255                                 // (bad)
13075  .byte  255                                 // .byte         0xff
13076
13077HIDDEN _sk_lerp_1_float_hsw
13078.globl _sk_lerp_1_float_hsw
13079FUNCTION(_sk_lerp_1_float_hsw)
13080_sk_lerp_1_float_hsw:
13081  .byte  72,173                              // lods          %ds:(%rsi),%rax
13082  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
13083  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
13084  .byte  196,226,61,168,196                  // vfmadd213ps   %ymm4,%ymm8,%ymm0
13085  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
13086  .byte  196,226,61,168,205                  // vfmadd213ps   %ymm5,%ymm8,%ymm1
13087  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
13088  .byte  196,226,61,168,214                  // vfmadd213ps   %ymm6,%ymm8,%ymm2
13089  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
13090  .byte  196,226,61,168,223                  // vfmadd213ps   %ymm7,%ymm8,%ymm3
13091  .byte  72,173                              // lods          %ds:(%rsi),%rax
13092  .byte  255,224                             // jmpq          *%rax
13093
13094HIDDEN _sk_lerp_u8_hsw
13095.globl _sk_lerp_u8_hsw
13096FUNCTION(_sk_lerp_u8_hsw)
13097_sk_lerp_u8_hsw:
13098  .byte  72,173                              // lods          %ds:(%rsi),%rax
13099  .byte  76,139,24                           // mov           (%rax),%r11
13100  .byte  77,133,192                          // test          %r8,%r8
13101  .byte  117,78                              // jne           1b63 <_sk_lerp_u8_hsw+0x58>
13102  .byte  196,66,121,48,4,19                  // vpmovzxbw     (%r11,%rdx,1),%xmm8
13103  .byte  197,57,219,5,205,68,0,0             // vpand         0x44cd(%rip),%xmm8,%xmm8        # 5ff0 <_sk_callback_hsw+0x90c>
13104  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
13105  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
13106  .byte  196,98,125,24,13,54,62,0,0          // vbroadcastss  0x3e36(%rip),%ymm9        # 596c <_sk_callback_hsw+0x288>
13107  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
13108  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
13109  .byte  196,226,61,168,196                  // vfmadd213ps   %ymm4,%ymm8,%ymm0
13110  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
13111  .byte  196,226,61,168,205                  // vfmadd213ps   %ymm5,%ymm8,%ymm1
13112  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
13113  .byte  196,226,61,168,214                  // vfmadd213ps   %ymm6,%ymm8,%ymm2
13114  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
13115  .byte  196,226,61,168,223                  // vfmadd213ps   %ymm7,%ymm8,%ymm3
13116  .byte  72,173                              // lods          %ds:(%rsi),%rax
13117  .byte  255,224                             // jmpq          *%rax
13118  .byte  69,137,193                          // mov           %r8d,%r9d
13119  .byte  65,128,225,7                        // and           $0x7,%r9b
13120  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
13121  .byte  65,254,201                          // dec           %r9b
13122  .byte  65,128,249,6                        // cmp           $0x6,%r9b
13123  .byte  119,163                             // ja            1b1b <_sk_lerp_u8_hsw+0x10>
13124  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
13125  .byte  76,141,21,121,0,0,0                 // lea           0x79(%rip),%r10        # 1bfc <_sk_lerp_u8_hsw+0xf1>
13126  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
13127  .byte  76,1,208                            // add           %r10,%rax
13128  .byte  255,224                             // jmpq          *%rax
13129  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
13130  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
13131  .byte  235,132                             // jmp           1b1b <_sk_lerp_u8_hsw+0x10>
13132  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
13133  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
13134  .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
13135  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
13136  .byte  197,121,110,200                     // vmovd         %eax,%xmm9
13137  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
13138  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
13139  .byte  233,91,255,255,255                  // jmpq          1b1b <_sk_lerp_u8_hsw+0x10>
13140  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
13141  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
13142  .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
13143  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
13144  .byte  197,57,196,192,5                    // vpinsrw       $0x5,%eax,%xmm8,%xmm8
13145  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
13146  .byte  197,57,196,192,4                    // vpinsrw       $0x4,%eax,%xmm8,%xmm8
13147  .byte  196,65,121,110,12,19                // vmovd         (%r11,%rdx,1),%xmm9
13148  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
13149  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
13150  .byte  233,31,255,255,255                  // jmpq          1b1b <_sk_lerp_u8_hsw+0x10>
13151  .byte  144                                 // nop
13152  .byte  255                                 // (bad)
13153  .byte  255                                 // (bad)
13154  .byte  255,171,255,255,255,155             // ljmp          *-0x64000001(%rbx)
13155  .byte  255                                 // (bad)
13156  .byte  255                                 // (bad)
13157  .byte  255                                 // (bad)
13158  .byte  234                                 // (bad)
13159  .byte  255                                 // (bad)
13160  .byte  255                                 // (bad)
13161  .byte  255                                 // (bad)
13162  .byte  223,255                             // (bad)
13163  .byte  255                                 // (bad)
13164  .byte  255,212                             // callq         *%rsp
13165  .byte  255                                 // (bad)
13166  .byte  255                                 // (bad)
13167  .byte  255,196                             // inc           %esp
13168  .byte  255                                 // (bad)
13169  .byte  255                                 // (bad)
13170  .byte  255                                 // .byte         0xff
13171
13172HIDDEN _sk_lerp_565_hsw
13173.globl _sk_lerp_565_hsw
13174FUNCTION(_sk_lerp_565_hsw)
13175_sk_lerp_565_hsw:
13176  .byte  72,173                              // lods          %ds:(%rsi),%rax
13177  .byte  76,139,24                           // mov           (%rax),%r11
13178  .byte  77,133,192                          // test          %r8,%r8
13179  .byte  15,133,169,0,0,0                    // jne           1ccf <_sk_lerp_565_hsw+0xb7>
13180  .byte  196,65,122,111,4,83                 // vmovdqu       (%r11,%rdx,2),%xmm8
13181  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
13182  .byte  196,98,125,88,13,54,61,0,0          // vpbroadcastd  0x3d36(%rip),%ymm9        # 5970 <_sk_callback_hsw+0x28c>
13183  .byte  196,65,61,219,201                   // vpand         %ymm9,%ymm8,%ymm9
13184  .byte  196,65,124,91,201                   // vcvtdq2ps     %ymm9,%ymm9
13185  .byte  196,98,125,24,21,39,61,0,0          // vbroadcastss  0x3d27(%rip),%ymm10        # 5974 <_sk_callback_hsw+0x290>
13186  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
13187  .byte  196,98,125,88,21,29,61,0,0          // vpbroadcastd  0x3d1d(%rip),%ymm10        # 5978 <_sk_callback_hsw+0x294>
13188  .byte  196,65,61,219,210                   // vpand         %ymm10,%ymm8,%ymm10
13189  .byte  196,65,124,91,210                   // vcvtdq2ps     %ymm10,%ymm10
13190  .byte  196,98,125,24,29,14,61,0,0          // vbroadcastss  0x3d0e(%rip),%ymm11        # 597c <_sk_callback_hsw+0x298>
13191  .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
13192  .byte  196,98,125,88,29,4,61,0,0           // vpbroadcastd  0x3d04(%rip),%ymm11        # 5980 <_sk_callback_hsw+0x29c>
13193  .byte  196,65,61,219,195                   // vpand         %ymm11,%ymm8,%ymm8
13194  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
13195  .byte  196,98,125,24,29,245,60,0,0         // vbroadcastss  0x3cf5(%rip),%ymm11        # 5984 <_sk_callback_hsw+0x2a0>
13196  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
13197  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
13198  .byte  196,226,53,168,196                  // vfmadd213ps   %ymm4,%ymm9,%ymm0
13199  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
13200  .byte  196,226,45,168,205                  // vfmadd213ps   %ymm5,%ymm10,%ymm1
13201  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
13202  .byte  196,226,61,168,214                  // vfmadd213ps   %ymm6,%ymm8,%ymm2
13203  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
13204  .byte  196,98,101,168,207                  // vfmadd213ps   %ymm7,%ymm3,%ymm9
13205  .byte  196,98,101,168,215                  // vfmadd213ps   %ymm7,%ymm3,%ymm10
13206  .byte  196,98,101,168,199                  // vfmadd213ps   %ymm7,%ymm3,%ymm8
13207  .byte  196,193,44,95,216                   // vmaxps        %ymm8,%ymm10,%ymm3
13208  .byte  197,180,95,219                      // vmaxps        %ymm3,%ymm9,%ymm3
13209  .byte  72,173                              // lods          %ds:(%rsi),%rax
13210  .byte  255,224                             // jmpq          *%rax
13211  .byte  69,137,193                          // mov           %r8d,%r9d
13212  .byte  65,128,225,7                        // and           $0x7,%r9b
13213  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
13214  .byte  65,254,201                          // dec           %r9b
13215  .byte  65,128,249,6                        // cmp           $0x6,%r9b
13216  .byte  15,135,68,255,255,255               // ja            1c2c <_sk_lerp_565_hsw+0x14>
13217  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
13218  .byte  76,141,21,101,0,0,0                 // lea           0x65(%rip),%r10        # 1d58 <_sk_lerp_565_hsw+0x140>
13219  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
13220  .byte  76,1,208                            // add           %r10,%rax
13221  .byte  255,224                             // jmpq          *%rax
13222  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
13223  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
13224  .byte  233,34,255,255,255                  // jmpq          1c2c <_sk_lerp_565_hsw+0x14>
13225  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
13226  .byte  196,65,57,196,68,83,4,2             // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm8,%xmm8
13227  .byte  196,65,121,110,12,83                // vmovd         (%r11,%rdx,2),%xmm9
13228  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
13229  .byte  233,4,255,255,255                   // jmpq          1c2c <_sk_lerp_565_hsw+0x14>
13230  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
13231  .byte  196,65,57,196,68,83,12,6            // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm8,%xmm8
13232  .byte  196,65,57,196,68,83,10,5            // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm8,%xmm8
13233  .byte  196,65,57,196,68,83,8,4             // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm8,%xmm8
13234  .byte  196,65,122,126,12,83                // vmovq         (%r11,%rdx,2),%xmm9
13235  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
13236  .byte  233,214,254,255,255                 // jmpq          1c2c <_sk_lerp_565_hsw+0x14>
13237  .byte  102,144                             // xchg          %ax,%ax
13238  .byte  164                                 // movsb         %ds:(%rsi),%es:(%rdi)
13239  .byte  255                                 // (bad)
13240  .byte  255                                 // (bad)
13241  .byte  255                                 // (bad)
13242  .byte  191,255,255,255,178                 // mov           $0xb2ffffff,%edi
13243  .byte  255                                 // (bad)
13244  .byte  255                                 // (bad)
13245  .byte  255                                 // (bad)
13246  .byte  237                                 // in            (%dx),%eax
13247  .byte  255                                 // (bad)
13248  .byte  255                                 // (bad)
13249  .byte  255,229                             // jmpq          *%rbp
13250  .byte  255                                 // (bad)
13251  .byte  255                                 // (bad)
13252  .byte  255                                 // (bad)
13253  .byte  221,255                             // (bad)
13254  .byte  255                                 // (bad)
13255  .byte  255,208                             // callq         *%rax
13256  .byte  255                                 // (bad)
13257  .byte  255                                 // (bad)
13258  .byte  255                                 // .byte         0xff
13259
13260HIDDEN _sk_load_tables_hsw
13261.globl _sk_load_tables_hsw
13262FUNCTION(_sk_load_tables_hsw)
13263_sk_load_tables_hsw:
13264  .byte  73,137,201                          // mov           %rcx,%r9
13265  .byte  72,173                              // lods          %ds:(%rsi),%rax
13266  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
13267  .byte  76,3,16                             // add           (%rax),%r10
13268  .byte  77,133,192                          // test          %r8,%r8
13269  .byte  117,105                             // jne           1df2 <_sk_load_tables_hsw+0x7e>
13270  .byte  196,193,124,16,26                   // vmovups       (%r10),%ymm3
13271  .byte  197,228,84,13,170,63,0,0            // vandps        0x3faa(%rip),%ymm3,%ymm1        # 5d40 <_sk_callback_hsw+0x65c>
13272  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
13273  .byte  72,139,72,8                         // mov           0x8(%rax),%rcx
13274  .byte  76,139,80,16                        // mov           0x10(%rax),%r10
13275  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
13276  .byte  196,226,109,146,4,137               // vgatherdps    %ymm2,(%rcx,%ymm1,4),%ymm0
13277  .byte  196,226,101,0,21,170,63,0,0         // vpshufb       0x3faa(%rip),%ymm3,%ymm2        # 5d60 <_sk_callback_hsw+0x67c>
13278  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
13279  .byte  196,194,53,146,12,146               // vgatherdps    %ymm9,(%r10,%ymm2,4),%ymm1
13280  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
13281  .byte  196,98,101,0,13,178,63,0,0          // vpshufb       0x3fb2(%rip),%ymm3,%ymm9        # 5d80 <_sk_callback_hsw+0x69c>
13282  .byte  196,162,61,146,20,136               // vgatherdps    %ymm8,(%rax,%ymm9,4),%ymm2
13283  .byte  197,229,114,211,24                  // vpsrld        $0x18,%ymm3,%ymm3
13284  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
13285  .byte  196,98,125,24,5,162,59,0,0          // vbroadcastss  0x3ba2(%rip),%ymm8        # 5988 <_sk_callback_hsw+0x2a4>
13286  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
13287  .byte  72,173                              // lods          %ds:(%rsi),%rax
13288  .byte  76,137,201                          // mov           %r9,%rcx
13289  .byte  255,224                             // jmpq          *%rax
13290  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
13291  .byte  68,41,193                           // sub           %r8d,%ecx
13292  .byte  192,225,3                           // shl           $0x3,%cl
13293  .byte  73,199,195,255,255,255,255          // mov           $0xffffffffffffffff,%r11
13294  .byte  73,211,235                          // shr           %cl,%r11
13295  .byte  196,193,249,110,195                 // vmovq         %r11,%xmm0
13296  .byte  196,226,125,33,192                  // vpmovsxbd     %xmm0,%ymm0
13297  .byte  196,194,125,44,26                   // vmaskmovps    (%r10),%ymm0,%ymm3
13298  .byte  233,115,255,255,255                 // jmpq          1d8e <_sk_load_tables_hsw+0x1a>
13299
13300HIDDEN _sk_load_tables_u16_be_hsw
13301.globl _sk_load_tables_u16_be_hsw
13302FUNCTION(_sk_load_tables_u16_be_hsw)
13303_sk_load_tables_u16_be_hsw:
13304  .byte  72,173                              // lods          %ds:(%rsi),%rax
13305  .byte  76,139,8                            // mov           (%rax),%r9
13306  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
13307  .byte  77,133,192                          // test          %r8,%r8
13308  .byte  15,133,201,0,0,0                    // jne           1efa <_sk_load_tables_u16_be_hsw+0xdf>
13309  .byte  196,1,121,16,4,81                   // vmovupd       (%r9,%r10,2),%xmm8
13310  .byte  196,129,121,16,84,81,16             // vmovupd       0x10(%r9,%r10,2),%xmm2
13311  .byte  196,129,121,16,92,81,32             // vmovupd       0x20(%r9,%r10,2),%xmm3
13312  .byte  196,1,122,111,76,81,48              // vmovdqu       0x30(%r9,%r10,2),%xmm9
13313  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
13314  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
13315  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
13316  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
13317  .byte  197,121,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm8
13318  .byte  197,121,105,202                     // vpunpckhwd    %xmm2,%xmm0,%xmm9
13319  .byte  197,241,97,195                      // vpunpcklwd    %xmm3,%xmm1,%xmm0
13320  .byte  197,241,105,219                     // vpunpckhwd    %xmm3,%xmm1,%xmm3
13321  .byte  197,185,108,200                     // vpunpcklqdq   %xmm0,%xmm8,%xmm1
13322  .byte  197,185,109,208                     // vpunpckhqdq   %xmm0,%xmm8,%xmm2
13323  .byte  197,49,108,195                      // vpunpcklqdq   %xmm3,%xmm9,%xmm8
13324  .byte  197,121,111,21,126,65,0,0           // vmovdqa       0x417e(%rip),%xmm10        # 6000 <_sk_callback_hsw+0x91c>
13325  .byte  196,193,113,219,194                 // vpand         %xmm10,%xmm1,%xmm0
13326  .byte  196,226,125,51,200                  // vpmovzxwd     %xmm0,%ymm1
13327  .byte  196,65,37,118,219                   // vpcmpeqd      %ymm11,%ymm11,%ymm11
13328  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
13329  .byte  76,139,80,16                        // mov           0x10(%rax),%r10
13330  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
13331  .byte  196,194,29,146,4,137                // vgatherdps    %ymm12,(%r9,%ymm1,4),%ymm0
13332  .byte  196,193,105,219,202                 // vpand         %xmm10,%xmm2,%xmm1
13333  .byte  196,226,125,51,209                  // vpmovzxwd     %xmm1,%ymm2
13334  .byte  196,65,29,118,228                   // vpcmpeqd      %ymm12,%ymm12,%ymm12
13335  .byte  196,194,29,146,12,146               // vgatherdps    %ymm12,(%r10,%ymm2,4),%ymm1
13336  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
13337  .byte  196,193,57,219,210                  // vpand         %xmm10,%xmm8,%xmm2
13338  .byte  196,98,125,51,194                   // vpmovzxwd     %xmm2,%ymm8
13339  .byte  196,162,37,146,20,128               // vgatherdps    %ymm11,(%rax,%ymm8,4),%ymm2
13340  .byte  197,177,109,219                     // vpunpckhqdq   %xmm3,%xmm9,%xmm3
13341  .byte  197,185,113,243,8                   // vpsllw        $0x8,%xmm3,%xmm8
13342  .byte  197,225,113,211,8                   // vpsrlw        $0x8,%xmm3,%xmm3
13343  .byte  197,185,235,219                     // vpor          %xmm3,%xmm8,%xmm3
13344  .byte  196,226,125,51,219                  // vpmovzxwd     %xmm3,%ymm3
13345  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
13346  .byte  196,98,125,24,5,155,58,0,0          // vbroadcastss  0x3a9b(%rip),%ymm8        # 598c <_sk_callback_hsw+0x2a8>
13347  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
13348  .byte  72,173                              // lods          %ds:(%rsi),%rax
13349  .byte  255,224                             // jmpq          *%rax
13350  .byte  196,1,123,16,4,81                   // vmovsd        (%r9,%r10,2),%xmm8
13351  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
13352  .byte  73,131,248,1                        // cmp           $0x1,%r8
13353  .byte  116,85                              // je            1f60 <_sk_load_tables_u16_be_hsw+0x145>
13354  .byte  196,1,57,22,68,81,8                 // vmovhpd       0x8(%r9,%r10,2),%xmm8,%xmm8
13355  .byte  73,131,248,3                        // cmp           $0x3,%r8
13356  .byte  114,72                              // jb            1f60 <_sk_load_tables_u16_be_hsw+0x145>
13357  .byte  196,129,123,16,84,81,16             // vmovsd        0x10(%r9,%r10,2),%xmm2
13358  .byte  73,131,248,3                        // cmp           $0x3,%r8
13359  .byte  116,72                              // je            1f6d <_sk_load_tables_u16_be_hsw+0x152>
13360  .byte  196,129,105,22,84,81,24             // vmovhpd       0x18(%r9,%r10,2),%xmm2,%xmm2
13361  .byte  73,131,248,5                        // cmp           $0x5,%r8
13362  .byte  114,59                              // jb            1f6d <_sk_load_tables_u16_be_hsw+0x152>
13363  .byte  196,129,123,16,92,81,32             // vmovsd        0x20(%r9,%r10,2),%xmm3
13364  .byte  73,131,248,5                        // cmp           $0x5,%r8
13365  .byte  15,132,9,255,255,255                // je            1e4c <_sk_load_tables_u16_be_hsw+0x31>
13366  .byte  196,129,97,22,92,81,40              // vmovhpd       0x28(%r9,%r10,2),%xmm3,%xmm3
13367  .byte  73,131,248,7                        // cmp           $0x7,%r8
13368  .byte  15,130,248,254,255,255              // jb            1e4c <_sk_load_tables_u16_be_hsw+0x31>
13369  .byte  196,1,122,126,76,81,48              // vmovq         0x30(%r9,%r10,2),%xmm9
13370  .byte  233,236,254,255,255                 // jmpq          1e4c <_sk_load_tables_u16_be_hsw+0x31>
13371  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
13372  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
13373  .byte  233,223,254,255,255                 // jmpq          1e4c <_sk_load_tables_u16_be_hsw+0x31>
13374  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
13375  .byte  233,214,254,255,255                 // jmpq          1e4c <_sk_load_tables_u16_be_hsw+0x31>
13376
13377HIDDEN _sk_load_tables_rgb_u16_be_hsw
13378.globl _sk_load_tables_rgb_u16_be_hsw
13379FUNCTION(_sk_load_tables_rgb_u16_be_hsw)
13380_sk_load_tables_rgb_u16_be_hsw:
13381  .byte  72,173                              // lods          %ds:(%rsi),%rax
13382  .byte  76,139,8                            // mov           (%rax),%r9
13383  .byte  76,141,20,82                        // lea           (%rdx,%rdx,2),%r10
13384  .byte  77,133,192                          // test          %r8,%r8
13385  .byte  15,133,193,0,0,0                    // jne           2049 <_sk_load_tables_rgb_u16_be_hsw+0xd3>
13386  .byte  196,129,122,111,4,81                // vmovdqu       (%r9,%r10,2),%xmm0
13387  .byte  196,129,122,111,84,81,12            // vmovdqu       0xc(%r9,%r10,2),%xmm2
13388  .byte  196,129,122,111,76,81,24            // vmovdqu       0x18(%r9,%r10,2),%xmm1
13389  .byte  196,129,122,111,92,81,32            // vmovdqu       0x20(%r9,%r10,2),%xmm3
13390  .byte  197,225,115,219,4                   // vpsrldq       $0x4,%xmm3,%xmm3
13391  .byte  197,185,115,216,6                   // vpsrldq       $0x6,%xmm0,%xmm8
13392  .byte  197,177,115,218,6                   // vpsrldq       $0x6,%xmm2,%xmm9
13393  .byte  197,161,115,217,6                   // vpsrldq       $0x6,%xmm1,%xmm11
13394  .byte  197,169,115,219,6                   // vpsrldq       $0x6,%xmm3,%xmm10
13395  .byte  197,249,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm0
13396  .byte  196,193,57,97,209                   // vpunpcklwd    %xmm9,%xmm8,%xmm2
13397  .byte  197,241,97,203                      // vpunpcklwd    %xmm3,%xmm1,%xmm1
13398  .byte  196,193,33,97,218                   // vpunpcklwd    %xmm10,%xmm11,%xmm3
13399  .byte  197,121,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm8
13400  .byte  197,249,105,194                     // vpunpckhwd    %xmm2,%xmm0,%xmm0
13401  .byte  197,241,97,211                      // vpunpcklwd    %xmm3,%xmm1,%xmm2
13402  .byte  197,241,105,203                     // vpunpckhwd    %xmm3,%xmm1,%xmm1
13403  .byte  197,185,108,218                     // vpunpcklqdq   %xmm2,%xmm8,%xmm3
13404  .byte  197,185,109,210                     // vpunpckhqdq   %xmm2,%xmm8,%xmm2
13405  .byte  197,121,108,193                     // vpunpcklqdq   %xmm1,%xmm0,%xmm8
13406  .byte  197,121,111,13,30,64,0,0            // vmovdqa       0x401e(%rip),%xmm9        # 6010 <_sk_callback_hsw+0x92c>
13407  .byte  196,193,97,219,193                  // vpand         %xmm9,%xmm3,%xmm0
13408  .byte  196,226,125,51,200                  // vpmovzxwd     %xmm0,%ymm1
13409  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
13410  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
13411  .byte  76,139,80,16                        // mov           0x10(%rax),%r10
13412  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
13413  .byte  196,194,45,146,4,137                // vgatherdps    %ymm10,(%r9,%ymm1,4),%ymm0
13414  .byte  196,193,105,219,201                 // vpand         %xmm9,%xmm2,%xmm1
13415  .byte  196,226,125,51,209                  // vpmovzxwd     %xmm1,%ymm2
13416  .byte  196,65,45,118,210                   // vpcmpeqd      %ymm10,%ymm10,%ymm10
13417  .byte  196,194,45,146,12,146               // vgatherdps    %ymm10,(%r10,%ymm2,4),%ymm1
13418  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
13419  .byte  196,193,57,219,209                  // vpand         %xmm9,%xmm8,%xmm2
13420  .byte  196,98,125,51,194                   // vpmovzxwd     %xmm2,%ymm8
13421  .byte  196,162,101,146,20,128              // vgatherdps    %ymm3,(%rax,%ymm8,4),%ymm2
13422  .byte  72,173                              // lods          %ds:(%rsi),%rax
13423  .byte  196,226,125,24,29,73,57,0,0         // vbroadcastss  0x3949(%rip),%ymm3        # 5990 <_sk_callback_hsw+0x2ac>
13424  .byte  255,224                             // jmpq          *%rax
13425  .byte  196,129,121,110,4,81                // vmovd         (%r9,%r10,2),%xmm0
13426  .byte  196,129,121,196,68,81,4,2           // vpinsrw       $0x2,0x4(%r9,%r10,2),%xmm0,%xmm0
13427  .byte  73,131,248,1                        // cmp           $0x1,%r8
13428  .byte  117,5                               // jne           2062 <_sk_load_tables_rgb_u16_be_hsw+0xec>
13429  .byte  233,90,255,255,255                  // jmpq          1fbc <_sk_load_tables_rgb_u16_be_hsw+0x46>
13430  .byte  196,129,121,110,76,81,6             // vmovd         0x6(%r9,%r10,2),%xmm1
13431  .byte  196,1,113,196,68,81,10,2            // vpinsrw       $0x2,0xa(%r9,%r10,2),%xmm1,%xmm8
13432  .byte  73,131,248,3                        // cmp           $0x3,%r8
13433  .byte  114,26                              // jb            2091 <_sk_load_tables_rgb_u16_be_hsw+0x11b>
13434  .byte  196,129,121,110,76,81,12            // vmovd         0xc(%r9,%r10,2),%xmm1
13435  .byte  196,129,113,196,84,81,16,2          // vpinsrw       $0x2,0x10(%r9,%r10,2),%xmm1,%xmm2
13436  .byte  73,131,248,3                        // cmp           $0x3,%r8
13437  .byte  117,10                              // jne           2096 <_sk_load_tables_rgb_u16_be_hsw+0x120>
13438  .byte  233,43,255,255,255                  // jmpq          1fbc <_sk_load_tables_rgb_u16_be_hsw+0x46>
13439  .byte  233,38,255,255,255                  // jmpq          1fbc <_sk_load_tables_rgb_u16_be_hsw+0x46>
13440  .byte  196,129,121,110,76,81,18            // vmovd         0x12(%r9,%r10,2),%xmm1
13441  .byte  196,1,113,196,76,81,22,2            // vpinsrw       $0x2,0x16(%r9,%r10,2),%xmm1,%xmm9
13442  .byte  73,131,248,5                        // cmp           $0x5,%r8
13443  .byte  114,26                              // jb            20c5 <_sk_load_tables_rgb_u16_be_hsw+0x14f>
13444  .byte  196,129,121,110,76,81,24            // vmovd         0x18(%r9,%r10,2),%xmm1
13445  .byte  196,129,113,196,76,81,28,2          // vpinsrw       $0x2,0x1c(%r9,%r10,2),%xmm1,%xmm1
13446  .byte  73,131,248,5                        // cmp           $0x5,%r8
13447  .byte  117,10                              // jne           20ca <_sk_load_tables_rgb_u16_be_hsw+0x154>
13448  .byte  233,247,254,255,255                 // jmpq          1fbc <_sk_load_tables_rgb_u16_be_hsw+0x46>
13449  .byte  233,242,254,255,255                 // jmpq          1fbc <_sk_load_tables_rgb_u16_be_hsw+0x46>
13450  .byte  196,129,121,110,92,81,30            // vmovd         0x1e(%r9,%r10,2),%xmm3
13451  .byte  196,1,97,196,92,81,34,2             // vpinsrw       $0x2,0x22(%r9,%r10,2),%xmm3,%xmm11
13452  .byte  73,131,248,7                        // cmp           $0x7,%r8
13453  .byte  114,20                              // jb            20f3 <_sk_load_tables_rgb_u16_be_hsw+0x17d>
13454  .byte  196,129,121,110,92,81,36            // vmovd         0x24(%r9,%r10,2),%xmm3
13455  .byte  196,129,97,196,92,81,40,2           // vpinsrw       $0x2,0x28(%r9,%r10,2),%xmm3,%xmm3
13456  .byte  233,201,254,255,255                 // jmpq          1fbc <_sk_load_tables_rgb_u16_be_hsw+0x46>
13457  .byte  233,196,254,255,255                 // jmpq          1fbc <_sk_load_tables_rgb_u16_be_hsw+0x46>
13458
13459HIDDEN _sk_byte_tables_hsw
13460.globl _sk_byte_tables_hsw
13461FUNCTION(_sk_byte_tables_hsw)
13462_sk_byte_tables_hsw:
13463  .byte  72,173                              // lods          %ds:(%rsi),%rax
13464  .byte  196,98,125,24,5,145,56,0,0          // vbroadcastss  0x3891(%rip),%ymm8        # 5994 <_sk_callback_hsw+0x2b0>
13465  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
13466  .byte  197,125,91,200                      // vcvtps2dq     %ymm0,%ymm9
13467  .byte  196,65,249,126,201                  // vmovq         %xmm9,%r9
13468  .byte  69,137,202                          // mov           %r9d,%r10d
13469  .byte  76,139,24                           // mov           (%rax),%r11
13470  .byte  196,131,121,32,4,19,0               // vpinsrb       $0x0,(%r11,%r10,1),%xmm0,%xmm0
13471  .byte  196,67,249,22,202,1                 // vpextrq       $0x1,%xmm9,%r10
13472  .byte  73,193,233,32                       // shr           $0x20,%r9
13473  .byte  196,3,121,32,20,11,1                // vpinsrb       $0x1,(%r11,%r9,1),%xmm0,%xmm10
13474  .byte  69,137,209                          // mov           %r10d,%r9d
13475  .byte  73,193,234,32                       // shr           $0x20,%r10
13476  .byte  196,99,125,57,200,1                 // vextracti128  $0x1,%ymm9,%xmm0
13477  .byte  71,15,182,12,11                     // movzbl        (%r11,%r9,1),%r9d
13478  .byte  196,67,41,32,201,2                  // vpinsrb       $0x2,%r9d,%xmm10,%xmm9
13479  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
13480  .byte  71,15,182,20,19                     // movzbl        (%r11,%r10,1),%r10d
13481  .byte  196,67,49,32,202,3                  // vpinsrb       $0x3,%r10d,%xmm9,%xmm9
13482  .byte  69,137,202                          // mov           %r9d,%r10d
13483  .byte  71,15,182,20,19                     // movzbl        (%r11,%r10,1),%r10d
13484  .byte  196,67,49,32,202,4                  // vpinsrb       $0x4,%r10d,%xmm9,%xmm9
13485  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
13486  .byte  73,193,233,32                       // shr           $0x20,%r9
13487  .byte  71,15,182,12,11                     // movzbl        (%r11,%r9,1),%r9d
13488  .byte  196,195,49,32,193,5                 // vpinsrb       $0x5,%r9d,%xmm9,%xmm0
13489  .byte  69,137,209                          // mov           %r10d,%r9d
13490  .byte  73,193,234,32                       // shr           $0x20,%r10
13491  .byte  71,15,182,12,11                     // movzbl        (%r11,%r9,1),%r9d
13492  .byte  196,195,121,32,193,6                // vpinsrb       $0x6,%r9d,%xmm0,%xmm0
13493  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
13494  .byte  71,15,182,20,19                     // movzbl        (%r11,%r10,1),%r10d
13495  .byte  196,67,121,32,202,7                 // vpinsrb       $0x7,%r10d,%xmm0,%xmm9
13496  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
13497  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
13498  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
13499  .byte  69,137,211                          // mov           %r10d,%r11d
13500  .byte  196,131,121,32,4,25,0               // vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm0
13501  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
13502  .byte  73,193,234,32                       // shr           $0x20,%r10
13503  .byte  196,131,121,32,4,17,1               // vpinsrb       $0x1,(%r9,%r10,1),%xmm0,%xmm0
13504  .byte  69,137,218                          // mov           %r11d,%r10d
13505  .byte  73,193,235,32                       // shr           $0x20,%r11
13506  .byte  196,227,125,57,201,1                // vextracti128  $0x1,%ymm1,%xmm1
13507  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
13508  .byte  196,195,121,32,194,2                // vpinsrb       $0x2,%r10d,%xmm0,%xmm0
13509  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
13510  .byte  71,15,182,28,25                     // movzbl        (%r9,%r11,1),%r11d
13511  .byte  196,195,121,32,195,3                // vpinsrb       $0x3,%r11d,%xmm0,%xmm0
13512  .byte  69,137,211                          // mov           %r10d,%r11d
13513  .byte  71,15,182,28,25                     // movzbl        (%r9,%r11,1),%r11d
13514  .byte  196,195,121,32,195,4                // vpinsrb       $0x4,%r11d,%xmm0,%xmm0
13515  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
13516  .byte  73,193,234,32                       // shr           $0x20,%r10
13517  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
13518  .byte  196,195,121,32,194,5                // vpinsrb       $0x5,%r10d,%xmm0,%xmm0
13519  .byte  69,137,218                          // mov           %r11d,%r10d
13520  .byte  73,193,235,32                       // shr           $0x20,%r11
13521  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
13522  .byte  196,195,121,32,194,6                // vpinsrb       $0x6,%r10d,%xmm0,%xmm0
13523  .byte  71,15,182,12,25                     // movzbl        (%r9,%r11,1),%r9d
13524  .byte  196,195,121,32,201,7                // vpinsrb       $0x7,%r9d,%xmm0,%xmm1
13525  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
13526  .byte  196,193,108,89,192                  // vmulps        %ymm8,%ymm2,%ymm0
13527  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
13528  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
13529  .byte  69,137,211                          // mov           %r10d,%r11d
13530  .byte  196,131,121,32,20,25,0              // vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm2
13531  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
13532  .byte  73,193,234,32                       // shr           $0x20,%r10
13533  .byte  196,131,105,32,20,17,1              // vpinsrb       $0x1,(%r9,%r10,1),%xmm2,%xmm2
13534  .byte  69,137,218                          // mov           %r11d,%r10d
13535  .byte  73,193,235,32                       // shr           $0x20,%r11
13536  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
13537  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
13538  .byte  196,195,105,32,210,2                // vpinsrb       $0x2,%r10d,%xmm2,%xmm2
13539  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
13540  .byte  71,15,182,28,25                     // movzbl        (%r9,%r11,1),%r11d
13541  .byte  196,195,105,32,211,3                // vpinsrb       $0x3,%r11d,%xmm2,%xmm2
13542  .byte  69,137,211                          // mov           %r10d,%r11d
13543  .byte  71,15,182,28,25                     // movzbl        (%r9,%r11,1),%r11d
13544  .byte  196,195,105,32,211,4                // vpinsrb       $0x4,%r11d,%xmm2,%xmm2
13545  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
13546  .byte  73,193,234,32                       // shr           $0x20,%r10
13547  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
13548  .byte  196,195,105,32,194,5                // vpinsrb       $0x5,%r10d,%xmm2,%xmm0
13549  .byte  69,137,218                          // mov           %r11d,%r10d
13550  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
13551  .byte  196,195,121,32,194,6                // vpinsrb       $0x6,%r10d,%xmm0,%xmm0
13552  .byte  73,193,235,32                       // shr           $0x20,%r11
13553  .byte  71,15,182,12,25                     // movzbl        (%r9,%r11,1),%r9d
13554  .byte  196,195,121,32,209,7                // vpinsrb       $0x7,%r9d,%xmm0,%xmm2
13555  .byte  76,139,80,24                        // mov           0x18(%rax),%r10
13556  .byte  196,193,100,89,192                  // vmulps        %ymm8,%ymm3,%ymm0
13557  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
13558  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
13559  .byte  68,137,200                          // mov           %r9d,%eax
13560  .byte  196,195,121,32,28,2,0               // vpinsrb       $0x0,(%r10,%rax,1),%xmm0,%xmm3
13561  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
13562  .byte  73,193,233,32                       // shr           $0x20,%r9
13563  .byte  196,131,97,32,28,10,1               // vpinsrb       $0x1,(%r10,%r9,1),%xmm3,%xmm3
13564  .byte  65,137,193                          // mov           %eax,%r9d
13565  .byte  72,193,232,32                       // shr           $0x20,%rax
13566  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
13567  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
13568  .byte  196,195,97,32,217,2                 // vpinsrb       $0x2,%r9d,%xmm3,%xmm3
13569  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
13570  .byte  65,15,182,4,2                       // movzbl        (%r10,%rax,1),%eax
13571  .byte  196,227,97,32,216,3                 // vpinsrb       $0x3,%eax,%xmm3,%xmm3
13572  .byte  68,137,200                          // mov           %r9d,%eax
13573  .byte  65,15,182,4,2                       // movzbl        (%r10,%rax,1),%eax
13574  .byte  196,227,97,32,216,4                 // vpinsrb       $0x4,%eax,%xmm3,%xmm3
13575  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
13576  .byte  73,193,233,32                       // shr           $0x20,%r9
13577  .byte  67,15,182,4,10                      // movzbl        (%r10,%r9,1),%eax
13578  .byte  196,227,97,32,192,5                 // vpinsrb       $0x5,%eax,%xmm3,%xmm0
13579  .byte  68,137,216                          // mov           %r11d,%eax
13580  .byte  65,15,182,4,2                       // movzbl        (%r10,%rax,1),%eax
13581  .byte  196,227,121,32,216,6                // vpinsrb       $0x6,%eax,%xmm0,%xmm3
13582  .byte  73,193,235,32                       // shr           $0x20,%r11
13583  .byte  67,15,182,4,26                      // movzbl        (%r10,%r11,1),%eax
13584  .byte  196,194,125,49,193                  // vpmovzxbd     %xmm9,%ymm0
13585  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
13586  .byte  196,98,125,24,5,54,54,0,0           // vbroadcastss  0x3636(%rip),%ymm8        # 5998 <_sk_callback_hsw+0x2b4>
13587  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
13588  .byte  196,226,125,49,201                  // vpmovzxbd     %xmm1,%ymm1
13589  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
13590  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
13591  .byte  196,226,125,49,210                  // vpmovzxbd     %xmm2,%ymm2
13592  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
13593  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
13594  .byte  196,227,97,32,216,7                 // vpinsrb       $0x7,%eax,%xmm3,%xmm3
13595  .byte  196,226,125,49,219                  // vpmovzxbd     %xmm3,%ymm3
13596  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
13597  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
13598  .byte  72,173                              // lods          %ds:(%rsi),%rax
13599  .byte  255,224                             // jmpq          *%rax
13600
13601HIDDEN _sk_byte_tables_rgb_hsw
13602.globl _sk_byte_tables_rgb_hsw
13603FUNCTION(_sk_byte_tables_rgb_hsw)
13604_sk_byte_tables_rgb_hsw:
13605  .byte  72,173                              // lods          %ds:(%rsi),%rax
13606  .byte  68,139,72,24                        // mov           0x18(%rax),%r9d
13607  .byte  65,255,201                          // dec           %r9d
13608  .byte  196,65,121,110,193                  // vmovd         %r9d,%xmm8
13609  .byte  196,66,125,88,192                   // vpbroadcastd  %xmm8,%ymm8
13610  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
13611  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
13612  .byte  197,125,91,200                      // vcvtps2dq     %ymm0,%ymm9
13613  .byte  196,65,249,126,201                  // vmovq         %xmm9,%r9
13614  .byte  69,137,202                          // mov           %r9d,%r10d
13615  .byte  76,139,24                           // mov           (%rax),%r11
13616  .byte  196,131,121,32,4,19,0               // vpinsrb       $0x0,(%r11,%r10,1),%xmm0,%xmm0
13617  .byte  196,67,249,22,202,1                 // vpextrq       $0x1,%xmm9,%r10
13618  .byte  73,193,233,32                       // shr           $0x20,%r9
13619  .byte  196,3,121,32,20,11,1                // vpinsrb       $0x1,(%r11,%r9,1),%xmm0,%xmm10
13620  .byte  69,137,209                          // mov           %r10d,%r9d
13621  .byte  73,193,234,32                       // shr           $0x20,%r10
13622  .byte  196,99,125,57,200,1                 // vextracti128  $0x1,%ymm9,%xmm0
13623  .byte  71,15,182,12,11                     // movzbl        (%r11,%r9,1),%r9d
13624  .byte  196,67,41,32,201,2                  // vpinsrb       $0x2,%r9d,%xmm10,%xmm9
13625  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
13626  .byte  71,15,182,20,19                     // movzbl        (%r11,%r10,1),%r10d
13627  .byte  196,67,49,32,202,3                  // vpinsrb       $0x3,%r10d,%xmm9,%xmm9
13628  .byte  69,137,202                          // mov           %r9d,%r10d
13629  .byte  71,15,182,20,19                     // movzbl        (%r11,%r10,1),%r10d
13630  .byte  196,67,49,32,202,4                  // vpinsrb       $0x4,%r10d,%xmm9,%xmm9
13631  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
13632  .byte  73,193,233,32                       // shr           $0x20,%r9
13633  .byte  71,15,182,12,11                     // movzbl        (%r11,%r9,1),%r9d
13634  .byte  196,195,49,32,193,5                 // vpinsrb       $0x5,%r9d,%xmm9,%xmm0
13635  .byte  69,137,209                          // mov           %r10d,%r9d
13636  .byte  73,193,234,32                       // shr           $0x20,%r10
13637  .byte  71,15,182,12,11                     // movzbl        (%r11,%r9,1),%r9d
13638  .byte  196,195,121,32,193,6                // vpinsrb       $0x6,%r9d,%xmm0,%xmm0
13639  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
13640  .byte  71,15,182,20,19                     // movzbl        (%r11,%r10,1),%r10d
13641  .byte  196,67,121,32,202,7                 // vpinsrb       $0x7,%r10d,%xmm0,%xmm9
13642  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
13643  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
13644  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
13645  .byte  69,137,211                          // mov           %r10d,%r11d
13646  .byte  196,131,121,32,4,25,0               // vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm0
13647  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
13648  .byte  73,193,234,32                       // shr           $0x20,%r10
13649  .byte  196,131,121,32,4,17,1               // vpinsrb       $0x1,(%r9,%r10,1),%xmm0,%xmm0
13650  .byte  69,137,218                          // mov           %r11d,%r10d
13651  .byte  73,193,235,32                       // shr           $0x20,%r11
13652  .byte  196,227,125,57,201,1                // vextracti128  $0x1,%ymm1,%xmm1
13653  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
13654  .byte  196,195,121,32,194,2                // vpinsrb       $0x2,%r10d,%xmm0,%xmm0
13655  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
13656  .byte  71,15,182,28,25                     // movzbl        (%r9,%r11,1),%r11d
13657  .byte  196,195,121,32,195,3                // vpinsrb       $0x3,%r11d,%xmm0,%xmm0
13658  .byte  69,137,211                          // mov           %r10d,%r11d
13659  .byte  71,15,182,28,25                     // movzbl        (%r9,%r11,1),%r11d
13660  .byte  196,195,121,32,195,4                // vpinsrb       $0x4,%r11d,%xmm0,%xmm0
13661  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
13662  .byte  73,193,234,32                       // shr           $0x20,%r10
13663  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
13664  .byte  196,195,121,32,194,5                // vpinsrb       $0x5,%r10d,%xmm0,%xmm0
13665  .byte  69,137,218                          // mov           %r11d,%r10d
13666  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
13667  .byte  196,195,121,32,194,6                // vpinsrb       $0x6,%r10d,%xmm0,%xmm0
13668  .byte  73,193,235,32                       // shr           $0x20,%r11
13669  .byte  71,15,182,12,25                     // movzbl        (%r9,%r11,1),%r9d
13670  .byte  196,195,121,32,201,7                // vpinsrb       $0x7,%r9d,%xmm0,%xmm1
13671  .byte  76,139,80,16                        // mov           0x10(%rax),%r10
13672  .byte  197,188,89,194                      // vmulps        %ymm2,%ymm8,%ymm0
13673  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
13674  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
13675  .byte  68,137,200                          // mov           %r9d,%eax
13676  .byte  196,195,121,32,20,2,0               // vpinsrb       $0x0,(%r10,%rax,1),%xmm0,%xmm2
13677  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
13678  .byte  73,193,233,32                       // shr           $0x20,%r9
13679  .byte  196,131,105,32,20,10,1              // vpinsrb       $0x1,(%r10,%r9,1),%xmm2,%xmm2
13680  .byte  65,137,193                          // mov           %eax,%r9d
13681  .byte  72,193,232,32                       // shr           $0x20,%rax
13682  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
13683  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
13684  .byte  196,195,105,32,209,2                // vpinsrb       $0x2,%r9d,%xmm2,%xmm2
13685  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
13686  .byte  65,15,182,4,2                       // movzbl        (%r10,%rax,1),%eax
13687  .byte  196,227,105,32,208,3                // vpinsrb       $0x3,%eax,%xmm2,%xmm2
13688  .byte  68,137,200                          // mov           %r9d,%eax
13689  .byte  65,15,182,4,2                       // movzbl        (%r10,%rax,1),%eax
13690  .byte  196,227,105,32,208,4                // vpinsrb       $0x4,%eax,%xmm2,%xmm2
13691  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
13692  .byte  73,193,233,32                       // shr           $0x20,%r9
13693  .byte  67,15,182,4,10                      // movzbl        (%r10,%r9,1),%eax
13694  .byte  196,227,105,32,192,5                // vpinsrb       $0x5,%eax,%xmm2,%xmm0
13695  .byte  68,137,216                          // mov           %r11d,%eax
13696  .byte  65,15,182,4,2                       // movzbl        (%r10,%rax,1),%eax
13697  .byte  196,227,121,32,208,6                // vpinsrb       $0x6,%eax,%xmm0,%xmm2
13698  .byte  73,193,235,32                       // shr           $0x20,%r11
13699  .byte  67,15,182,4,26                      // movzbl        (%r10,%r11,1),%eax
13700  .byte  196,194,125,49,193                  // vpmovzxbd     %xmm9,%ymm0
13701  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
13702  .byte  196,98,125,24,5,34,52,0,0           // vbroadcastss  0x3422(%rip),%ymm8        # 599c <_sk_callback_hsw+0x2b8>
13703  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
13704  .byte  196,226,125,49,201                  // vpmovzxbd     %xmm1,%ymm1
13705  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
13706  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
13707  .byte  196,227,105,32,208,7                // vpinsrb       $0x7,%eax,%xmm2,%xmm2
13708  .byte  196,226,125,49,210                  // vpmovzxbd     %xmm2,%ymm2
13709  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
13710  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
13711  .byte  72,173                              // lods          %ds:(%rsi),%rax
13712  .byte  255,224                             // jmpq          *%rax
13713
13714HIDDEN _sk_table_r_hsw
13715.globl _sk_table_r_hsw
13716FUNCTION(_sk_table_r_hsw)
13717_sk_table_r_hsw:
13718  .byte  72,173                              // lods          %ds:(%rsi),%rax
13719  .byte  76,139,8                            // mov           (%rax),%r9
13720  .byte  139,64,8                            // mov           0x8(%rax),%eax
13721  .byte  255,200                             // dec           %eax
13722  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
13723  .byte  196,66,125,88,192                   // vpbroadcastd  %xmm8,%ymm8
13724  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
13725  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
13726  .byte  197,125,91,192                      // vcvtps2dq     %ymm0,%ymm8
13727  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
13728  .byte  196,130,53,146,4,129                // vgatherdps    %ymm9,(%r9,%ymm8,4),%ymm0
13729  .byte  72,173                              // lods          %ds:(%rsi),%rax
13730  .byte  255,224                             // jmpq          *%rax
13731
13732HIDDEN _sk_table_g_hsw
13733.globl _sk_table_g_hsw
13734FUNCTION(_sk_table_g_hsw)
13735_sk_table_g_hsw:
13736  .byte  72,173                              // lods          %ds:(%rsi),%rax
13737  .byte  76,139,8                            // mov           (%rax),%r9
13738  .byte  139,64,8                            // mov           0x8(%rax),%eax
13739  .byte  255,200                             // dec           %eax
13740  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
13741  .byte  196,66,125,88,192                   // vpbroadcastd  %xmm8,%ymm8
13742  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
13743  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
13744  .byte  197,125,91,193                      // vcvtps2dq     %ymm1,%ymm8
13745  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
13746  .byte  196,130,53,146,12,129               // vgatherdps    %ymm9,(%r9,%ymm8,4),%ymm1
13747  .byte  72,173                              // lods          %ds:(%rsi),%rax
13748  .byte  255,224                             // jmpq          *%rax
13749
13750HIDDEN _sk_table_b_hsw
13751.globl _sk_table_b_hsw
13752FUNCTION(_sk_table_b_hsw)
13753_sk_table_b_hsw:
13754  .byte  72,173                              // lods          %ds:(%rsi),%rax
13755  .byte  76,139,8                            // mov           (%rax),%r9
13756  .byte  139,64,8                            // mov           0x8(%rax),%eax
13757  .byte  255,200                             // dec           %eax
13758  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
13759  .byte  196,66,125,88,192                   // vpbroadcastd  %xmm8,%ymm8
13760  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
13761  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
13762  .byte  197,125,91,194                      // vcvtps2dq     %ymm2,%ymm8
13763  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
13764  .byte  196,130,53,146,20,129               // vgatherdps    %ymm9,(%r9,%ymm8,4),%ymm2
13765  .byte  72,173                              // lods          %ds:(%rsi),%rax
13766  .byte  255,224                             // jmpq          *%rax
13767
13768HIDDEN _sk_table_a_hsw
13769.globl _sk_table_a_hsw
13770FUNCTION(_sk_table_a_hsw)
13771_sk_table_a_hsw:
13772  .byte  72,173                              // lods          %ds:(%rsi),%rax
13773  .byte  76,139,8                            // mov           (%rax),%r9
13774  .byte  139,64,8                            // mov           0x8(%rax),%eax
13775  .byte  255,200                             // dec           %eax
13776  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
13777  .byte  196,66,125,88,192                   // vpbroadcastd  %xmm8,%ymm8
13778  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
13779  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
13780  .byte  197,125,91,195                      // vcvtps2dq     %ymm3,%ymm8
13781  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
13782  .byte  196,130,53,146,28,129               // vgatherdps    %ymm9,(%r9,%ymm8,4),%ymm3
13783  .byte  72,173                              // lods          %ds:(%rsi),%rax
13784  .byte  255,224                             // jmpq          *%rax
13785
13786HIDDEN _sk_parametric_r_hsw
13787.globl _sk_parametric_r_hsw
13788FUNCTION(_sk_parametric_r_hsw)
13789_sk_parametric_r_hsw:
13790  .byte  72,173                              // lods          %ds:(%rsi),%rax
13791  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
13792  .byte  196,65,124,194,192,2                // vcmpleps      %ymm8,%ymm0,%ymm8
13793  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
13794  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
13795  .byte  196,66,125,168,202                  // vfmadd213ps   %ymm10,%ymm0,%ymm9
13796  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
13797  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
13798  .byte  196,66,125,168,211                  // vfmadd213ps   %ymm11,%ymm0,%ymm10
13799  .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
13800  .byte  196,65,124,91,218                   // vcvtdq2ps     %ymm10,%ymm11
13801  .byte  196,98,125,24,37,252,50,0,0         // vbroadcastss  0x32fc(%rip),%ymm12        # 59a0 <_sk_callback_hsw+0x2bc>
13802  .byte  196,98,125,24,45,247,50,0,0         // vbroadcastss  0x32f7(%rip),%ymm13        # 59a4 <_sk_callback_hsw+0x2c0>
13803  .byte  196,65,44,84,213                    // vandps        %ymm13,%ymm10,%ymm10
13804  .byte  196,98,125,24,45,237,50,0,0         // vbroadcastss  0x32ed(%rip),%ymm13        # 59a8 <_sk_callback_hsw+0x2c4>
13805  .byte  196,65,44,86,213                    // vorps         %ymm13,%ymm10,%ymm10
13806  .byte  196,98,125,24,45,227,50,0,0         // vbroadcastss  0x32e3(%rip),%ymm13        # 59ac <_sk_callback_hsw+0x2c8>
13807  .byte  196,66,37,184,236                   // vfmadd231ps   %ymm12,%ymm11,%ymm13
13808  .byte  196,98,125,24,29,217,50,0,0         // vbroadcastss  0x32d9(%rip),%ymm11        # 59b0 <_sk_callback_hsw+0x2cc>
13809  .byte  196,66,45,172,221                   // vfnmadd213ps  %ymm13,%ymm10,%ymm11
13810  .byte  196,98,125,24,37,207,50,0,0         // vbroadcastss  0x32cf(%rip),%ymm12        # 59b4 <_sk_callback_hsw+0x2d0>
13811  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
13812  .byte  196,98,125,24,37,197,50,0,0         // vbroadcastss  0x32c5(%rip),%ymm12        # 59b8 <_sk_callback_hsw+0x2d4>
13813  .byte  196,65,28,94,210                    // vdivps        %ymm10,%ymm12,%ymm10
13814  .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%ymm10
13815  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
13816  .byte  196,99,125,8,208,1                  // vroundps      $0x1,%ymm0,%ymm10
13817  .byte  196,65,124,92,210                   // vsubps        %ymm10,%ymm0,%ymm10
13818  .byte  196,98,125,24,29,166,50,0,0         // vbroadcastss  0x32a6(%rip),%ymm11        # 59bc <_sk_callback_hsw+0x2d8>
13819  .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
13820  .byte  196,98,125,24,29,156,50,0,0         // vbroadcastss  0x329c(%rip),%ymm11        # 59c0 <_sk_callback_hsw+0x2dc>
13821  .byte  196,98,45,172,216                   // vfnmadd213ps  %ymm0,%ymm10,%ymm11
13822  .byte  196,226,125,24,5,146,50,0,0         // vbroadcastss  0x3292(%rip),%ymm0        # 59c4 <_sk_callback_hsw+0x2e0>
13823  .byte  196,193,124,92,194                  // vsubps        %ymm10,%ymm0,%ymm0
13824  .byte  196,98,125,24,21,136,50,0,0         // vbroadcastss  0x3288(%rip),%ymm10        # 59c8 <_sk_callback_hsw+0x2e4>
13825  .byte  197,172,94,192                      // vdivps        %ymm0,%ymm10,%ymm0
13826  .byte  197,164,88,192                      // vaddps        %ymm0,%ymm11,%ymm0
13827  .byte  196,98,125,24,21,123,50,0,0         // vbroadcastss  0x327b(%rip),%ymm10        # 59cc <_sk_callback_hsw+0x2e8>
13828  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
13829  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
13830  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
13831  .byte  196,193,124,88,194                  // vaddps        %ymm10,%ymm0,%ymm0
13832  .byte  196,195,125,74,193,128              // vblendvps     %ymm8,%ymm9,%ymm0,%ymm0
13833  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
13834  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
13835  .byte  196,98,125,24,5,82,50,0,0           // vbroadcastss  0x3252(%rip),%ymm8        # 59d0 <_sk_callback_hsw+0x2ec>
13836  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
13837  .byte  72,173                              // lods          %ds:(%rsi),%rax
13838  .byte  255,224                             // jmpq          *%rax
13839
13840HIDDEN _sk_parametric_g_hsw
13841.globl _sk_parametric_g_hsw
13842FUNCTION(_sk_parametric_g_hsw)
13843_sk_parametric_g_hsw:
13844  .byte  72,173                              // lods          %ds:(%rsi),%rax
13845  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
13846  .byte  196,65,116,194,192,2                // vcmpleps      %ymm8,%ymm1,%ymm8
13847  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
13848  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
13849  .byte  196,66,117,168,202                  // vfmadd213ps   %ymm10,%ymm1,%ymm9
13850  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
13851  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
13852  .byte  196,66,117,168,211                  // vfmadd213ps   %ymm11,%ymm1,%ymm10
13853  .byte  196,226,125,24,8                    // vbroadcastss  (%rax),%ymm1
13854  .byte  196,65,124,91,218                   // vcvtdq2ps     %ymm10,%ymm11
13855  .byte  196,98,125,24,37,10,50,0,0          // vbroadcastss  0x320a(%rip),%ymm12        # 59d4 <_sk_callback_hsw+0x2f0>
13856  .byte  196,98,125,24,45,5,50,0,0           // vbroadcastss  0x3205(%rip),%ymm13        # 59d8 <_sk_callback_hsw+0x2f4>
13857  .byte  196,65,44,84,213                    // vandps        %ymm13,%ymm10,%ymm10
13858  .byte  196,98,125,24,45,251,49,0,0         // vbroadcastss  0x31fb(%rip),%ymm13        # 59dc <_sk_callback_hsw+0x2f8>
13859  .byte  196,65,44,86,213                    // vorps         %ymm13,%ymm10,%ymm10
13860  .byte  196,98,125,24,45,241,49,0,0         // vbroadcastss  0x31f1(%rip),%ymm13        # 59e0 <_sk_callback_hsw+0x2fc>
13861  .byte  196,66,37,184,236                   // vfmadd231ps   %ymm12,%ymm11,%ymm13
13862  .byte  196,98,125,24,29,231,49,0,0         // vbroadcastss  0x31e7(%rip),%ymm11        # 59e4 <_sk_callback_hsw+0x300>
13863  .byte  196,66,45,172,221                   // vfnmadd213ps  %ymm13,%ymm10,%ymm11
13864  .byte  196,98,125,24,37,221,49,0,0         // vbroadcastss  0x31dd(%rip),%ymm12        # 59e8 <_sk_callback_hsw+0x304>
13865  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
13866  .byte  196,98,125,24,37,211,49,0,0         // vbroadcastss  0x31d3(%rip),%ymm12        # 59ec <_sk_callback_hsw+0x308>
13867  .byte  196,65,28,94,210                    // vdivps        %ymm10,%ymm12,%ymm10
13868  .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%ymm10
13869  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
13870  .byte  196,99,125,8,209,1                  // vroundps      $0x1,%ymm1,%ymm10
13871  .byte  196,65,116,92,210                   // vsubps        %ymm10,%ymm1,%ymm10
13872  .byte  196,98,125,24,29,180,49,0,0         // vbroadcastss  0x31b4(%rip),%ymm11        # 59f0 <_sk_callback_hsw+0x30c>
13873  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
13874  .byte  196,98,125,24,29,170,49,0,0         // vbroadcastss  0x31aa(%rip),%ymm11        # 59f4 <_sk_callback_hsw+0x310>
13875  .byte  196,98,45,172,217                   // vfnmadd213ps  %ymm1,%ymm10,%ymm11
13876  .byte  196,226,125,24,13,160,49,0,0        // vbroadcastss  0x31a0(%rip),%ymm1        # 59f8 <_sk_callback_hsw+0x314>
13877  .byte  196,193,116,92,202                  // vsubps        %ymm10,%ymm1,%ymm1
13878  .byte  196,98,125,24,21,150,49,0,0         // vbroadcastss  0x3196(%rip),%ymm10        # 59fc <_sk_callback_hsw+0x318>
13879  .byte  197,172,94,201                      // vdivps        %ymm1,%ymm10,%ymm1
13880  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
13881  .byte  196,98,125,24,21,137,49,0,0         // vbroadcastss  0x3189(%rip),%ymm10        # 5a00 <_sk_callback_hsw+0x31c>
13882  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
13883  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
13884  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
13885  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
13886  .byte  196,195,117,74,201,128              // vblendvps     %ymm8,%ymm9,%ymm1,%ymm1
13887  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
13888  .byte  196,193,116,95,200                  // vmaxps        %ymm8,%ymm1,%ymm1
13889  .byte  196,98,125,24,5,96,49,0,0           // vbroadcastss  0x3160(%rip),%ymm8        # 5a04 <_sk_callback_hsw+0x320>
13890  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
13891  .byte  72,173                              // lods          %ds:(%rsi),%rax
13892  .byte  255,224                             // jmpq          *%rax
13893
13894HIDDEN _sk_parametric_b_hsw
13895.globl _sk_parametric_b_hsw
13896FUNCTION(_sk_parametric_b_hsw)
13897_sk_parametric_b_hsw:
13898  .byte  72,173                              // lods          %ds:(%rsi),%rax
13899  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
13900  .byte  196,65,108,194,192,2                // vcmpleps      %ymm8,%ymm2,%ymm8
13901  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
13902  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
13903  .byte  196,66,109,168,202                  // vfmadd213ps   %ymm10,%ymm2,%ymm9
13904  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
13905  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
13906  .byte  196,66,109,168,211                  // vfmadd213ps   %ymm11,%ymm2,%ymm10
13907  .byte  196,226,125,24,16                   // vbroadcastss  (%rax),%ymm2
13908  .byte  196,65,124,91,218                   // vcvtdq2ps     %ymm10,%ymm11
13909  .byte  196,98,125,24,37,24,49,0,0          // vbroadcastss  0x3118(%rip),%ymm12        # 5a08 <_sk_callback_hsw+0x324>
13910  .byte  196,98,125,24,45,19,49,0,0          // vbroadcastss  0x3113(%rip),%ymm13        # 5a0c <_sk_callback_hsw+0x328>
13911  .byte  196,65,44,84,213                    // vandps        %ymm13,%ymm10,%ymm10
13912  .byte  196,98,125,24,45,9,49,0,0           // vbroadcastss  0x3109(%rip),%ymm13        # 5a10 <_sk_callback_hsw+0x32c>
13913  .byte  196,65,44,86,213                    // vorps         %ymm13,%ymm10,%ymm10
13914  .byte  196,98,125,24,45,255,48,0,0         // vbroadcastss  0x30ff(%rip),%ymm13        # 5a14 <_sk_callback_hsw+0x330>
13915  .byte  196,66,37,184,236                   // vfmadd231ps   %ymm12,%ymm11,%ymm13
13916  .byte  196,98,125,24,29,245,48,0,0         // vbroadcastss  0x30f5(%rip),%ymm11        # 5a18 <_sk_callback_hsw+0x334>
13917  .byte  196,66,45,172,221                   // vfnmadd213ps  %ymm13,%ymm10,%ymm11
13918  .byte  196,98,125,24,37,235,48,0,0         // vbroadcastss  0x30eb(%rip),%ymm12        # 5a1c <_sk_callback_hsw+0x338>
13919  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
13920  .byte  196,98,125,24,37,225,48,0,0         // vbroadcastss  0x30e1(%rip),%ymm12        # 5a20 <_sk_callback_hsw+0x33c>
13921  .byte  196,65,28,94,210                    // vdivps        %ymm10,%ymm12,%ymm10
13922  .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%ymm10
13923  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
13924  .byte  196,99,125,8,210,1                  // vroundps      $0x1,%ymm2,%ymm10
13925  .byte  196,65,108,92,210                   // vsubps        %ymm10,%ymm2,%ymm10
13926  .byte  196,98,125,24,29,194,48,0,0         // vbroadcastss  0x30c2(%rip),%ymm11        # 5a24 <_sk_callback_hsw+0x340>
13927  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
13928  .byte  196,98,125,24,29,184,48,0,0         // vbroadcastss  0x30b8(%rip),%ymm11        # 5a28 <_sk_callback_hsw+0x344>
13929  .byte  196,98,45,172,218                   // vfnmadd213ps  %ymm2,%ymm10,%ymm11
13930  .byte  196,226,125,24,21,174,48,0,0        // vbroadcastss  0x30ae(%rip),%ymm2        # 5a2c <_sk_callback_hsw+0x348>
13931  .byte  196,193,108,92,210                  // vsubps        %ymm10,%ymm2,%ymm2
13932  .byte  196,98,125,24,21,164,48,0,0         // vbroadcastss  0x30a4(%rip),%ymm10        # 5a30 <_sk_callback_hsw+0x34c>
13933  .byte  197,172,94,210                      // vdivps        %ymm2,%ymm10,%ymm2
13934  .byte  197,164,88,210                      // vaddps        %ymm2,%ymm11,%ymm2
13935  .byte  196,98,125,24,21,151,48,0,0         // vbroadcastss  0x3097(%rip),%ymm10        # 5a34 <_sk_callback_hsw+0x350>
13936  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
13937  .byte  197,253,91,210                      // vcvtps2dq     %ymm2,%ymm2
13938  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
13939  .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
13940  .byte  196,195,109,74,209,128              // vblendvps     %ymm8,%ymm9,%ymm2,%ymm2
13941  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
13942  .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
13943  .byte  196,98,125,24,5,110,48,0,0          // vbroadcastss  0x306e(%rip),%ymm8        # 5a38 <_sk_callback_hsw+0x354>
13944  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
13945  .byte  72,173                              // lods          %ds:(%rsi),%rax
13946  .byte  255,224                             // jmpq          *%rax
13947
13948HIDDEN _sk_parametric_a_hsw
13949.globl _sk_parametric_a_hsw
13950FUNCTION(_sk_parametric_a_hsw)
13951_sk_parametric_a_hsw:
13952  .byte  72,173                              // lods          %ds:(%rsi),%rax
13953  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
13954  .byte  196,65,100,194,192,2                // vcmpleps      %ymm8,%ymm3,%ymm8
13955  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
13956  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
13957  .byte  196,66,101,168,202                  // vfmadd213ps   %ymm10,%ymm3,%ymm9
13958  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
13959  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
13960  .byte  196,66,101,168,211                  // vfmadd213ps   %ymm11,%ymm3,%ymm10
13961  .byte  196,226,125,24,24                   // vbroadcastss  (%rax),%ymm3
13962  .byte  196,65,124,91,218                   // vcvtdq2ps     %ymm10,%ymm11
13963  .byte  196,98,125,24,37,38,48,0,0          // vbroadcastss  0x3026(%rip),%ymm12        # 5a3c <_sk_callback_hsw+0x358>
13964  .byte  196,98,125,24,45,33,48,0,0          // vbroadcastss  0x3021(%rip),%ymm13        # 5a40 <_sk_callback_hsw+0x35c>
13965  .byte  196,65,44,84,213                    // vandps        %ymm13,%ymm10,%ymm10
13966  .byte  196,98,125,24,45,23,48,0,0          // vbroadcastss  0x3017(%rip),%ymm13        # 5a44 <_sk_callback_hsw+0x360>
13967  .byte  196,65,44,86,213                    // vorps         %ymm13,%ymm10,%ymm10
13968  .byte  196,98,125,24,45,13,48,0,0          // vbroadcastss  0x300d(%rip),%ymm13        # 5a48 <_sk_callback_hsw+0x364>
13969  .byte  196,66,37,184,236                   // vfmadd231ps   %ymm12,%ymm11,%ymm13
13970  .byte  196,98,125,24,29,3,48,0,0           // vbroadcastss  0x3003(%rip),%ymm11        # 5a4c <_sk_callback_hsw+0x368>
13971  .byte  196,66,45,172,221                   // vfnmadd213ps  %ymm13,%ymm10,%ymm11
13972  .byte  196,98,125,24,37,249,47,0,0         // vbroadcastss  0x2ff9(%rip),%ymm12        # 5a50 <_sk_callback_hsw+0x36c>
13973  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
13974  .byte  196,98,125,24,37,239,47,0,0         // vbroadcastss  0x2fef(%rip),%ymm12        # 5a54 <_sk_callback_hsw+0x370>
13975  .byte  196,65,28,94,210                    // vdivps        %ymm10,%ymm12,%ymm10
13976  .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%ymm10
13977  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
13978  .byte  196,99,125,8,211,1                  // vroundps      $0x1,%ymm3,%ymm10
13979  .byte  196,65,100,92,210                   // vsubps        %ymm10,%ymm3,%ymm10
13980  .byte  196,98,125,24,29,208,47,0,0         // vbroadcastss  0x2fd0(%rip),%ymm11        # 5a58 <_sk_callback_hsw+0x374>
13981  .byte  196,193,100,88,219                  // vaddps        %ymm11,%ymm3,%ymm3
13982  .byte  196,98,125,24,29,198,47,0,0         // vbroadcastss  0x2fc6(%rip),%ymm11        # 5a5c <_sk_callback_hsw+0x378>
13983  .byte  196,98,45,172,219                   // vfnmadd213ps  %ymm3,%ymm10,%ymm11
13984  .byte  196,226,125,24,29,188,47,0,0        // vbroadcastss  0x2fbc(%rip),%ymm3        # 5a60 <_sk_callback_hsw+0x37c>
13985  .byte  196,193,100,92,218                  // vsubps        %ymm10,%ymm3,%ymm3
13986  .byte  196,98,125,24,21,178,47,0,0         // vbroadcastss  0x2fb2(%rip),%ymm10        # 5a64 <_sk_callback_hsw+0x380>
13987  .byte  197,172,94,219                      // vdivps        %ymm3,%ymm10,%ymm3
13988  .byte  197,164,88,219                      // vaddps        %ymm3,%ymm11,%ymm3
13989  .byte  196,98,125,24,21,165,47,0,0         // vbroadcastss  0x2fa5(%rip),%ymm10        # 5a68 <_sk_callback_hsw+0x384>
13990  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
13991  .byte  197,253,91,219                      // vcvtps2dq     %ymm3,%ymm3
13992  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
13993  .byte  196,193,100,88,218                  // vaddps        %ymm10,%ymm3,%ymm3
13994  .byte  196,195,101,74,217,128              // vblendvps     %ymm8,%ymm9,%ymm3,%ymm3
13995  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
13996  .byte  196,193,100,95,216                  // vmaxps        %ymm8,%ymm3,%ymm3
13997  .byte  196,98,125,24,5,124,47,0,0          // vbroadcastss  0x2f7c(%rip),%ymm8        # 5a6c <_sk_callback_hsw+0x388>
13998  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
13999  .byte  72,173                              // lods          %ds:(%rsi),%rax
14000  .byte  255,224                             // jmpq          *%rax
14001
14002HIDDEN _sk_lab_to_xyz_hsw
14003.globl _sk_lab_to_xyz_hsw
14004FUNCTION(_sk_lab_to_xyz_hsw)
14005_sk_lab_to_xyz_hsw:
14006  .byte  196,98,125,24,5,110,47,0,0          // vbroadcastss  0x2f6e(%rip),%ymm8        # 5a70 <_sk_callback_hsw+0x38c>
14007  .byte  196,98,125,24,13,105,47,0,0         // vbroadcastss  0x2f69(%rip),%ymm9        # 5a74 <_sk_callback_hsw+0x390>
14008  .byte  196,98,125,24,21,100,47,0,0         // vbroadcastss  0x2f64(%rip),%ymm10        # 5a78 <_sk_callback_hsw+0x394>
14009  .byte  196,194,53,168,202                  // vfmadd213ps   %ymm10,%ymm9,%ymm1
14010  .byte  196,194,53,168,210                  // vfmadd213ps   %ymm10,%ymm9,%ymm2
14011  .byte  196,98,125,24,13,85,47,0,0          // vbroadcastss  0x2f55(%rip),%ymm9        # 5a7c <_sk_callback_hsw+0x398>
14012  .byte  196,66,125,184,200                  // vfmadd231ps   %ymm8,%ymm0,%ymm9
14013  .byte  196,226,125,24,5,75,47,0,0          // vbroadcastss  0x2f4b(%rip),%ymm0        # 5a80 <_sk_callback_hsw+0x39c>
14014  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
14015  .byte  196,98,125,24,5,66,47,0,0           // vbroadcastss  0x2f42(%rip),%ymm8        # 5a84 <_sk_callback_hsw+0x3a0>
14016  .byte  196,98,117,168,192                  // vfmadd213ps   %ymm0,%ymm1,%ymm8
14017  .byte  196,98,125,24,13,56,47,0,0          // vbroadcastss  0x2f38(%rip),%ymm9        # 5a88 <_sk_callback_hsw+0x3a4>
14018  .byte  196,98,109,172,200                  // vfnmadd213ps  %ymm0,%ymm2,%ymm9
14019  .byte  196,193,60,89,200                   // vmulps        %ymm8,%ymm8,%ymm1
14020  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
14021  .byte  196,226,125,24,21,37,47,0,0         // vbroadcastss  0x2f25(%rip),%ymm2        # 5a8c <_sk_callback_hsw+0x3a8>
14022  .byte  197,108,194,209,1                   // vcmpltps      %ymm1,%ymm2,%ymm10
14023  .byte  196,98,125,24,29,27,47,0,0          // vbroadcastss  0x2f1b(%rip),%ymm11        # 5a90 <_sk_callback_hsw+0x3ac>
14024  .byte  196,65,60,88,195                    // vaddps        %ymm11,%ymm8,%ymm8
14025  .byte  196,98,125,24,37,17,47,0,0          // vbroadcastss  0x2f11(%rip),%ymm12        # 5a94 <_sk_callback_hsw+0x3b0>
14026  .byte  196,65,60,89,196                    // vmulps        %ymm12,%ymm8,%ymm8
14027  .byte  196,99,61,74,193,160                // vblendvps     %ymm10,%ymm1,%ymm8,%ymm8
14028  .byte  197,252,89,200                      // vmulps        %ymm0,%ymm0,%ymm1
14029  .byte  197,252,89,201                      // vmulps        %ymm1,%ymm0,%ymm1
14030  .byte  197,108,194,209,1                   // vcmpltps      %ymm1,%ymm2,%ymm10
14031  .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
14032  .byte  196,193,124,89,196                  // vmulps        %ymm12,%ymm0,%ymm0
14033  .byte  196,227,125,74,201,160              // vblendvps     %ymm10,%ymm1,%ymm0,%ymm1
14034  .byte  196,193,52,89,193                   // vmulps        %ymm9,%ymm9,%ymm0
14035  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
14036  .byte  197,236,194,208,1                   // vcmpltps      %ymm0,%ymm2,%ymm2
14037  .byte  196,65,52,88,203                    // vaddps        %ymm11,%ymm9,%ymm9
14038  .byte  196,65,52,89,204                    // vmulps        %ymm12,%ymm9,%ymm9
14039  .byte  196,227,53,74,208,32                // vblendvps     %ymm2,%ymm0,%ymm9,%ymm2
14040  .byte  196,226,125,24,5,198,46,0,0         // vbroadcastss  0x2ec6(%rip),%ymm0        # 5a98 <_sk_callback_hsw+0x3b4>
14041  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
14042  .byte  196,98,125,24,5,189,46,0,0          // vbroadcastss  0x2ebd(%rip),%ymm8        # 5a9c <_sk_callback_hsw+0x3b8>
14043  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
14044  .byte  72,173                              // lods          %ds:(%rsi),%rax
14045  .byte  255,224                             // jmpq          *%rax
14046
14047HIDDEN _sk_load_a8_hsw
14048.globl _sk_load_a8_hsw
14049FUNCTION(_sk_load_a8_hsw)
14050_sk_load_a8_hsw:
14051  .byte  72,173                              // lods          %ds:(%rsi),%rax
14052  .byte  76,139,24                           // mov           (%rax),%r11
14053  .byte  77,133,192                          // test          %r8,%r8
14054  .byte  117,52                              // jne           2c26 <_sk_load_a8_hsw+0x3e>
14055  .byte  196,194,121,48,4,19                 // vpmovzxbw     (%r11,%rdx,1),%xmm0
14056  .byte  197,249,219,5,32,52,0,0             // vpand         0x3420(%rip),%xmm0,%xmm0        # 6020 <_sk_callback_hsw+0x93c>
14057  .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
14058  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
14059  .byte  196,226,125,24,13,142,46,0,0        // vbroadcastss  0x2e8e(%rip),%ymm1        # 5aa0 <_sk_callback_hsw+0x3bc>
14060  .byte  197,252,89,217                      // vmulps        %ymm1,%ymm0,%ymm3
14061  .byte  72,173                              // lods          %ds:(%rsi),%rax
14062  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
14063  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
14064  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
14065  .byte  255,224                             // jmpq          *%rax
14066  .byte  69,137,193                          // mov           %r8d,%r9d
14067  .byte  65,128,225,7                        // and           $0x7,%r9b
14068  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
14069  .byte  65,254,201                          // dec           %r9b
14070  .byte  65,128,249,6                        // cmp           $0x6,%r9b
14071  .byte  119,190                             // ja            2bf8 <_sk_load_a8_hsw+0x10>
14072  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
14073  .byte  76,141,21,119,0,0,0                 // lea           0x77(%rip),%r10        # 2cbc <_sk_load_a8_hsw+0xd4>
14074  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
14075  .byte  76,1,208                            // add           %r10,%rax
14076  .byte  255,224                             // jmpq          *%rax
14077  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
14078  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
14079  .byte  235,159                             // jmp           2bf8 <_sk_load_a8_hsw+0x10>
14080  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
14081  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
14082  .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
14083  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
14084  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
14085  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
14086  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
14087  .byte  233,119,255,255,255                 // jmpq          2bf8 <_sk_load_a8_hsw+0x10>
14088  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
14089  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
14090  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
14091  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
14092  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
14093  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
14094  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
14095  .byte  196,193,121,110,12,19               // vmovd         (%r11,%rdx,1),%xmm1
14096  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
14097  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
14098  .byte  233,60,255,255,255                  // jmpq          2bf8 <_sk_load_a8_hsw+0x10>
14099  .byte  146                                 // xchg          %eax,%edx
14100  .byte  255                                 // (bad)
14101  .byte  255                                 // (bad)
14102  .byte  255,172,255,255,255,157,255         // ljmp          *-0x620001(%rdi,%rdi,8)
14103  .byte  255                                 // (bad)
14104  .byte  255                                 // (bad)
14105  .byte  234                                 // (bad)
14106  .byte  255                                 // (bad)
14107  .byte  255                                 // (bad)
14108  .byte  255                                 // (bad)
14109  .byte  223,255                             // (bad)
14110  .byte  255                                 // (bad)
14111  .byte  255,212                             // callq         *%rsp
14112  .byte  255                                 // (bad)
14113  .byte  255                                 // (bad)
14114  .byte  255,197                             // inc           %ebp
14115  .byte  255                                 // (bad)
14116  .byte  255                                 // (bad)
14117  .byte  255                                 // .byte         0xff
14118
14119HIDDEN _sk_load_a8_dst_hsw
14120.globl _sk_load_a8_dst_hsw
14121FUNCTION(_sk_load_a8_dst_hsw)
14122_sk_load_a8_dst_hsw:
14123  .byte  72,173                              // lods          %ds:(%rsi),%rax
14124  .byte  76,139,24                           // mov           (%rax),%r11
14125  .byte  77,133,192                          // test          %r8,%r8
14126  .byte  117,52                              // jne           2d16 <_sk_load_a8_dst_hsw+0x3e>
14127  .byte  196,194,121,48,36,19                // vpmovzxbw     (%r11,%rdx,1),%xmm4
14128  .byte  197,217,219,37,64,51,0,0            // vpand         0x3340(%rip),%xmm4,%xmm4        # 6030 <_sk_callback_hsw+0x94c>
14129  .byte  196,226,125,51,228                  // vpmovzxwd     %xmm4,%ymm4
14130  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
14131  .byte  196,226,125,24,45,162,45,0,0        // vbroadcastss  0x2da2(%rip),%ymm5        # 5aa4 <_sk_callback_hsw+0x3c0>
14132  .byte  197,220,89,253                      // vmulps        %ymm5,%ymm4,%ymm7
14133  .byte  72,173                              // lods          %ds:(%rsi),%rax
14134  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
14135  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
14136  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
14137  .byte  255,224                             // jmpq          *%rax
14138  .byte  69,137,193                          // mov           %r8d,%r9d
14139  .byte  65,128,225,7                        // and           $0x7,%r9b
14140  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
14141  .byte  65,254,201                          // dec           %r9b
14142  .byte  65,128,249,6                        // cmp           $0x6,%r9b
14143  .byte  119,190                             // ja            2ce8 <_sk_load_a8_dst_hsw+0x10>
14144  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
14145  .byte  76,141,21,119,0,0,0                 // lea           0x77(%rip),%r10        # 2dac <_sk_load_a8_dst_hsw+0xd4>
14146  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
14147  .byte  76,1,208                            // add           %r10,%rax
14148  .byte  255,224                             // jmpq          *%rax
14149  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
14150  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
14151  .byte  235,159                             // jmp           2ce8 <_sk_load_a8_dst_hsw+0x10>
14152  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
14153  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
14154  .byte  197,217,196,224,2                   // vpinsrw       $0x2,%eax,%xmm4,%xmm4
14155  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
14156  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
14157  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
14158  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
14159  .byte  233,119,255,255,255                 // jmpq          2ce8 <_sk_load_a8_dst_hsw+0x10>
14160  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
14161  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
14162  .byte  197,217,196,224,6                   // vpinsrw       $0x6,%eax,%xmm4,%xmm4
14163  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
14164  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
14165  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
14166  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
14167  .byte  196,193,121,110,44,19               // vmovd         (%r11,%rdx,1),%xmm5
14168  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
14169  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
14170  .byte  233,60,255,255,255                  // jmpq          2ce8 <_sk_load_a8_dst_hsw+0x10>
14171  .byte  146                                 // xchg          %eax,%edx
14172  .byte  255                                 // (bad)
14173  .byte  255                                 // (bad)
14174  .byte  255,172,255,255,255,157,255         // ljmp          *-0x620001(%rdi,%rdi,8)
14175  .byte  255                                 // (bad)
14176  .byte  255                                 // (bad)
14177  .byte  234                                 // (bad)
14178  .byte  255                                 // (bad)
14179  .byte  255                                 // (bad)
14180  .byte  255                                 // (bad)
14181  .byte  223,255                             // (bad)
14182  .byte  255                                 // (bad)
14183  .byte  255,212                             // callq         *%rsp
14184  .byte  255                                 // (bad)
14185  .byte  255                                 // (bad)
14186  .byte  255,197                             // inc           %ebp
14187  .byte  255                                 // (bad)
14188  .byte  255                                 // (bad)
14189  .byte  255                                 // .byte         0xff
14190
14191HIDDEN _sk_gather_a8_hsw
14192.globl _sk_gather_a8_hsw
14193FUNCTION(_sk_gather_a8_hsw)
14194_sk_gather_a8_hsw:
14195  .byte  72,173                              // lods          %ds:(%rsi),%rax
14196  .byte  76,139,8                            // mov           (%rax),%r9
14197  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
14198  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
14199  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
14200  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
14201  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
14202  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
14203  .byte  68,137,208                          // mov           %r10d,%eax
14204  .byte  196,195,121,32,12,1,0               // vpinsrb       $0x0,(%r9,%rax,1),%xmm0,%xmm1
14205  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
14206  .byte  73,193,234,32                       // shr           $0x20,%r10
14207  .byte  196,131,113,32,12,17,1              // vpinsrb       $0x1,(%r9,%r10,1),%xmm1,%xmm1
14208  .byte  65,137,194                          // mov           %eax,%r10d
14209  .byte  72,193,232,32                       // shr           $0x20,%rax
14210  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
14211  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
14212  .byte  196,195,113,32,202,2                // vpinsrb       $0x2,%r10d,%xmm1,%xmm1
14213  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
14214  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
14215  .byte  196,227,113,32,200,3                // vpinsrb       $0x3,%eax,%xmm1,%xmm1
14216  .byte  68,137,208                          // mov           %r10d,%eax
14217  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
14218  .byte  196,227,113,32,200,4                // vpinsrb       $0x4,%eax,%xmm1,%xmm1
14219  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
14220  .byte  73,193,234,32                       // shr           $0x20,%r10
14221  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
14222  .byte  196,227,113,32,192,5                // vpinsrb       $0x5,%eax,%xmm1,%xmm0
14223  .byte  68,137,216                          // mov           %r11d,%eax
14224  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
14225  .byte  196,227,121,32,192,6                // vpinsrb       $0x6,%eax,%xmm0,%xmm0
14226  .byte  73,193,235,32                       // shr           $0x20,%r11
14227  .byte  67,15,182,4,25                      // movzbl        (%r9,%r11,1),%eax
14228  .byte  196,227,121,32,192,7                // vpinsrb       $0x7,%eax,%xmm0,%xmm0
14229  .byte  196,226,125,49,192                  // vpmovzxbd     %xmm0,%ymm0
14230  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
14231  .byte  196,226,125,24,13,42,44,0,0         // vbroadcastss  0x2c2a(%rip),%ymm1        # 5aa8 <_sk_callback_hsw+0x3c4>
14232  .byte  197,252,89,217                      // vmulps        %ymm1,%ymm0,%ymm3
14233  .byte  72,173                              // lods          %ds:(%rsi),%rax
14234  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
14235  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
14236  .byte  197,237,239,210                     // vpxor         %ymm2,%ymm2,%ymm2
14237  .byte  255,224                             // jmpq          *%rax
14238
14239HIDDEN _sk_store_a8_hsw
14240.globl _sk_store_a8_hsw
14241FUNCTION(_sk_store_a8_hsw)
14242_sk_store_a8_hsw:
14243  .byte  72,173                              // lods          %ds:(%rsi),%rax
14244  .byte  76,139,24                           // mov           (%rax),%r11
14245  .byte  196,98,125,24,5,12,44,0,0           // vbroadcastss  0x2c0c(%rip),%ymm8        # 5aac <_sk_callback_hsw+0x3c8>
14246  .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%ymm8
14247  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
14248  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
14249  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
14250  .byte  196,65,57,103,192                   // vpackuswb     %xmm8,%xmm8,%xmm8
14251  .byte  77,133,192                          // test          %r8,%r8
14252  .byte  117,10                              // jne           2ec9 <_sk_store_a8_hsw+0x37>
14253  .byte  196,65,123,17,4,19                  // vmovsd        %xmm8,(%r11,%rdx,1)
14254  .byte  72,173                              // lods          %ds:(%rsi),%rax
14255  .byte  255,224                             // jmpq          *%rax
14256  .byte  69,137,193                          // mov           %r8d,%r9d
14257  .byte  65,128,225,7                        // and           $0x7,%r9b
14258  .byte  65,254,201                          // dec           %r9b
14259  .byte  65,128,249,6                        // cmp           $0x6,%r9b
14260  .byte  119,236                             // ja            2ec5 <_sk_store_a8_hsw+0x33>
14261  .byte  196,66,121,48,192                   // vpmovzxbw     %xmm8,%xmm8
14262  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
14263  .byte  76,141,21,87,0,0,0                  // lea           0x57(%rip),%r10        # 2f40 <_sk_store_a8_hsw+0xae>
14264  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
14265  .byte  76,1,208                            // add           %r10,%rax
14266  .byte  255,224                             // jmpq          *%rax
14267  .byte  196,67,121,20,4,19,0                // vpextrb       $0x0,%xmm8,(%r11,%rdx,1)
14268  .byte  235,202                             // jmp           2ec5 <_sk_store_a8_hsw+0x33>
14269  .byte  196,67,121,20,68,19,2,4             // vpextrb       $0x4,%xmm8,0x2(%r11,%rdx,1)
14270  .byte  196,98,57,0,5,52,49,0,0             // vpshufb       0x3134(%rip),%xmm8,%xmm8        # 6040 <_sk_callback_hsw+0x95c>
14271  .byte  196,67,121,21,4,19,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,1)
14272  .byte  235,176                             // jmp           2ec5 <_sk_store_a8_hsw+0x33>
14273  .byte  196,67,121,20,68,19,6,12            // vpextrb       $0xc,%xmm8,0x6(%r11,%rdx,1)
14274  .byte  196,67,121,20,68,19,5,10            // vpextrb       $0xa,%xmm8,0x5(%r11,%rdx,1)
14275  .byte  196,67,121,20,68,19,4,8             // vpextrb       $0x8,%xmm8,0x4(%r11,%rdx,1)
14276  .byte  196,98,57,0,5,26,49,0,0             // vpshufb       0x311a(%rip),%xmm8,%xmm8        # 6050 <_sk_callback_hsw+0x96c>
14277  .byte  196,65,121,126,4,19                 // vmovd         %xmm8,(%r11,%rdx,1)
14278  .byte  235,135                             // jmp           2ec5 <_sk_store_a8_hsw+0x33>
14279  .byte  102,144                             // xchg          %ax,%ax
14280  .byte  178,255                             // mov           $0xff,%dl
14281  .byte  255                                 // (bad)
14282  .byte  255,195                             // inc           %ebx
14283  .byte  255                                 // (bad)
14284  .byte  255                                 // (bad)
14285  .byte  255                                 // (bad)
14286  .byte  187,255,255,255,237                 // mov           $0xedffffff,%ebx
14287  .byte  255                                 // (bad)
14288  .byte  255                                 // (bad)
14289  .byte  255,229                             // jmpq          *%rbp
14290  .byte  255                                 // (bad)
14291  .byte  255                                 // (bad)
14292  .byte  255                                 // (bad)
14293  .byte  221,255                             // (bad)
14294  .byte  255                                 // (bad)
14295  .byte  255,213                             // callq         *%rbp
14296  .byte  255                                 // (bad)
14297  .byte  255                                 // (bad)
14298  .byte  255                                 // .byte         0xff
14299
14300HIDDEN _sk_load_g8_hsw
14301.globl _sk_load_g8_hsw
14302FUNCTION(_sk_load_g8_hsw)
14303_sk_load_g8_hsw:
14304  .byte  72,173                              // lods          %ds:(%rsi),%rax
14305  .byte  76,139,24                           // mov           (%rax),%r11
14306  .byte  77,133,192                          // test          %r8,%r8
14307  .byte  117,57                              // jne           2f9f <_sk_load_g8_hsw+0x43>
14308  .byte  196,194,121,48,4,19                 // vpmovzxbw     (%r11,%rdx,1),%xmm0
14309  .byte  197,249,219,5,236,48,0,0            // vpand         0x30ec(%rip),%xmm0,%xmm0        # 6060 <_sk_callback_hsw+0x97c>
14310  .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
14311  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
14312  .byte  196,226,125,24,13,42,43,0,0         // vbroadcastss  0x2b2a(%rip),%ymm1        # 5ab0 <_sk_callback_hsw+0x3cc>
14313  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
14314  .byte  72,173                              // lods          %ds:(%rsi),%rax
14315  .byte  196,226,125,24,29,31,43,0,0         // vbroadcastss  0x2b1f(%rip),%ymm3        # 5ab4 <_sk_callback_hsw+0x3d0>
14316  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
14317  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
14318  .byte  255,224                             // jmpq          *%rax
14319  .byte  69,137,193                          // mov           %r8d,%r9d
14320  .byte  65,128,225,7                        // and           $0x7,%r9b
14321  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
14322  .byte  65,254,201                          // dec           %r9b
14323  .byte  65,128,249,6                        // cmp           $0x6,%r9b
14324  .byte  119,185                             // ja            2f6c <_sk_load_g8_hsw+0x10>
14325  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
14326  .byte  76,141,21,122,0,0,0                 // lea           0x7a(%rip),%r10        # 3038 <_sk_load_g8_hsw+0xdc>
14327  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
14328  .byte  76,1,208                            // add           %r10,%rax
14329  .byte  255,224                             // jmpq          *%rax
14330  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
14331  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
14332  .byte  235,154                             // jmp           2f6c <_sk_load_g8_hsw+0x10>
14333  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
14334  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
14335  .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
14336  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
14337  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
14338  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
14339  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
14340  .byte  233,114,255,255,255                 // jmpq          2f6c <_sk_load_g8_hsw+0x10>
14341  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
14342  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
14343  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
14344  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
14345  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
14346  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
14347  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
14348  .byte  196,193,121,110,12,19               // vmovd         (%r11,%rdx,1),%xmm1
14349  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
14350  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
14351  .byte  233,55,255,255,255                  // jmpq          2f6c <_sk_load_g8_hsw+0x10>
14352  .byte  15,31,0                             // nopl          (%rax)
14353  .byte  143                                 // (bad)
14354  .byte  255                                 // (bad)
14355  .byte  255                                 // (bad)
14356  .byte  255,169,255,255,255,154             // ljmp          *-0x65000001(%rcx)
14357  .byte  255                                 // (bad)
14358  .byte  255                                 // (bad)
14359  .byte  255,231                             // jmpq          *%rdi
14360  .byte  255                                 // (bad)
14361  .byte  255                                 // (bad)
14362  .byte  255                                 // (bad)
14363  .byte  220,255                             // fdivr         %st,%st(7)
14364  .byte  255                                 // (bad)
14365  .byte  255,209                             // callq         *%rcx
14366  .byte  255                                 // (bad)
14367  .byte  255                                 // (bad)
14368  .byte  255,194                             // inc           %edx
14369  .byte  255                                 // (bad)
14370  .byte  255                                 // (bad)
14371  .byte  255                                 // .byte         0xff
14372
14373HIDDEN _sk_load_g8_dst_hsw
14374.globl _sk_load_g8_dst_hsw
14375FUNCTION(_sk_load_g8_dst_hsw)
14376_sk_load_g8_dst_hsw:
14377  .byte  72,173                              // lods          %ds:(%rsi),%rax
14378  .byte  76,139,24                           // mov           (%rax),%r11
14379  .byte  77,133,192                          // test          %r8,%r8
14380  .byte  117,57                              // jne           3097 <_sk_load_g8_dst_hsw+0x43>
14381  .byte  196,194,121,48,36,19                // vpmovzxbw     (%r11,%rdx,1),%xmm4
14382  .byte  197,217,219,37,4,48,0,0             // vpand         0x3004(%rip),%xmm4,%xmm4        # 6070 <_sk_callback_hsw+0x98c>
14383  .byte  196,226,125,51,228                  // vpmovzxwd     %xmm4,%ymm4
14384  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
14385  .byte  196,226,125,24,45,58,42,0,0         // vbroadcastss  0x2a3a(%rip),%ymm5        # 5ab8 <_sk_callback_hsw+0x3d4>
14386  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
14387  .byte  72,173                              // lods          %ds:(%rsi),%rax
14388  .byte  196,226,125,24,61,47,42,0,0         // vbroadcastss  0x2a2f(%rip),%ymm7        # 5abc <_sk_callback_hsw+0x3d8>
14389  .byte  197,252,40,236                      // vmovaps       %ymm4,%ymm5
14390  .byte  197,252,40,244                      // vmovaps       %ymm4,%ymm6
14391  .byte  255,224                             // jmpq          *%rax
14392  .byte  69,137,193                          // mov           %r8d,%r9d
14393  .byte  65,128,225,7                        // and           $0x7,%r9b
14394  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
14395  .byte  65,254,201                          // dec           %r9b
14396  .byte  65,128,249,6                        // cmp           $0x6,%r9b
14397  .byte  119,185                             // ja            3064 <_sk_load_g8_dst_hsw+0x10>
14398  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
14399  .byte  76,141,21,122,0,0,0                 // lea           0x7a(%rip),%r10        # 3130 <_sk_load_g8_dst_hsw+0xdc>
14400  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
14401  .byte  76,1,208                            // add           %r10,%rax
14402  .byte  255,224                             // jmpq          *%rax
14403  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
14404  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
14405  .byte  235,154                             // jmp           3064 <_sk_load_g8_dst_hsw+0x10>
14406  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
14407  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
14408  .byte  197,217,196,224,2                   // vpinsrw       $0x2,%eax,%xmm4,%xmm4
14409  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
14410  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
14411  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
14412  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
14413  .byte  233,114,255,255,255                 // jmpq          3064 <_sk_load_g8_dst_hsw+0x10>
14414  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
14415  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
14416  .byte  197,217,196,224,6                   // vpinsrw       $0x6,%eax,%xmm4,%xmm4
14417  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
14418  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
14419  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
14420  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
14421  .byte  196,193,121,110,44,19               // vmovd         (%r11,%rdx,1),%xmm5
14422  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
14423  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
14424  .byte  233,55,255,255,255                  // jmpq          3064 <_sk_load_g8_dst_hsw+0x10>
14425  .byte  15,31,0                             // nopl          (%rax)
14426  .byte  143                                 // (bad)
14427  .byte  255                                 // (bad)
14428  .byte  255                                 // (bad)
14429  .byte  255,169,255,255,255,154             // ljmp          *-0x65000001(%rcx)
14430  .byte  255                                 // (bad)
14431  .byte  255                                 // (bad)
14432  .byte  255,231                             // jmpq          *%rdi
14433  .byte  255                                 // (bad)
14434  .byte  255                                 // (bad)
14435  .byte  255                                 // (bad)
14436  .byte  220,255                             // fdivr         %st,%st(7)
14437  .byte  255                                 // (bad)
14438  .byte  255,209                             // callq         *%rcx
14439  .byte  255                                 // (bad)
14440  .byte  255                                 // (bad)
14441  .byte  255,194                             // inc           %edx
14442  .byte  255                                 // (bad)
14443  .byte  255                                 // (bad)
14444  .byte  255                                 // .byte         0xff
14445
14446HIDDEN _sk_gather_g8_hsw
14447.globl _sk_gather_g8_hsw
14448FUNCTION(_sk_gather_g8_hsw)
14449_sk_gather_g8_hsw:
14450  .byte  72,173                              // lods          %ds:(%rsi),%rax
14451  .byte  76,139,8                            // mov           (%rax),%r9
14452  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
14453  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
14454  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
14455  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
14456  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
14457  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
14458  .byte  68,137,208                          // mov           %r10d,%eax
14459  .byte  196,195,121,32,12,1,0               // vpinsrb       $0x0,(%r9,%rax,1),%xmm0,%xmm1
14460  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
14461  .byte  73,193,234,32                       // shr           $0x20,%r10
14462  .byte  196,131,113,32,12,17,1              // vpinsrb       $0x1,(%r9,%r10,1),%xmm1,%xmm1
14463  .byte  65,137,194                          // mov           %eax,%r10d
14464  .byte  72,193,232,32                       // shr           $0x20,%rax
14465  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
14466  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
14467  .byte  196,195,113,32,202,2                // vpinsrb       $0x2,%r10d,%xmm1,%xmm1
14468  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
14469  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
14470  .byte  196,227,113,32,200,3                // vpinsrb       $0x3,%eax,%xmm1,%xmm1
14471  .byte  68,137,208                          // mov           %r10d,%eax
14472  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
14473  .byte  196,227,113,32,200,4                // vpinsrb       $0x4,%eax,%xmm1,%xmm1
14474  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
14475  .byte  73,193,234,32                       // shr           $0x20,%r10
14476  .byte  67,15,182,4,17                      // movzbl        (%r9,%r10,1),%eax
14477  .byte  196,227,113,32,192,5                // vpinsrb       $0x5,%eax,%xmm1,%xmm0
14478  .byte  68,137,216                          // mov           %r11d,%eax
14479  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
14480  .byte  196,227,121,32,192,6                // vpinsrb       $0x6,%eax,%xmm0,%xmm0
14481  .byte  73,193,235,32                       // shr           $0x20,%r11
14482  .byte  67,15,182,4,25                      // movzbl        (%r9,%r11,1),%eax
14483  .byte  196,227,121,32,192,7                // vpinsrb       $0x7,%eax,%xmm0,%xmm0
14484  .byte  196,226,125,49,192                  // vpmovzxbd     %xmm0,%ymm0
14485  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
14486  .byte  196,226,125,24,13,190,40,0,0        // vbroadcastss  0x28be(%rip),%ymm1        # 5ac0 <_sk_callback_hsw+0x3dc>
14487  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
14488  .byte  72,173                              // lods          %ds:(%rsi),%rax
14489  .byte  196,226,125,24,29,179,40,0,0        // vbroadcastss  0x28b3(%rip),%ymm3        # 5ac4 <_sk_callback_hsw+0x3e0>
14490  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
14491  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
14492  .byte  255,224                             // jmpq          *%rax
14493
14494HIDDEN _sk_load_565_hsw
14495.globl _sk_load_565_hsw
14496FUNCTION(_sk_load_565_hsw)
14497_sk_load_565_hsw:
14498  .byte  72,173                              // lods          %ds:(%rsi),%rax
14499  .byte  76,139,24                           // mov           (%rax),%r11
14500  .byte  77,133,192                          // test          %r8,%r8
14501  .byte  117,114                             // jne           3297 <_sk_load_565_hsw+0x7c>
14502  .byte  196,193,122,111,4,83                // vmovdqu       (%r11,%rdx,2),%xmm0
14503  .byte  196,226,125,51,208                  // vpmovzxwd     %xmm0,%ymm2
14504  .byte  196,226,125,88,5,143,40,0,0         // vpbroadcastd  0x288f(%rip),%ymm0        # 5ac8 <_sk_callback_hsw+0x3e4>
14505  .byte  197,237,219,192                     // vpand         %ymm0,%ymm2,%ymm0
14506  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
14507  .byte  196,226,125,24,13,130,40,0,0        // vbroadcastss  0x2882(%rip),%ymm1        # 5acc <_sk_callback_hsw+0x3e8>
14508  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
14509  .byte  196,226,125,88,13,121,40,0,0        // vpbroadcastd  0x2879(%rip),%ymm1        # 5ad0 <_sk_callback_hsw+0x3ec>
14510  .byte  197,237,219,201                     // vpand         %ymm1,%ymm2,%ymm1
14511  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
14512  .byte  196,226,125,24,29,108,40,0,0        // vbroadcastss  0x286c(%rip),%ymm3        # 5ad4 <_sk_callback_hsw+0x3f0>
14513  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
14514  .byte  196,226,125,88,29,99,40,0,0         // vpbroadcastd  0x2863(%rip),%ymm3        # 5ad8 <_sk_callback_hsw+0x3f4>
14515  .byte  197,237,219,211                     // vpand         %ymm3,%ymm2,%ymm2
14516  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
14517  .byte  196,226,125,24,29,86,40,0,0         // vbroadcastss  0x2856(%rip),%ymm3        # 5adc <_sk_callback_hsw+0x3f8>
14518  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
14519  .byte  72,173                              // lods          %ds:(%rsi),%rax
14520  .byte  196,226,125,24,29,75,40,0,0         // vbroadcastss  0x284b(%rip),%ymm3        # 5ae0 <_sk_callback_hsw+0x3fc>
14521  .byte  255,224                             // jmpq          *%rax
14522  .byte  69,137,193                          // mov           %r8d,%r9d
14523  .byte  65,128,225,7                        // and           $0x7,%r9b
14524  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
14525  .byte  65,254,201                          // dec           %r9b
14526  .byte  65,128,249,6                        // cmp           $0x6,%r9b
14527  .byte  119,128                             // ja            322b <_sk_load_565_hsw+0x10>
14528  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
14529  .byte  76,141,21,98,0,0,0                  // lea           0x62(%rip),%r10        # 3318 <_sk_load_565_hsw+0xfd>
14530  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
14531  .byte  76,1,208                            // add           %r10,%rax
14532  .byte  255,224                             // jmpq          *%rax
14533  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
14534  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
14535  .byte  233,94,255,255,255                  // jmpq          322b <_sk_load_565_hsw+0x10>
14536  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
14537  .byte  196,193,121,196,68,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0
14538  .byte  196,193,121,110,12,83               // vmovd         (%r11,%rdx,2),%xmm1
14539  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
14540  .byte  233,65,255,255,255                  // jmpq          322b <_sk_load_565_hsw+0x10>
14541  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
14542  .byte  196,193,121,196,68,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0
14543  .byte  196,193,121,196,68,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0
14544  .byte  196,193,121,196,68,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0
14545  .byte  196,193,122,126,12,83               // vmovq         (%r11,%rdx,2),%xmm1
14546  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
14547  .byte  233,20,255,255,255                  // jmpq          322b <_sk_load_565_hsw+0x10>
14548  .byte  144                                 // nop
14549  .byte  167                                 // cmpsl         %es:(%rdi),%ds:(%rsi)
14550  .byte  255                                 // (bad)
14551  .byte  255                                 // (bad)
14552  .byte  255,193                             // inc           %ecx
14553  .byte  255                                 // (bad)
14554  .byte  255                                 // (bad)
14555  .byte  255,181,255,255,255,238             // pushq         -0x11000001(%rbp)
14556  .byte  255                                 // (bad)
14557  .byte  255                                 // (bad)
14558  .byte  255,230                             // jmpq          *%rsi
14559  .byte  255                                 // (bad)
14560  .byte  255                                 // (bad)
14561  .byte  255                                 // (bad)
14562  .byte  222,255                             // fdivrp        %st,%st(7)
14563  .byte  255                                 // (bad)
14564  .byte  255,210                             // callq         *%rdx
14565  .byte  255                                 // (bad)
14566  .byte  255                                 // (bad)
14567  .byte  255                                 // .byte         0xff
14568
14569HIDDEN _sk_load_565_dst_hsw
14570.globl _sk_load_565_dst_hsw
14571FUNCTION(_sk_load_565_dst_hsw)
14572_sk_load_565_dst_hsw:
14573  .byte  72,173                              // lods          %ds:(%rsi),%rax
14574  .byte  76,139,24                           // mov           (%rax),%r11
14575  .byte  77,133,192                          // test          %r8,%r8
14576  .byte  117,114                             // jne           33b0 <_sk_load_565_dst_hsw+0x7c>
14577  .byte  196,193,122,111,36,83               // vmovdqu       (%r11,%rdx,2),%xmm4
14578  .byte  196,226,125,51,244                  // vpmovzxwd     %xmm4,%ymm6
14579  .byte  196,226,125,88,37,146,39,0,0        // vpbroadcastd  0x2792(%rip),%ymm4        # 5ae4 <_sk_callback_hsw+0x400>
14580  .byte  197,205,219,228                     // vpand         %ymm4,%ymm6,%ymm4
14581  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
14582  .byte  196,226,125,24,45,133,39,0,0        // vbroadcastss  0x2785(%rip),%ymm5        # 5ae8 <_sk_callback_hsw+0x404>
14583  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
14584  .byte  196,226,125,88,45,124,39,0,0        // vpbroadcastd  0x277c(%rip),%ymm5        # 5aec <_sk_callback_hsw+0x408>
14585  .byte  197,205,219,237                     // vpand         %ymm5,%ymm6,%ymm5
14586  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
14587  .byte  196,226,125,24,61,111,39,0,0        // vbroadcastss  0x276f(%rip),%ymm7        # 5af0 <_sk_callback_hsw+0x40c>
14588  .byte  197,212,89,239                      // vmulps        %ymm7,%ymm5,%ymm5
14589  .byte  196,226,125,88,61,102,39,0,0        // vpbroadcastd  0x2766(%rip),%ymm7        # 5af4 <_sk_callback_hsw+0x410>
14590  .byte  197,205,219,247                     // vpand         %ymm7,%ymm6,%ymm6
14591  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
14592  .byte  196,226,125,24,61,89,39,0,0         // vbroadcastss  0x2759(%rip),%ymm7        # 5af8 <_sk_callback_hsw+0x414>
14593  .byte  197,204,89,247                      // vmulps        %ymm7,%ymm6,%ymm6
14594  .byte  72,173                              // lods          %ds:(%rsi),%rax
14595  .byte  196,226,125,24,61,78,39,0,0         // vbroadcastss  0x274e(%rip),%ymm7        # 5afc <_sk_callback_hsw+0x418>
14596  .byte  255,224                             // jmpq          *%rax
14597  .byte  69,137,193                          // mov           %r8d,%r9d
14598  .byte  65,128,225,7                        // and           $0x7,%r9b
14599  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
14600  .byte  65,254,201                          // dec           %r9b
14601  .byte  65,128,249,6                        // cmp           $0x6,%r9b
14602  .byte  119,128                             // ja            3344 <_sk_load_565_dst_hsw+0x10>
14603  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
14604  .byte  76,141,21,97,0,0,0                  // lea           0x61(%rip),%r10        # 3430 <_sk_load_565_dst_hsw+0xfc>
14605  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
14606  .byte  76,1,208                            // add           %r10,%rax
14607  .byte  255,224                             // jmpq          *%rax
14608  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
14609  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
14610  .byte  233,94,255,255,255                  // jmpq          3344 <_sk_load_565_dst_hsw+0x10>
14611  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
14612  .byte  196,193,89,196,100,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4
14613  .byte  196,193,121,110,44,83               // vmovd         (%r11,%rdx,2),%xmm5
14614  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
14615  .byte  233,65,255,255,255                  // jmpq          3344 <_sk_load_565_dst_hsw+0x10>
14616  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
14617  .byte  196,193,89,196,100,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4
14618  .byte  196,193,89,196,100,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4
14619  .byte  196,193,89,196,100,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4
14620  .byte  196,193,122,126,44,83               // vmovq         (%r11,%rdx,2),%xmm5
14621  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
14622  .byte  233,20,255,255,255                  // jmpq          3344 <_sk_load_565_dst_hsw+0x10>
14623  .byte  168,255                             // test          $0xff,%al
14624  .byte  255                                 // (bad)
14625  .byte  255,194                             // inc           %edx
14626  .byte  255                                 // (bad)
14627  .byte  255                                 // (bad)
14628  .byte  255,182,255,255,255,239             // pushq         -0x10000001(%rsi)
14629  .byte  255                                 // (bad)
14630  .byte  255                                 // (bad)
14631  .byte  255,231                             // jmpq          *%rdi
14632  .byte  255                                 // (bad)
14633  .byte  255                                 // (bad)
14634  .byte  255                                 // (bad)
14635  .byte  223,255                             // (bad)
14636  .byte  255                                 // (bad)
14637  .byte  255,211                             // callq         *%rbx
14638  .byte  255                                 // (bad)
14639  .byte  255                                 // (bad)
14640  .byte  255                                 // .byte         0xff
14641
14642HIDDEN _sk_gather_565_hsw
14643.globl _sk_gather_565_hsw
14644FUNCTION(_sk_gather_565_hsw)
14645_sk_gather_565_hsw:
14646  .byte  72,173                              // lods          %ds:(%rsi),%rax
14647  .byte  76,139,8                            // mov           (%rax),%r9
14648  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
14649  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
14650  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
14651  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
14652  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
14653  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
14654  .byte  68,137,208                          // mov           %r10d,%eax
14655  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
14656  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
14657  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
14658  .byte  73,193,234,32                       // shr           $0x20,%r10
14659  .byte  67,15,183,4,81                      // movzwl        (%r9,%r10,2),%eax
14660  .byte  197,241,196,200,1                   // vpinsrw       $0x1,%eax,%xmm1,%xmm1
14661  .byte  68,137,216                          // mov           %r11d,%eax
14662  .byte  73,193,235,32                       // shr           $0x20,%r11
14663  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
14664  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
14665  .byte  197,241,196,200,2                   // vpinsrw       $0x2,%eax,%xmm1,%xmm1
14666  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
14667  .byte  67,15,183,4,89                      // movzwl        (%r9,%r11,2),%eax
14668  .byte  197,241,196,200,3                   // vpinsrw       $0x3,%eax,%xmm1,%xmm1
14669  .byte  68,137,208                          // mov           %r10d,%eax
14670  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
14671  .byte  197,241,196,200,4                   // vpinsrw       $0x4,%eax,%xmm1,%xmm1
14672  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
14673  .byte  73,193,234,32                       // shr           $0x20,%r10
14674  .byte  67,15,183,4,81                      // movzwl        (%r9,%r10,2),%eax
14675  .byte  197,241,196,192,5                   // vpinsrw       $0x5,%eax,%xmm1,%xmm0
14676  .byte  68,137,216                          // mov           %r11d,%eax
14677  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
14678  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
14679  .byte  73,193,235,32                       // shr           $0x20,%r11
14680  .byte  67,15,183,4,89                      // movzwl        (%r9,%r11,2),%eax
14681  .byte  197,249,196,192,7                   // vpinsrw       $0x7,%eax,%xmm0,%xmm0
14682  .byte  196,226,125,51,208                  // vpmovzxwd     %xmm0,%ymm2
14683  .byte  196,226,125,88,5,3,38,0,0           // vpbroadcastd  0x2603(%rip),%ymm0        # 5b00 <_sk_callback_hsw+0x41c>
14684  .byte  197,237,219,192                     // vpand         %ymm0,%ymm2,%ymm0
14685  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
14686  .byte  196,226,125,24,13,246,37,0,0        // vbroadcastss  0x25f6(%rip),%ymm1        # 5b04 <_sk_callback_hsw+0x420>
14687  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
14688  .byte  196,226,125,88,13,237,37,0,0        // vpbroadcastd  0x25ed(%rip),%ymm1        # 5b08 <_sk_callback_hsw+0x424>
14689  .byte  197,237,219,201                     // vpand         %ymm1,%ymm2,%ymm1
14690  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
14691  .byte  196,226,125,24,29,224,37,0,0        // vbroadcastss  0x25e0(%rip),%ymm3        # 5b0c <_sk_callback_hsw+0x428>
14692  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
14693  .byte  196,226,125,88,29,215,37,0,0        // vpbroadcastd  0x25d7(%rip),%ymm3        # 5b10 <_sk_callback_hsw+0x42c>
14694  .byte  197,237,219,211                     // vpand         %ymm3,%ymm2,%ymm2
14695  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
14696  .byte  196,226,125,24,29,202,37,0,0        // vbroadcastss  0x25ca(%rip),%ymm3        # 5b14 <_sk_callback_hsw+0x430>
14697  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
14698  .byte  72,173                              // lods          %ds:(%rsi),%rax
14699  .byte  196,226,125,24,29,191,37,0,0        // vbroadcastss  0x25bf(%rip),%ymm3        # 5b18 <_sk_callback_hsw+0x434>
14700  .byte  255,224                             // jmpq          *%rax
14701
14702HIDDEN _sk_store_565_hsw
14703.globl _sk_store_565_hsw
14704FUNCTION(_sk_store_565_hsw)
14705_sk_store_565_hsw:
14706  .byte  72,173                              // lods          %ds:(%rsi),%rax
14707  .byte  76,139,24                           // mov           (%rax),%r11
14708  .byte  196,98,125,24,5,179,37,0,0          // vbroadcastss  0x25b3(%rip),%ymm8        # 5b1c <_sk_callback_hsw+0x438>
14709  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
14710  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
14711  .byte  196,193,53,114,241,11               // vpslld        $0xb,%ymm9,%ymm9
14712  .byte  196,98,125,24,21,158,37,0,0         // vbroadcastss  0x259e(%rip),%ymm10        # 5b20 <_sk_callback_hsw+0x43c>
14713  .byte  196,65,116,89,210                   // vmulps        %ymm10,%ymm1,%ymm10
14714  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
14715  .byte  196,193,45,114,242,5                // vpslld        $0x5,%ymm10,%ymm10
14716  .byte  196,65,45,235,201                   // vpor          %ymm9,%ymm10,%ymm9
14717  .byte  196,65,108,89,192                   // vmulps        %ymm8,%ymm2,%ymm8
14718  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
14719  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
14720  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
14721  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
14722  .byte  77,133,192                          // test          %r8,%r8
14723  .byte  117,10                              // jne           35c0 <_sk_store_565_hsw+0x65>
14724  .byte  196,65,122,127,4,83                 // vmovdqu       %xmm8,(%r11,%rdx,2)
14725  .byte  72,173                              // lods          %ds:(%rsi),%rax
14726  .byte  255,224                             // jmpq          *%rax
14727  .byte  69,137,193                          // mov           %r8d,%r9d
14728  .byte  65,128,225,7                        // and           $0x7,%r9b
14729  .byte  65,254,201                          // dec           %r9b
14730  .byte  65,128,249,6                        // cmp           $0x6,%r9b
14731  .byte  119,236                             // ja            35bc <_sk_store_565_hsw+0x61>
14732  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
14733  .byte  76,141,21,69,0,0,0                  // lea           0x45(%rip),%r10        # 3620 <_sk_store_565_hsw+0xc5>
14734  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
14735  .byte  76,1,208                            // add           %r10,%rax
14736  .byte  255,224                             // jmpq          *%rax
14737  .byte  196,67,121,21,4,83,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,2)
14738  .byte  235,207                             // jmp           35bc <_sk_store_565_hsw+0x61>
14739  .byte  196,67,121,21,68,83,4,2             // vpextrw       $0x2,%xmm8,0x4(%r11,%rdx,2)
14740  .byte  196,65,121,126,4,83                 // vmovd         %xmm8,(%r11,%rdx,2)
14741  .byte  235,191                             // jmp           35bc <_sk_store_565_hsw+0x61>
14742  .byte  196,67,121,21,68,83,12,6            // vpextrw       $0x6,%xmm8,0xc(%r11,%rdx,2)
14743  .byte  196,67,121,21,68,83,10,5            // vpextrw       $0x5,%xmm8,0xa(%r11,%rdx,2)
14744  .byte  196,67,121,21,68,83,8,4             // vpextrw       $0x4,%xmm8,0x8(%r11,%rdx,2)
14745  .byte  196,65,121,214,4,83                 // vmovq         %xmm8,(%r11,%rdx,2)
14746  .byte  235,159                             // jmp           35bc <_sk_store_565_hsw+0x61>
14747  .byte  15,31,0                             // nopl          (%rax)
14748  .byte  196                                 // (bad)
14749  .byte  255                                 // (bad)
14750  .byte  255                                 // (bad)
14751  .byte  255,213                             // callq         *%rbp
14752  .byte  255                                 // (bad)
14753  .byte  255                                 // (bad)
14754  .byte  255,205                             // dec           %ebp
14755  .byte  255                                 // (bad)
14756  .byte  255                                 // (bad)
14757  .byte  255,245                             // push          %rbp
14758  .byte  255                                 // (bad)
14759  .byte  255                                 // (bad)
14760  .byte  255                                 // (bad)
14761  .byte  237                                 // in            (%dx),%eax
14762  .byte  255                                 // (bad)
14763  .byte  255                                 // (bad)
14764  .byte  255,229                             // jmpq          *%rbp
14765  .byte  255                                 // (bad)
14766  .byte  255                                 // (bad)
14767  .byte  255                                 // (bad)
14768  .byte  221,255                             // (bad)
14769  .byte  255                                 // (bad)
14770  .byte  255                                 // .byte         0xff
14771
14772HIDDEN _sk_load_4444_hsw
14773.globl _sk_load_4444_hsw
14774FUNCTION(_sk_load_4444_hsw)
14775_sk_load_4444_hsw:
14776  .byte  72,173                              // lods          %ds:(%rsi),%rax
14777  .byte  76,139,24                           // mov           (%rax),%r11
14778  .byte  77,133,192                          // test          %r8,%r8
14779  .byte  15,133,138,0,0,0                    // jne           36d4 <_sk_load_4444_hsw+0x98>
14780  .byte  196,193,122,111,4,83                // vmovdqu       (%r11,%rdx,2),%xmm0
14781  .byte  196,226,125,51,216                  // vpmovzxwd     %xmm0,%ymm3
14782  .byte  196,226,125,88,5,198,36,0,0         // vpbroadcastd  0x24c6(%rip),%ymm0        # 5b24 <_sk_callback_hsw+0x440>
14783  .byte  197,229,219,192                     // vpand         %ymm0,%ymm3,%ymm0
14784  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
14785  .byte  196,226,125,24,13,185,36,0,0        // vbroadcastss  0x24b9(%rip),%ymm1        # 5b28 <_sk_callback_hsw+0x444>
14786  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
14787  .byte  196,226,125,88,13,176,36,0,0        // vpbroadcastd  0x24b0(%rip),%ymm1        # 5b2c <_sk_callback_hsw+0x448>
14788  .byte  197,229,219,201                     // vpand         %ymm1,%ymm3,%ymm1
14789  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
14790  .byte  196,226,125,24,21,163,36,0,0        // vbroadcastss  0x24a3(%rip),%ymm2        # 5b30 <_sk_callback_hsw+0x44c>
14791  .byte  197,244,89,202                      // vmulps        %ymm2,%ymm1,%ymm1
14792  .byte  196,226,125,88,21,154,36,0,0        // vpbroadcastd  0x249a(%rip),%ymm2        # 5b34 <_sk_callback_hsw+0x450>
14793  .byte  197,229,219,210                     // vpand         %ymm2,%ymm3,%ymm2
14794  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
14795  .byte  196,98,125,24,5,141,36,0,0          // vbroadcastss  0x248d(%rip),%ymm8        # 5b38 <_sk_callback_hsw+0x454>
14796  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
14797  .byte  196,98,125,88,5,131,36,0,0          // vpbroadcastd  0x2483(%rip),%ymm8        # 5b3c <_sk_callback_hsw+0x458>
14798  .byte  196,193,101,219,216                 // vpand         %ymm8,%ymm3,%ymm3
14799  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
14800  .byte  196,98,125,24,5,117,36,0,0          // vbroadcastss  0x2475(%rip),%ymm8        # 5b40 <_sk_callback_hsw+0x45c>
14801  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
14802  .byte  72,173                              // lods          %ds:(%rsi),%rax
14803  .byte  255,224                             // jmpq          *%rax
14804  .byte  69,137,193                          // mov           %r8d,%r9d
14805  .byte  65,128,225,7                        // and           $0x7,%r9b
14806  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
14807  .byte  65,254,201                          // dec           %r9b
14808  .byte  65,128,249,6                        // cmp           $0x6,%r9b
14809  .byte  15,135,100,255,255,255              // ja            3650 <_sk_load_4444_hsw+0x14>
14810  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
14811  .byte  76,141,21,97,0,0,0                  // lea           0x61(%rip),%r10        # 3758 <_sk_load_4444_hsw+0x11c>
14812  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
14813  .byte  76,1,208                            // add           %r10,%rax
14814  .byte  255,224                             // jmpq          *%rax
14815  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
14816  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
14817  .byte  233,66,255,255,255                  // jmpq          3650 <_sk_load_4444_hsw+0x14>
14818  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
14819  .byte  196,193,121,196,68,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0
14820  .byte  196,193,121,110,12,83               // vmovd         (%r11,%rdx,2),%xmm1
14821  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
14822  .byte  233,37,255,255,255                  // jmpq          3650 <_sk_load_4444_hsw+0x14>
14823  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
14824  .byte  196,193,121,196,68,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0
14825  .byte  196,193,121,196,68,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0
14826  .byte  196,193,121,196,68,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0
14827  .byte  196,193,122,126,12,83               // vmovq         (%r11,%rdx,2),%xmm1
14828  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
14829  .byte  233,248,254,255,255                 // jmpq          3650 <_sk_load_4444_hsw+0x14>
14830  .byte  168,255                             // test          $0xff,%al
14831  .byte  255                                 // (bad)
14832  .byte  255,194                             // inc           %edx
14833  .byte  255                                 // (bad)
14834  .byte  255                                 // (bad)
14835  .byte  255,182,255,255,255,239             // pushq         -0x10000001(%rsi)
14836  .byte  255                                 // (bad)
14837  .byte  255                                 // (bad)
14838  .byte  255,231                             // jmpq          *%rdi
14839  .byte  255                                 // (bad)
14840  .byte  255                                 // (bad)
14841  .byte  255                                 // (bad)
14842  .byte  223,255                             // (bad)
14843  .byte  255                                 // (bad)
14844  .byte  255,211                             // callq         *%rbx
14845  .byte  255                                 // (bad)
14846  .byte  255                                 // (bad)
14847  .byte  255                                 // .byte         0xff
14848
14849HIDDEN _sk_load_4444_dst_hsw
14850.globl _sk_load_4444_dst_hsw
14851FUNCTION(_sk_load_4444_dst_hsw)
14852_sk_load_4444_dst_hsw:
14853  .byte  72,173                              // lods          %ds:(%rsi),%rax
14854  .byte  76,139,24                           // mov           (%rax),%r11
14855  .byte  77,133,192                          // test          %r8,%r8
14856  .byte  15,133,138,0,0,0                    // jne           380c <_sk_load_4444_dst_hsw+0x98>
14857  .byte  196,193,122,111,36,83               // vmovdqu       (%r11,%rdx,2),%xmm4
14858  .byte  196,226,125,51,252                  // vpmovzxwd     %xmm4,%ymm7
14859  .byte  196,226,125,88,37,174,35,0,0        // vpbroadcastd  0x23ae(%rip),%ymm4        # 5b44 <_sk_callback_hsw+0x460>
14860  .byte  197,197,219,228                     // vpand         %ymm4,%ymm7,%ymm4
14861  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
14862  .byte  196,226,125,24,45,161,35,0,0        // vbroadcastss  0x23a1(%rip),%ymm5        # 5b48 <_sk_callback_hsw+0x464>
14863  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
14864  .byte  196,226,125,88,45,152,35,0,0        // vpbroadcastd  0x2398(%rip),%ymm5        # 5b4c <_sk_callback_hsw+0x468>
14865  .byte  197,197,219,237                     // vpand         %ymm5,%ymm7,%ymm5
14866  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
14867  .byte  196,226,125,24,53,139,35,0,0        // vbroadcastss  0x238b(%rip),%ymm6        # 5b50 <_sk_callback_hsw+0x46c>
14868  .byte  197,212,89,238                      // vmulps        %ymm6,%ymm5,%ymm5
14869  .byte  196,226,125,88,53,130,35,0,0        // vpbroadcastd  0x2382(%rip),%ymm6        # 5b54 <_sk_callback_hsw+0x470>
14870  .byte  197,197,219,246                     // vpand         %ymm6,%ymm7,%ymm6
14871  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
14872  .byte  196,98,125,24,5,117,35,0,0          // vbroadcastss  0x2375(%rip),%ymm8        # 5b58 <_sk_callback_hsw+0x474>
14873  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
14874  .byte  196,98,125,88,5,107,35,0,0          // vpbroadcastd  0x236b(%rip),%ymm8        # 5b5c <_sk_callback_hsw+0x478>
14875  .byte  196,193,69,219,248                  // vpand         %ymm8,%ymm7,%ymm7
14876  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
14877  .byte  196,98,125,24,5,93,35,0,0           // vbroadcastss  0x235d(%rip),%ymm8        # 5b60 <_sk_callback_hsw+0x47c>
14878  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
14879  .byte  72,173                              // lods          %ds:(%rsi),%rax
14880  .byte  255,224                             // jmpq          *%rax
14881  .byte  69,137,193                          // mov           %r8d,%r9d
14882  .byte  65,128,225,7                        // and           $0x7,%r9b
14883  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
14884  .byte  65,254,201                          // dec           %r9b
14885  .byte  65,128,249,6                        // cmp           $0x6,%r9b
14886  .byte  15,135,100,255,255,255              // ja            3788 <_sk_load_4444_dst_hsw+0x14>
14887  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
14888  .byte  76,141,21,97,0,0,0                  // lea           0x61(%rip),%r10        # 3890 <_sk_load_4444_dst_hsw+0x11c>
14889  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
14890  .byte  76,1,208                            // add           %r10,%rax
14891  .byte  255,224                             // jmpq          *%rax
14892  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
14893  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
14894  .byte  233,66,255,255,255                  // jmpq          3788 <_sk_load_4444_dst_hsw+0x14>
14895  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
14896  .byte  196,193,89,196,100,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4
14897  .byte  196,193,121,110,44,83               // vmovd         (%r11,%rdx,2),%xmm5
14898  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
14899  .byte  233,37,255,255,255                  // jmpq          3788 <_sk_load_4444_dst_hsw+0x14>
14900  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
14901  .byte  196,193,89,196,100,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4
14902  .byte  196,193,89,196,100,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4
14903  .byte  196,193,89,196,100,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4
14904  .byte  196,193,122,126,44,83               // vmovq         (%r11,%rdx,2),%xmm5
14905  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
14906  .byte  233,248,254,255,255                 // jmpq          3788 <_sk_load_4444_dst_hsw+0x14>
14907  .byte  168,255                             // test          $0xff,%al
14908  .byte  255                                 // (bad)
14909  .byte  255,194                             // inc           %edx
14910  .byte  255                                 // (bad)
14911  .byte  255                                 // (bad)
14912  .byte  255,182,255,255,255,239             // pushq         -0x10000001(%rsi)
14913  .byte  255                                 // (bad)
14914  .byte  255                                 // (bad)
14915  .byte  255,231                             // jmpq          *%rdi
14916  .byte  255                                 // (bad)
14917  .byte  255                                 // (bad)
14918  .byte  255                                 // (bad)
14919  .byte  223,255                             // (bad)
14920  .byte  255                                 // (bad)
14921  .byte  255,211                             // callq         *%rbx
14922  .byte  255                                 // (bad)
14923  .byte  255                                 // (bad)
14924  .byte  255                                 // .byte         0xff
14925
14926HIDDEN _sk_gather_4444_hsw
14927.globl _sk_gather_4444_hsw
14928FUNCTION(_sk_gather_4444_hsw)
14929_sk_gather_4444_hsw:
14930  .byte  72,173                              // lods          %ds:(%rsi),%rax
14931  .byte  76,139,8                            // mov           (%rax),%r9
14932  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
14933  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
14934  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
14935  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
14936  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
14937  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
14938  .byte  68,137,208                          // mov           %r10d,%eax
14939  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
14940  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
14941  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
14942  .byte  73,193,234,32                       // shr           $0x20,%r10
14943  .byte  67,15,183,4,81                      // movzwl        (%r9,%r10,2),%eax
14944  .byte  197,241,196,200,1                   // vpinsrw       $0x1,%eax,%xmm1,%xmm1
14945  .byte  68,137,216                          // mov           %r11d,%eax
14946  .byte  73,193,235,32                       // shr           $0x20,%r11
14947  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
14948  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
14949  .byte  197,241,196,200,2                   // vpinsrw       $0x2,%eax,%xmm1,%xmm1
14950  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
14951  .byte  67,15,183,4,89                      // movzwl        (%r9,%r11,2),%eax
14952  .byte  197,241,196,200,3                   // vpinsrw       $0x3,%eax,%xmm1,%xmm1
14953  .byte  68,137,208                          // mov           %r10d,%eax
14954  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
14955  .byte  197,241,196,200,4                   // vpinsrw       $0x4,%eax,%xmm1,%xmm1
14956  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
14957  .byte  73,193,234,32                       // shr           $0x20,%r10
14958  .byte  67,15,183,4,81                      // movzwl        (%r9,%r10,2),%eax
14959  .byte  197,241,196,192,5                   // vpinsrw       $0x5,%eax,%xmm1,%xmm0
14960  .byte  68,137,216                          // mov           %r11d,%eax
14961  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
14962  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
14963  .byte  73,193,235,32                       // shr           $0x20,%r11
14964  .byte  67,15,183,4,89                      // movzwl        (%r9,%r11,2),%eax
14965  .byte  197,249,196,192,7                   // vpinsrw       $0x7,%eax,%xmm0,%xmm0
14966  .byte  196,226,125,51,216                  // vpmovzxwd     %xmm0,%ymm3
14967  .byte  196,226,125,88,5,7,34,0,0           // vpbroadcastd  0x2207(%rip),%ymm0        # 5b64 <_sk_callback_hsw+0x480>
14968  .byte  197,229,219,192                     // vpand         %ymm0,%ymm3,%ymm0
14969  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
14970  .byte  196,226,125,24,13,250,33,0,0        // vbroadcastss  0x21fa(%rip),%ymm1        # 5b68 <_sk_callback_hsw+0x484>
14971  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
14972  .byte  196,226,125,88,13,241,33,0,0        // vpbroadcastd  0x21f1(%rip),%ymm1        # 5b6c <_sk_callback_hsw+0x488>
14973  .byte  197,229,219,201                     // vpand         %ymm1,%ymm3,%ymm1
14974  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
14975  .byte  196,226,125,24,21,228,33,0,0        // vbroadcastss  0x21e4(%rip),%ymm2        # 5b70 <_sk_callback_hsw+0x48c>
14976  .byte  197,244,89,202                      // vmulps        %ymm2,%ymm1,%ymm1
14977  .byte  196,226,125,88,21,219,33,0,0        // vpbroadcastd  0x21db(%rip),%ymm2        # 5b74 <_sk_callback_hsw+0x490>
14978  .byte  197,229,219,210                     // vpand         %ymm2,%ymm3,%ymm2
14979  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
14980  .byte  196,98,125,24,5,206,33,0,0          // vbroadcastss  0x21ce(%rip),%ymm8        # 5b78 <_sk_callback_hsw+0x494>
14981  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
14982  .byte  196,98,125,88,5,196,33,0,0          // vpbroadcastd  0x21c4(%rip),%ymm8        # 5b7c <_sk_callback_hsw+0x498>
14983  .byte  196,193,101,219,216                 // vpand         %ymm8,%ymm3,%ymm3
14984  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
14985  .byte  196,98,125,24,5,182,33,0,0          // vbroadcastss  0x21b6(%rip),%ymm8        # 5b80 <_sk_callback_hsw+0x49c>
14986  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
14987  .byte  72,173                              // lods          %ds:(%rsi),%rax
14988  .byte  255,224                             // jmpq          *%rax
14989
14990HIDDEN _sk_store_4444_hsw
14991.globl _sk_store_4444_hsw
14992FUNCTION(_sk_store_4444_hsw)
14993_sk_store_4444_hsw:
14994  .byte  72,173                              // lods          %ds:(%rsi),%rax
14995  .byte  76,139,24                           // mov           (%rax),%r11
14996  .byte  196,98,125,24,5,163,33,0,0          // vbroadcastss  0x21a3(%rip),%ymm8        # 5b84 <_sk_callback_hsw+0x4a0>
14997  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
14998  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
14999  .byte  196,193,53,114,241,12               // vpslld        $0xc,%ymm9,%ymm9
15000  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
15001  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
15002  .byte  196,193,45,114,242,8                // vpslld        $0x8,%ymm10,%ymm10
15003  .byte  196,65,45,235,201                   // vpor          %ymm9,%ymm10,%ymm9
15004  .byte  196,65,108,89,208                   // vmulps        %ymm8,%ymm2,%ymm10
15005  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
15006  .byte  196,193,45,114,242,4                // vpslld        $0x4,%ymm10,%ymm10
15007  .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%ymm8
15008  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
15009  .byte  196,65,45,235,192                   // vpor          %ymm8,%ymm10,%ymm8
15010  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
15011  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
15012  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
15013  .byte  77,133,192                          // test          %r8,%r8
15014  .byte  117,10                              // jne           3a44 <_sk_store_4444_hsw+0x71>
15015  .byte  196,65,122,127,4,83                 // vmovdqu       %xmm8,(%r11,%rdx,2)
15016  .byte  72,173                              // lods          %ds:(%rsi),%rax
15017  .byte  255,224                             // jmpq          *%rax
15018  .byte  69,137,193                          // mov           %r8d,%r9d
15019  .byte  65,128,225,7                        // and           $0x7,%r9b
15020  .byte  65,254,201                          // dec           %r9b
15021  .byte  65,128,249,6                        // cmp           $0x6,%r9b
15022  .byte  119,236                             // ja            3a40 <_sk_store_4444_hsw+0x6d>
15023  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
15024  .byte  76,141,21,69,0,0,0                  // lea           0x45(%rip),%r10        # 3aa4 <_sk_store_4444_hsw+0xd1>
15025  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
15026  .byte  76,1,208                            // add           %r10,%rax
15027  .byte  255,224                             // jmpq          *%rax
15028  .byte  196,67,121,21,4,83,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,2)
15029  .byte  235,207                             // jmp           3a40 <_sk_store_4444_hsw+0x6d>
15030  .byte  196,67,121,21,68,83,4,2             // vpextrw       $0x2,%xmm8,0x4(%r11,%rdx,2)
15031  .byte  196,65,121,126,4,83                 // vmovd         %xmm8,(%r11,%rdx,2)
15032  .byte  235,191                             // jmp           3a40 <_sk_store_4444_hsw+0x6d>
15033  .byte  196,67,121,21,68,83,12,6            // vpextrw       $0x6,%xmm8,0xc(%r11,%rdx,2)
15034  .byte  196,67,121,21,68,83,10,5            // vpextrw       $0x5,%xmm8,0xa(%r11,%rdx,2)
15035  .byte  196,67,121,21,68,83,8,4             // vpextrw       $0x4,%xmm8,0x8(%r11,%rdx,2)
15036  .byte  196,65,121,214,4,83                 // vmovq         %xmm8,(%r11,%rdx,2)
15037  .byte  235,159                             // jmp           3a40 <_sk_store_4444_hsw+0x6d>
15038  .byte  15,31,0                             // nopl          (%rax)
15039  .byte  196                                 // (bad)
15040  .byte  255                                 // (bad)
15041  .byte  255                                 // (bad)
15042  .byte  255,213                             // callq         *%rbp
15043  .byte  255                                 // (bad)
15044  .byte  255                                 // (bad)
15045  .byte  255,205                             // dec           %ebp
15046  .byte  255                                 // (bad)
15047  .byte  255                                 // (bad)
15048  .byte  255,245                             // push          %rbp
15049  .byte  255                                 // (bad)
15050  .byte  255                                 // (bad)
15051  .byte  255                                 // (bad)
15052  .byte  237                                 // in            (%dx),%eax
15053  .byte  255                                 // (bad)
15054  .byte  255                                 // (bad)
15055  .byte  255,229                             // jmpq          *%rbp
15056  .byte  255                                 // (bad)
15057  .byte  255                                 // (bad)
15058  .byte  255                                 // (bad)
15059  .byte  221,255                             // (bad)
15060  .byte  255                                 // (bad)
15061  .byte  255                                 // .byte         0xff
15062
15063HIDDEN _sk_load_8888_hsw
15064.globl _sk_load_8888_hsw
15065FUNCTION(_sk_load_8888_hsw)
15066_sk_load_8888_hsw:
15067  .byte  73,137,201                          // mov           %rcx,%r9
15068  .byte  72,173                              // lods          %ds:(%rsi),%rax
15069  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
15070  .byte  76,3,16                             // add           (%rax),%r10
15071  .byte  77,133,192                          // test          %r8,%r8
15072  .byte  117,88                              // jne           3b2d <_sk_load_8888_hsw+0x6d>
15073  .byte  196,193,124,16,26                   // vmovups       (%r10),%ymm3
15074  .byte  197,228,84,5,190,34,0,0             // vandps        0x22be(%rip),%ymm3,%ymm0        # 5da0 <_sk_callback_hsw+0x6bc>
15075  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
15076  .byte  196,98,125,24,5,153,32,0,0          // vbroadcastss  0x2099(%rip),%ymm8        # 5b88 <_sk_callback_hsw+0x4a4>
15077  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
15078  .byte  196,226,101,0,13,195,34,0,0         // vpshufb       0x22c3(%rip),%ymm3,%ymm1        # 5dc0 <_sk_callback_hsw+0x6dc>
15079  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
15080  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
15081  .byte  196,226,101,0,21,209,34,0,0         // vpshufb       0x22d1(%rip),%ymm3,%ymm2        # 5de0 <_sk_callback_hsw+0x6fc>
15082  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
15083  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
15084  .byte  197,229,114,211,24                  // vpsrld        $0x18,%ymm3,%ymm3
15085  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
15086  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
15087  .byte  72,173                              // lods          %ds:(%rsi),%rax
15088  .byte  76,137,201                          // mov           %r9,%rcx
15089  .byte  255,224                             // jmpq          *%rax
15090  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
15091  .byte  68,41,193                           // sub           %r8d,%ecx
15092  .byte  192,225,3                           // shl           $0x3,%cl
15093  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
15094  .byte  72,211,232                          // shr           %cl,%rax
15095  .byte  196,225,249,110,192                 // vmovq         %rax,%xmm0
15096  .byte  196,226,125,33,192                  // vpmovsxbd     %xmm0,%ymm0
15097  .byte  196,194,125,44,26                   // vmaskmovps    (%r10),%ymm0,%ymm3
15098  .byte  235,135                             // jmp           3ada <_sk_load_8888_hsw+0x1a>
15099
15100HIDDEN _sk_load_8888_dst_hsw
15101.globl _sk_load_8888_dst_hsw
15102FUNCTION(_sk_load_8888_dst_hsw)
15103_sk_load_8888_dst_hsw:
15104  .byte  73,137,201                          // mov           %rcx,%r9
15105  .byte  72,173                              // lods          %ds:(%rsi),%rax
15106  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
15107  .byte  76,3,16                             // add           (%rax),%r10
15108  .byte  77,133,192                          // test          %r8,%r8
15109  .byte  117,88                              // jne           3bc0 <_sk_load_8888_dst_hsw+0x6d>
15110  .byte  196,193,124,16,58                   // vmovups       (%r10),%ymm7
15111  .byte  197,196,84,37,139,34,0,0            // vandps        0x228b(%rip),%ymm7,%ymm4        # 5e00 <_sk_callback_hsw+0x71c>
15112  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
15113  .byte  196,98,125,24,5,10,32,0,0           // vbroadcastss  0x200a(%rip),%ymm8        # 5b8c <_sk_callback_hsw+0x4a8>
15114  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
15115  .byte  196,226,69,0,45,144,34,0,0          // vpshufb       0x2290(%rip),%ymm7,%ymm5        # 5e20 <_sk_callback_hsw+0x73c>
15116  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
15117  .byte  196,193,84,89,232                   // vmulps        %ymm8,%ymm5,%ymm5
15118  .byte  196,226,69,0,53,158,34,0,0          // vpshufb       0x229e(%rip),%ymm7,%ymm6        # 5e40 <_sk_callback_hsw+0x75c>
15119  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
15120  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
15121  .byte  197,197,114,215,24                  // vpsrld        $0x18,%ymm7,%ymm7
15122  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
15123  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
15124  .byte  72,173                              // lods          %ds:(%rsi),%rax
15125  .byte  76,137,201                          // mov           %r9,%rcx
15126  .byte  255,224                             // jmpq          *%rax
15127  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
15128  .byte  68,41,193                           // sub           %r8d,%ecx
15129  .byte  192,225,3                           // shl           $0x3,%cl
15130  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
15131  .byte  72,211,232                          // shr           %cl,%rax
15132  .byte  196,225,249,110,224                 // vmovq         %rax,%xmm4
15133  .byte  196,226,125,33,228                  // vpmovsxbd     %xmm4,%ymm4
15134  .byte  196,194,93,44,58                    // vmaskmovps    (%r10),%ymm4,%ymm7
15135  .byte  235,135                             // jmp           3b6d <_sk_load_8888_dst_hsw+0x1a>
15136
15137HIDDEN _sk_gather_8888_hsw
15138.globl _sk_gather_8888_hsw
15139FUNCTION(_sk_gather_8888_hsw)
15140_sk_gather_8888_hsw:
15141  .byte  72,173                              // lods          %ds:(%rsi),%rax
15142  .byte  76,139,8                            // mov           (%rax),%r9
15143  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
15144  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
15145  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
15146  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
15147  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
15148  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
15149  .byte  196,194,117,144,28,129              // vpgatherdd    %ymm1,(%r9,%ymm0,4),%ymm3
15150  .byte  197,229,219,5,76,34,0,0             // vpand         0x224c(%rip),%ymm3,%ymm0        # 5e60 <_sk_callback_hsw+0x77c>
15151  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
15152  .byte  196,98,125,24,5,111,31,0,0          // vbroadcastss  0x1f6f(%rip),%ymm8        # 5b90 <_sk_callback_hsw+0x4ac>
15153  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
15154  .byte  196,226,101,0,13,81,34,0,0          // vpshufb       0x2251(%rip),%ymm3,%ymm1        # 5e80 <_sk_callback_hsw+0x79c>
15155  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
15156  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
15157  .byte  196,226,101,0,21,95,34,0,0          // vpshufb       0x225f(%rip),%ymm3,%ymm2        # 5ea0 <_sk_callback_hsw+0x7bc>
15158  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
15159  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
15160  .byte  197,229,114,211,24                  // vpsrld        $0x18,%ymm3,%ymm3
15161  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
15162  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
15163  .byte  72,173                              // lods          %ds:(%rsi),%rax
15164  .byte  255,224                             // jmpq          *%rax
15165
15166HIDDEN _sk_store_8888_hsw
15167.globl _sk_store_8888_hsw
15168FUNCTION(_sk_store_8888_hsw)
15169_sk_store_8888_hsw:
15170  .byte  73,137,201                          // mov           %rcx,%r9
15171  .byte  72,173                              // lods          %ds:(%rsi),%rax
15172  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
15173  .byte  76,3,16                             // add           (%rax),%r10
15174  .byte  196,98,125,24,5,31,31,0,0           // vbroadcastss  0x1f1f(%rip),%ymm8        # 5b94 <_sk_callback_hsw+0x4b0>
15175  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
15176  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
15177  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
15178  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
15179  .byte  196,193,45,114,242,8                // vpslld        $0x8,%ymm10,%ymm10
15180  .byte  196,65,45,235,201                   // vpor          %ymm9,%ymm10,%ymm9
15181  .byte  196,65,108,89,208                   // vmulps        %ymm8,%ymm2,%ymm10
15182  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
15183  .byte  196,193,45,114,242,16               // vpslld        $0x10,%ymm10,%ymm10
15184  .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%ymm8
15185  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
15186  .byte  196,193,61,114,240,24               // vpslld        $0x18,%ymm8,%ymm8
15187  .byte  196,65,45,235,192                   // vpor          %ymm8,%ymm10,%ymm8
15188  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
15189  .byte  77,133,192                          // test          %r8,%r8
15190  .byte  117,12                              // jne           3ccf <_sk_store_8888_hsw+0x73>
15191  .byte  196,65,124,17,2                     // vmovups       %ymm8,(%r10)
15192  .byte  72,173                              // lods          %ds:(%rsi),%rax
15193  .byte  76,137,201                          // mov           %r9,%rcx
15194  .byte  255,224                             // jmpq          *%rax
15195  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
15196  .byte  68,41,193                           // sub           %r8d,%ecx
15197  .byte  192,225,3                           // shl           $0x3,%cl
15198  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
15199  .byte  72,211,232                          // shr           %cl,%rax
15200  .byte  196,97,249,110,200                  // vmovq         %rax,%xmm9
15201  .byte  196,66,125,33,201                   // vpmovsxbd     %xmm9,%ymm9
15202  .byte  196,66,53,46,2                      // vmaskmovps    %ymm8,%ymm9,(%r10)
15203  .byte  235,211                             // jmp           3cc8 <_sk_store_8888_hsw+0x6c>
15204
15205HIDDEN _sk_store_8888_2d_hsw
15206.globl _sk_store_8888_2d_hsw
15207FUNCTION(_sk_store_8888_2d_hsw)
15208_sk_store_8888_2d_hsw:
15209  .byte  73,137,201                          // mov           %rcx,%r9
15210  .byte  72,173                              // lods          %ds:(%rsi),%rax
15211  .byte  72,99,72,8                          // movslq        0x8(%rax),%rcx
15212  .byte  73,15,175,201                       // imul          %r9,%rcx
15213  .byte  72,193,225,2                        // shl           $0x2,%rcx
15214  .byte  72,3,8                              // add           (%rax),%rcx
15215  .byte  72,141,4,145                        // lea           (%rcx,%rdx,4),%rax
15216  .byte  196,98,125,24,5,130,30,0,0          // vbroadcastss  0x1e82(%rip),%ymm8        # 5b98 <_sk_callback_hsw+0x4b4>
15217  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
15218  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
15219  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
15220  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
15221  .byte  196,193,45,114,242,8                // vpslld        $0x8,%ymm10,%ymm10
15222  .byte  196,65,45,235,201                   // vpor          %ymm9,%ymm10,%ymm9
15223  .byte  196,65,108,89,208                   // vmulps        %ymm8,%ymm2,%ymm10
15224  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
15225  .byte  196,193,45,114,242,16               // vpslld        $0x10,%ymm10,%ymm10
15226  .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%ymm8
15227  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
15228  .byte  196,193,61,114,240,24               // vpslld        $0x18,%ymm8,%ymm8
15229  .byte  196,65,45,235,192                   // vpor          %ymm8,%ymm10,%ymm8
15230  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
15231  .byte  77,133,192                          // test          %r8,%r8
15232  .byte  117,11                              // jne           3d6f <_sk_store_8888_2d_hsw+0x7a>
15233  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
15234  .byte  72,173                              // lods          %ds:(%rsi),%rax
15235  .byte  76,137,201                          // mov           %r9,%rcx
15236  .byte  255,224                             // jmpq          *%rax
15237  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
15238  .byte  68,41,193                           // sub           %r8d,%ecx
15239  .byte  192,225,3                           // shl           $0x3,%cl
15240  .byte  73,199,194,255,255,255,255          // mov           $0xffffffffffffffff,%r10
15241  .byte  73,211,234                          // shr           %cl,%r10
15242  .byte  196,65,249,110,202                  // vmovq         %r10,%xmm9
15243  .byte  196,66,125,33,201                   // vpmovsxbd     %xmm9,%ymm9
15244  .byte  196,98,53,46,0                      // vmaskmovps    %ymm8,%ymm9,(%rax)
15245  .byte  235,211                             // jmp           3d68 <_sk_store_8888_2d_hsw+0x73>
15246
15247HIDDEN _sk_load_bgra_hsw
15248.globl _sk_load_bgra_hsw
15249FUNCTION(_sk_load_bgra_hsw)
15250_sk_load_bgra_hsw:
15251  .byte  73,137,201                          // mov           %rcx,%r9
15252  .byte  72,173                              // lods          %ds:(%rsi),%rax
15253  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
15254  .byte  76,3,16                             // add           (%rax),%r10
15255  .byte  77,133,192                          // test          %r8,%r8
15256  .byte  117,88                              // jne           3e02 <_sk_load_bgra_hsw+0x6d>
15257  .byte  196,193,124,16,26                   // vmovups       (%r10),%ymm3
15258  .byte  197,228,84,5,9,33,0,0               // vandps        0x2109(%rip),%ymm3,%ymm0        # 5ec0 <_sk_callback_hsw+0x7dc>
15259  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
15260  .byte  196,98,125,24,5,216,29,0,0          // vbroadcastss  0x1dd8(%rip),%ymm8        # 5b9c <_sk_callback_hsw+0x4b8>
15261  .byte  196,193,124,89,208                  // vmulps        %ymm8,%ymm0,%ymm2
15262  .byte  196,226,101,0,5,14,33,0,0           // vpshufb       0x210e(%rip),%ymm3,%ymm0        # 5ee0 <_sk_callback_hsw+0x7fc>
15263  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
15264  .byte  196,193,124,89,200                  // vmulps        %ymm8,%ymm0,%ymm1
15265  .byte  196,226,101,0,5,28,33,0,0           // vpshufb       0x211c(%rip),%ymm3,%ymm0        # 5f00 <_sk_callback_hsw+0x81c>
15266  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
15267  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
15268  .byte  197,229,114,211,24                  // vpsrld        $0x18,%ymm3,%ymm3
15269  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
15270  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
15271  .byte  72,173                              // lods          %ds:(%rsi),%rax
15272  .byte  76,137,201                          // mov           %r9,%rcx
15273  .byte  255,224                             // jmpq          *%rax
15274  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
15275  .byte  68,41,193                           // sub           %r8d,%ecx
15276  .byte  192,225,3                           // shl           $0x3,%cl
15277  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
15278  .byte  72,211,232                          // shr           %cl,%rax
15279  .byte  196,225,249,110,192                 // vmovq         %rax,%xmm0
15280  .byte  196,226,125,33,192                  // vpmovsxbd     %xmm0,%ymm0
15281  .byte  196,194,125,44,26                   // vmaskmovps    (%r10),%ymm0,%ymm3
15282  .byte  235,135                             // jmp           3daf <_sk_load_bgra_hsw+0x1a>
15283
15284HIDDEN _sk_load_bgra_dst_hsw
15285.globl _sk_load_bgra_dst_hsw
15286FUNCTION(_sk_load_bgra_dst_hsw)
15287_sk_load_bgra_dst_hsw:
15288  .byte  73,137,201                          // mov           %rcx,%r9
15289  .byte  72,173                              // lods          %ds:(%rsi),%rax
15290  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
15291  .byte  76,3,16                             // add           (%rax),%r10
15292  .byte  77,133,192                          // test          %r8,%r8
15293  .byte  117,88                              // jne           3e95 <_sk_load_bgra_dst_hsw+0x6d>
15294  .byte  196,193,124,16,58                   // vmovups       (%r10),%ymm7
15295  .byte  197,196,84,37,214,32,0,0            // vandps        0x20d6(%rip),%ymm7,%ymm4        # 5f20 <_sk_callback_hsw+0x83c>
15296  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
15297  .byte  196,98,125,24,5,73,29,0,0           // vbroadcastss  0x1d49(%rip),%ymm8        # 5ba0 <_sk_callback_hsw+0x4bc>
15298  .byte  196,193,92,89,240                   // vmulps        %ymm8,%ymm4,%ymm6
15299  .byte  196,226,69,0,37,219,32,0,0          // vpshufb       0x20db(%rip),%ymm7,%ymm4        # 5f40 <_sk_callback_hsw+0x85c>
15300  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
15301  .byte  196,193,92,89,232                   // vmulps        %ymm8,%ymm4,%ymm5
15302  .byte  196,226,69,0,37,233,32,0,0          // vpshufb       0x20e9(%rip),%ymm7,%ymm4        # 5f60 <_sk_callback_hsw+0x87c>
15303  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
15304  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
15305  .byte  197,197,114,215,24                  // vpsrld        $0x18,%ymm7,%ymm7
15306  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
15307  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
15308  .byte  72,173                              // lods          %ds:(%rsi),%rax
15309  .byte  76,137,201                          // mov           %r9,%rcx
15310  .byte  255,224                             // jmpq          *%rax
15311  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
15312  .byte  68,41,193                           // sub           %r8d,%ecx
15313  .byte  192,225,3                           // shl           $0x3,%cl
15314  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
15315  .byte  72,211,232                          // shr           %cl,%rax
15316  .byte  196,225,249,110,224                 // vmovq         %rax,%xmm4
15317  .byte  196,226,125,33,228                  // vpmovsxbd     %xmm4,%ymm4
15318  .byte  196,194,93,44,58                    // vmaskmovps    (%r10),%ymm4,%ymm7
15319  .byte  235,135                             // jmp           3e42 <_sk_load_bgra_dst_hsw+0x1a>
15320
15321HIDDEN _sk_gather_bgra_hsw
15322.globl _sk_gather_bgra_hsw
15323FUNCTION(_sk_gather_bgra_hsw)
15324_sk_gather_bgra_hsw:
15325  .byte  72,173                              // lods          %ds:(%rsi),%rax
15326  .byte  76,139,8                            // mov           (%rax),%r9
15327  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
15328  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
15329  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
15330  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
15331  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
15332  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
15333  .byte  196,194,117,144,28,129              // vpgatherdd    %ymm1,(%r9,%ymm0,4),%ymm3
15334  .byte  197,229,219,5,151,32,0,0            // vpand         0x2097(%rip),%ymm3,%ymm0        # 5f80 <_sk_callback_hsw+0x89c>
15335  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
15336  .byte  196,98,125,24,5,174,28,0,0          // vbroadcastss  0x1cae(%rip),%ymm8        # 5ba4 <_sk_callback_hsw+0x4c0>
15337  .byte  196,193,124,89,208                  // vmulps        %ymm8,%ymm0,%ymm2
15338  .byte  196,226,101,0,5,156,32,0,0          // vpshufb       0x209c(%rip),%ymm3,%ymm0        # 5fa0 <_sk_callback_hsw+0x8bc>
15339  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
15340  .byte  196,193,124,89,200                  // vmulps        %ymm8,%ymm0,%ymm1
15341  .byte  196,226,101,0,5,170,32,0,0          // vpshufb       0x20aa(%rip),%ymm3,%ymm0        # 5fc0 <_sk_callback_hsw+0x8dc>
15342  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
15343  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
15344  .byte  197,229,114,211,24                  // vpsrld        $0x18,%ymm3,%ymm3
15345  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
15346  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
15347  .byte  72,173                              // lods          %ds:(%rsi),%rax
15348  .byte  255,224                             // jmpq          *%rax
15349
15350HIDDEN _sk_store_bgra_hsw
15351.globl _sk_store_bgra_hsw
15352FUNCTION(_sk_store_bgra_hsw)
15353_sk_store_bgra_hsw:
15354  .byte  73,137,201                          // mov           %rcx,%r9
15355  .byte  72,173                              // lods          %ds:(%rsi),%rax
15356  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
15357  .byte  76,3,16                             // add           (%rax),%r10
15358  .byte  196,98,125,24,5,94,28,0,0           // vbroadcastss  0x1c5e(%rip),%ymm8        # 5ba8 <_sk_callback_hsw+0x4c4>
15359  .byte  196,65,108,89,200                   // vmulps        %ymm8,%ymm2,%ymm9
15360  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
15361  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
15362  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
15363  .byte  196,193,45,114,242,8                // vpslld        $0x8,%ymm10,%ymm10
15364  .byte  196,65,45,235,201                   // vpor          %ymm9,%ymm10,%ymm9
15365  .byte  196,65,124,89,208                   // vmulps        %ymm8,%ymm0,%ymm10
15366  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
15367  .byte  196,193,45,114,242,16               // vpslld        $0x10,%ymm10,%ymm10
15368  .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%ymm8
15369  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
15370  .byte  196,193,61,114,240,24               // vpslld        $0x18,%ymm8,%ymm8
15371  .byte  196,65,45,235,192                   // vpor          %ymm8,%ymm10,%ymm8
15372  .byte  196,65,53,235,192                   // vpor          %ymm8,%ymm9,%ymm8
15373  .byte  77,133,192                          // test          %r8,%r8
15374  .byte  117,12                              // jne           3fa4 <_sk_store_bgra_hsw+0x73>
15375  .byte  196,65,124,17,2                     // vmovups       %ymm8,(%r10)
15376  .byte  72,173                              // lods          %ds:(%rsi),%rax
15377  .byte  76,137,201                          // mov           %r9,%rcx
15378  .byte  255,224                             // jmpq          *%rax
15379  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
15380  .byte  68,41,193                           // sub           %r8d,%ecx
15381  .byte  192,225,3                           // shl           $0x3,%cl
15382  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
15383  .byte  72,211,232                          // shr           %cl,%rax
15384  .byte  196,97,249,110,200                  // vmovq         %rax,%xmm9
15385  .byte  196,66,125,33,201                   // vpmovsxbd     %xmm9,%ymm9
15386  .byte  196,66,53,46,2                      // vmaskmovps    %ymm8,%ymm9,(%r10)
15387  .byte  235,211                             // jmp           3f9d <_sk_store_bgra_hsw+0x6c>
15388
15389HIDDEN _sk_load_f16_hsw
15390.globl _sk_load_f16_hsw
15391FUNCTION(_sk_load_f16_hsw)
15392_sk_load_f16_hsw:
15393  .byte  72,173                              // lods          %ds:(%rsi),%rax
15394  .byte  72,139,0                            // mov           (%rax),%rax
15395  .byte  77,133,192                          // test          %r8,%r8
15396  .byte  117,97                              // jne           4035 <_sk_load_f16_hsw+0x6b>
15397  .byte  197,121,16,4,208                    // vmovupd       (%rax,%rdx,8),%xmm8
15398  .byte  197,249,16,84,208,16                // vmovupd       0x10(%rax,%rdx,8),%xmm2
15399  .byte  197,249,16,92,208,32                // vmovupd       0x20(%rax,%rdx,8),%xmm3
15400  .byte  197,122,111,76,208,48               // vmovdqu       0x30(%rax,%rdx,8),%xmm9
15401  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
15402  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
15403  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
15404  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
15405  .byte  197,121,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm8
15406  .byte  197,121,105,202                     // vpunpckhwd    %xmm2,%xmm0,%xmm9
15407  .byte  197,241,97,211                      // vpunpcklwd    %xmm3,%xmm1,%xmm2
15408  .byte  197,241,105,219                     // vpunpckhwd    %xmm3,%xmm1,%xmm3
15409  .byte  197,185,108,194                     // vpunpcklqdq   %xmm2,%xmm8,%xmm0
15410  .byte  196,226,125,19,192                  // vcvtph2ps     %xmm0,%ymm0
15411  .byte  197,185,109,202                     // vpunpckhqdq   %xmm2,%xmm8,%xmm1
15412  .byte  196,226,125,19,201                  // vcvtph2ps     %xmm1,%ymm1
15413  .byte  197,177,108,211                     // vpunpcklqdq   %xmm3,%xmm9,%xmm2
15414  .byte  196,226,125,19,210                  // vcvtph2ps     %xmm2,%ymm2
15415  .byte  197,177,109,219                     // vpunpckhqdq   %xmm3,%xmm9,%xmm3
15416  .byte  196,226,125,19,219                  // vcvtph2ps     %xmm3,%ymm3
15417  .byte  72,173                              // lods          %ds:(%rsi),%rax
15418  .byte  255,224                             // jmpq          *%rax
15419  .byte  197,123,16,4,208                    // vmovsd        (%rax,%rdx,8),%xmm8
15420  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
15421  .byte  73,131,248,1                        // cmp           $0x1,%r8
15422  .byte  116,79                              // je            4094 <_sk_load_f16_hsw+0xca>
15423  .byte  197,57,22,68,208,8                  // vmovhpd       0x8(%rax,%rdx,8),%xmm8,%xmm8
15424  .byte  73,131,248,3                        // cmp           $0x3,%r8
15425  .byte  114,67                              // jb            4094 <_sk_load_f16_hsw+0xca>
15426  .byte  197,251,16,84,208,16                // vmovsd        0x10(%rax,%rdx,8),%xmm2
15427  .byte  73,131,248,3                        // cmp           $0x3,%r8
15428  .byte  116,68                              // je            40a1 <_sk_load_f16_hsw+0xd7>
15429  .byte  197,233,22,84,208,24                // vmovhpd       0x18(%rax,%rdx,8),%xmm2,%xmm2
15430  .byte  73,131,248,5                        // cmp           $0x5,%r8
15431  .byte  114,56                              // jb            40a1 <_sk_load_f16_hsw+0xd7>
15432  .byte  197,251,16,92,208,32                // vmovsd        0x20(%rax,%rdx,8),%xmm3
15433  .byte  73,131,248,5                        // cmp           $0x5,%r8
15434  .byte  15,132,114,255,255,255              // je            3feb <_sk_load_f16_hsw+0x21>
15435  .byte  197,225,22,92,208,40                // vmovhpd       0x28(%rax,%rdx,8),%xmm3,%xmm3
15436  .byte  73,131,248,7                        // cmp           $0x7,%r8
15437  .byte  15,130,98,255,255,255               // jb            3feb <_sk_load_f16_hsw+0x21>
15438  .byte  197,122,126,76,208,48               // vmovq         0x30(%rax,%rdx,8),%xmm9
15439  .byte  233,87,255,255,255                  // jmpq          3feb <_sk_load_f16_hsw+0x21>
15440  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
15441  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
15442  .byte  233,74,255,255,255                  // jmpq          3feb <_sk_load_f16_hsw+0x21>
15443  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
15444  .byte  233,65,255,255,255                  // jmpq          3feb <_sk_load_f16_hsw+0x21>
15445
15446HIDDEN _sk_load_f16_dst_hsw
15447.globl _sk_load_f16_dst_hsw
15448FUNCTION(_sk_load_f16_dst_hsw)
15449_sk_load_f16_dst_hsw:
15450  .byte  72,173                              // lods          %ds:(%rsi),%rax
15451  .byte  72,139,0                            // mov           (%rax),%rax
15452  .byte  77,133,192                          // test          %r8,%r8
15453  .byte  117,97                              // jne           4115 <_sk_load_f16_dst_hsw+0x6b>
15454  .byte  197,121,16,4,208                    // vmovupd       (%rax,%rdx,8),%xmm8
15455  .byte  197,249,16,116,208,16               // vmovupd       0x10(%rax,%rdx,8),%xmm6
15456  .byte  197,249,16,124,208,32               // vmovupd       0x20(%rax,%rdx,8),%xmm7
15457  .byte  197,122,111,76,208,48               // vmovdqu       0x30(%rax,%rdx,8),%xmm9
15458  .byte  197,185,97,230                      // vpunpcklwd    %xmm6,%xmm8,%xmm4
15459  .byte  197,185,105,246                     // vpunpckhwd    %xmm6,%xmm8,%xmm6
15460  .byte  196,193,65,97,233                   // vpunpcklwd    %xmm9,%xmm7,%xmm5
15461  .byte  196,193,65,105,249                  // vpunpckhwd    %xmm9,%xmm7,%xmm7
15462  .byte  197,89,97,198                       // vpunpcklwd    %xmm6,%xmm4,%xmm8
15463  .byte  197,89,105,206                      // vpunpckhwd    %xmm6,%xmm4,%xmm9
15464  .byte  197,209,97,247                      // vpunpcklwd    %xmm7,%xmm5,%xmm6
15465  .byte  197,209,105,255                     // vpunpckhwd    %xmm7,%xmm5,%xmm7
15466  .byte  197,185,108,230                     // vpunpcklqdq   %xmm6,%xmm8,%xmm4
15467  .byte  196,226,125,19,228                  // vcvtph2ps     %xmm4,%ymm4
15468  .byte  197,185,109,238                     // vpunpckhqdq   %xmm6,%xmm8,%xmm5
15469  .byte  196,226,125,19,237                  // vcvtph2ps     %xmm5,%ymm5
15470  .byte  197,177,108,247                     // vpunpcklqdq   %xmm7,%xmm9,%xmm6
15471  .byte  196,226,125,19,246                  // vcvtph2ps     %xmm6,%ymm6
15472  .byte  197,177,109,255                     // vpunpckhqdq   %xmm7,%xmm9,%xmm7
15473  .byte  196,226,125,19,255                  // vcvtph2ps     %xmm7,%ymm7
15474  .byte  72,173                              // lods          %ds:(%rsi),%rax
15475  .byte  255,224                             // jmpq          *%rax
15476  .byte  197,123,16,4,208                    // vmovsd        (%rax,%rdx,8),%xmm8
15477  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
15478  .byte  73,131,248,1                        // cmp           $0x1,%r8
15479  .byte  116,79                              // je            4174 <_sk_load_f16_dst_hsw+0xca>
15480  .byte  197,57,22,68,208,8                  // vmovhpd       0x8(%rax,%rdx,8),%xmm8,%xmm8
15481  .byte  73,131,248,3                        // cmp           $0x3,%r8
15482  .byte  114,67                              // jb            4174 <_sk_load_f16_dst_hsw+0xca>
15483  .byte  197,251,16,116,208,16               // vmovsd        0x10(%rax,%rdx,8),%xmm6
15484  .byte  73,131,248,3                        // cmp           $0x3,%r8
15485  .byte  116,68                              // je            4181 <_sk_load_f16_dst_hsw+0xd7>
15486  .byte  197,201,22,116,208,24               // vmovhpd       0x18(%rax,%rdx,8),%xmm6,%xmm6
15487  .byte  73,131,248,5                        // cmp           $0x5,%r8
15488  .byte  114,56                              // jb            4181 <_sk_load_f16_dst_hsw+0xd7>
15489  .byte  197,251,16,124,208,32               // vmovsd        0x20(%rax,%rdx,8),%xmm7
15490  .byte  73,131,248,5                        // cmp           $0x5,%r8
15491  .byte  15,132,114,255,255,255              // je            40cb <_sk_load_f16_dst_hsw+0x21>
15492  .byte  197,193,22,124,208,40               // vmovhpd       0x28(%rax,%rdx,8),%xmm7,%xmm7
15493  .byte  73,131,248,7                        // cmp           $0x7,%r8
15494  .byte  15,130,98,255,255,255               // jb            40cb <_sk_load_f16_dst_hsw+0x21>
15495  .byte  197,122,126,76,208,48               // vmovq         0x30(%rax,%rdx,8),%xmm9
15496  .byte  233,87,255,255,255                  // jmpq          40cb <_sk_load_f16_dst_hsw+0x21>
15497  .byte  197,193,87,255                      // vxorpd        %xmm7,%xmm7,%xmm7
15498  .byte  197,201,87,246                      // vxorpd        %xmm6,%xmm6,%xmm6
15499  .byte  233,74,255,255,255                  // jmpq          40cb <_sk_load_f16_dst_hsw+0x21>
15500  .byte  197,193,87,255                      // vxorpd        %xmm7,%xmm7,%xmm7
15501  .byte  233,65,255,255,255                  // jmpq          40cb <_sk_load_f16_dst_hsw+0x21>
15502
15503HIDDEN _sk_gather_f16_hsw
15504.globl _sk_gather_f16_hsw
15505FUNCTION(_sk_gather_f16_hsw)
15506_sk_gather_f16_hsw:
15507  .byte  72,173                              // lods          %ds:(%rsi),%rax
15508  .byte  76,139,8                            // mov           (%rax),%r9
15509  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
15510  .byte  196,226,125,88,80,8                 // vpbroadcastd  0x8(%rax),%ymm2
15511  .byte  196,226,109,64,201                  // vpmulld       %ymm1,%ymm2,%ymm1
15512  .byte  197,254,91,192                      // vcvttps2dq    %ymm0,%ymm0
15513  .byte  197,245,254,192                     // vpaddd        %ymm0,%ymm1,%ymm0
15514  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
15515  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
15516  .byte  196,194,237,144,28,193              // vpgatherdq    %ymm2,(%r9,%xmm0,8),%ymm3
15517  .byte  196,227,125,57,192,1                // vextracti128  $0x1,%ymm0,%xmm0
15518  .byte  196,194,245,144,20,193              // vpgatherdq    %ymm1,(%r9,%xmm0,8),%ymm2
15519  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
15520  .byte  196,227,125,57,209,1                // vextracti128  $0x1,%ymm2,%xmm1
15521  .byte  197,97,97,192                       // vpunpcklwd    %xmm0,%xmm3,%xmm8
15522  .byte  197,225,105,192                     // vpunpckhwd    %xmm0,%xmm3,%xmm0
15523  .byte  197,233,97,217                      // vpunpcklwd    %xmm1,%xmm2,%xmm3
15524  .byte  197,233,105,201                     // vpunpckhwd    %xmm1,%xmm2,%xmm1
15525  .byte  197,57,97,200                       // vpunpcklwd    %xmm0,%xmm8,%xmm9
15526  .byte  197,57,105,192                      // vpunpckhwd    %xmm0,%xmm8,%xmm8
15527  .byte  197,225,97,209                      // vpunpcklwd    %xmm1,%xmm3,%xmm2
15528  .byte  197,225,105,217                     // vpunpckhwd    %xmm1,%xmm3,%xmm3
15529  .byte  197,177,108,194                     // vpunpcklqdq   %xmm2,%xmm9,%xmm0
15530  .byte  196,226,125,19,192                  // vcvtph2ps     %xmm0,%ymm0
15531  .byte  197,177,109,202                     // vpunpckhqdq   %xmm2,%xmm9,%xmm1
15532  .byte  196,226,125,19,201                  // vcvtph2ps     %xmm1,%ymm1
15533  .byte  197,185,108,211                     // vpunpcklqdq   %xmm3,%xmm8,%xmm2
15534  .byte  196,226,125,19,210                  // vcvtph2ps     %xmm2,%ymm2
15535  .byte  197,185,109,219                     // vpunpckhqdq   %xmm3,%xmm8,%xmm3
15536  .byte  196,226,125,19,219                  // vcvtph2ps     %xmm3,%ymm3
15537  .byte  72,173                              // lods          %ds:(%rsi),%rax
15538  .byte  255,224                             // jmpq          *%rax
15539
15540HIDDEN _sk_store_f16_hsw
15541.globl _sk_store_f16_hsw
15542FUNCTION(_sk_store_f16_hsw)
15543_sk_store_f16_hsw:
15544  .byte  72,173                              // lods          %ds:(%rsi),%rax
15545  .byte  72,139,0                            // mov           (%rax),%rax
15546  .byte  196,195,125,29,192,4                // vcvtps2ph     $0x4,%ymm0,%xmm8
15547  .byte  196,195,125,29,201,4                // vcvtps2ph     $0x4,%ymm1,%xmm9
15548  .byte  196,195,125,29,210,4                // vcvtps2ph     $0x4,%ymm2,%xmm10
15549  .byte  196,195,125,29,219,4                // vcvtps2ph     $0x4,%ymm3,%xmm11
15550  .byte  196,65,57,97,225                    // vpunpcklwd    %xmm9,%xmm8,%xmm12
15551  .byte  196,65,57,105,193                   // vpunpckhwd    %xmm9,%xmm8,%xmm8
15552  .byte  196,65,41,97,203                    // vpunpcklwd    %xmm11,%xmm10,%xmm9
15553  .byte  196,65,41,105,235                   // vpunpckhwd    %xmm11,%xmm10,%xmm13
15554  .byte  196,65,25,98,217                    // vpunpckldq    %xmm9,%xmm12,%xmm11
15555  .byte  196,65,25,106,209                   // vpunpckhdq    %xmm9,%xmm12,%xmm10
15556  .byte  196,65,57,98,205                    // vpunpckldq    %xmm13,%xmm8,%xmm9
15557  .byte  196,65,57,106,197                   // vpunpckhdq    %xmm13,%xmm8,%xmm8
15558  .byte  77,133,192                          // test          %r8,%r8
15559  .byte  117,27                              // jne           4279 <_sk_store_f16_hsw+0x65>
15560  .byte  197,120,17,28,208                   // vmovups       %xmm11,(%rax,%rdx,8)
15561  .byte  197,120,17,84,208,16                // vmovups       %xmm10,0x10(%rax,%rdx,8)
15562  .byte  197,120,17,76,208,32                // vmovups       %xmm9,0x20(%rax,%rdx,8)
15563  .byte  197,122,127,68,208,48               // vmovdqu       %xmm8,0x30(%rax,%rdx,8)
15564  .byte  72,173                              // lods          %ds:(%rsi),%rax
15565  .byte  255,224                             // jmpq          *%rax
15566  .byte  197,121,214,28,208                  // vmovq         %xmm11,(%rax,%rdx,8)
15567  .byte  73,131,248,1                        // cmp           $0x1,%r8
15568  .byte  116,241                             // je            4275 <_sk_store_f16_hsw+0x61>
15569  .byte  197,121,23,92,208,8                 // vmovhpd       %xmm11,0x8(%rax,%rdx,8)
15570  .byte  73,131,248,3                        // cmp           $0x3,%r8
15571  .byte  114,229                             // jb            4275 <_sk_store_f16_hsw+0x61>
15572  .byte  197,121,214,84,208,16               // vmovq         %xmm10,0x10(%rax,%rdx,8)
15573  .byte  116,221                             // je            4275 <_sk_store_f16_hsw+0x61>
15574  .byte  197,121,23,84,208,24                // vmovhpd       %xmm10,0x18(%rax,%rdx,8)
15575  .byte  73,131,248,5                        // cmp           $0x5,%r8
15576  .byte  114,209                             // jb            4275 <_sk_store_f16_hsw+0x61>
15577  .byte  197,121,214,76,208,32               // vmovq         %xmm9,0x20(%rax,%rdx,8)
15578  .byte  116,201                             // je            4275 <_sk_store_f16_hsw+0x61>
15579  .byte  197,121,23,76,208,40                // vmovhpd       %xmm9,0x28(%rax,%rdx,8)
15580  .byte  73,131,248,7                        // cmp           $0x7,%r8
15581  .byte  114,189                             // jb            4275 <_sk_store_f16_hsw+0x61>
15582  .byte  197,121,214,68,208,48               // vmovq         %xmm8,0x30(%rax,%rdx,8)
15583  .byte  235,181                             // jmp           4275 <_sk_store_f16_hsw+0x61>
15584
15585HIDDEN _sk_load_u16_be_hsw
15586.globl _sk_load_u16_be_hsw
15587FUNCTION(_sk_load_u16_be_hsw)
15588_sk_load_u16_be_hsw:
15589  .byte  72,173                              // lods          %ds:(%rsi),%rax
15590  .byte  76,139,8                            // mov           (%rax),%r9
15591  .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
15592  .byte  77,133,192                          // test          %r8,%r8
15593  .byte  15,133,204,0,0,0                    // jne           43a2 <_sk_load_u16_be_hsw+0xe2>
15594  .byte  196,65,121,16,4,65                  // vmovupd       (%r9,%rax,2),%xmm8
15595  .byte  196,193,121,16,84,65,16             // vmovupd       0x10(%r9,%rax,2),%xmm2
15596  .byte  196,193,121,16,92,65,32             // vmovupd       0x20(%r9,%rax,2),%xmm3
15597  .byte  196,65,122,111,76,65,48             // vmovdqu       0x30(%r9,%rax,2),%xmm9
15598  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
15599  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
15600  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
15601  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
15602  .byte  197,121,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm8
15603  .byte  197,121,105,202                     // vpunpckhwd    %xmm2,%xmm0,%xmm9
15604  .byte  197,241,97,211                      // vpunpcklwd    %xmm3,%xmm1,%xmm2
15605  .byte  197,113,105,219                     // vpunpckhwd    %xmm3,%xmm1,%xmm11
15606  .byte  197,185,108,194                     // vpunpcklqdq   %xmm2,%xmm8,%xmm0
15607  .byte  197,241,113,240,8                   // vpsllw        $0x8,%xmm0,%xmm1
15608  .byte  197,249,113,208,8                   // vpsrlw        $0x8,%xmm0,%xmm0
15609  .byte  197,241,235,192                     // vpor          %xmm0,%xmm1,%xmm0
15610  .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
15611  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
15612  .byte  196,98,125,24,21,117,24,0,0         // vbroadcastss  0x1875(%rip),%ymm10        # 5bac <_sk_callback_hsw+0x4c8>
15613  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
15614  .byte  197,185,109,202                     // vpunpckhqdq   %xmm2,%xmm8,%xmm1
15615  .byte  197,233,113,241,8                   // vpsllw        $0x8,%xmm1,%xmm2
15616  .byte  197,241,113,209,8                   // vpsrlw        $0x8,%xmm1,%xmm1
15617  .byte  197,233,235,201                     // vpor          %xmm1,%xmm2,%xmm1
15618  .byte  196,226,125,51,201                  // vpmovzxwd     %xmm1,%ymm1
15619  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
15620  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
15621  .byte  196,193,49,108,211                  // vpunpcklqdq   %xmm11,%xmm9,%xmm2
15622  .byte  197,225,113,242,8                   // vpsllw        $0x8,%xmm2,%xmm3
15623  .byte  197,233,113,210,8                   // vpsrlw        $0x8,%xmm2,%xmm2
15624  .byte  197,225,235,210                     // vpor          %xmm2,%xmm3,%xmm2
15625  .byte  196,226,125,51,210                  // vpmovzxwd     %xmm2,%ymm2
15626  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
15627  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
15628  .byte  196,193,49,109,219                  // vpunpckhqdq   %xmm11,%xmm9,%xmm3
15629  .byte  197,185,113,243,8                   // vpsllw        $0x8,%xmm3,%xmm8
15630  .byte  197,225,113,211,8                   // vpsrlw        $0x8,%xmm3,%xmm3
15631  .byte  197,185,235,219                     // vpor          %xmm3,%xmm8,%xmm3
15632  .byte  196,226,125,51,219                  // vpmovzxwd     %xmm3,%ymm3
15633  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
15634  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
15635  .byte  72,173                              // lods          %ds:(%rsi),%rax
15636  .byte  255,224                             // jmpq          *%rax
15637  .byte  196,65,123,16,4,65                  // vmovsd        (%r9,%rax,2),%xmm8
15638  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
15639  .byte  73,131,248,1                        // cmp           $0x1,%r8
15640  .byte  116,85                              // je            4408 <_sk_load_u16_be_hsw+0x148>
15641  .byte  196,65,57,22,68,65,8                // vmovhpd       0x8(%r9,%rax,2),%xmm8,%xmm8
15642  .byte  73,131,248,3                        // cmp           $0x3,%r8
15643  .byte  114,72                              // jb            4408 <_sk_load_u16_be_hsw+0x148>
15644  .byte  196,193,123,16,84,65,16             // vmovsd        0x10(%r9,%rax,2),%xmm2
15645  .byte  73,131,248,3                        // cmp           $0x3,%r8
15646  .byte  116,72                              // je            4415 <_sk_load_u16_be_hsw+0x155>
15647  .byte  196,193,105,22,84,65,24             // vmovhpd       0x18(%r9,%rax,2),%xmm2,%xmm2
15648  .byte  73,131,248,5                        // cmp           $0x5,%r8
15649  .byte  114,59                              // jb            4415 <_sk_load_u16_be_hsw+0x155>
15650  .byte  196,193,123,16,92,65,32             // vmovsd        0x20(%r9,%rax,2),%xmm3
15651  .byte  73,131,248,5                        // cmp           $0x5,%r8
15652  .byte  15,132,6,255,255,255                // je            42f1 <_sk_load_u16_be_hsw+0x31>
15653  .byte  196,193,97,22,92,65,40              // vmovhpd       0x28(%r9,%rax,2),%xmm3,%xmm3
15654  .byte  73,131,248,7                        // cmp           $0x7,%r8
15655  .byte  15,130,245,254,255,255              // jb            42f1 <_sk_load_u16_be_hsw+0x31>
15656  .byte  196,65,122,126,76,65,48             // vmovq         0x30(%r9,%rax,2),%xmm9
15657  .byte  233,233,254,255,255                 // jmpq          42f1 <_sk_load_u16_be_hsw+0x31>
15658  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
15659  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
15660  .byte  233,220,254,255,255                 // jmpq          42f1 <_sk_load_u16_be_hsw+0x31>
15661  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
15662  .byte  233,211,254,255,255                 // jmpq          42f1 <_sk_load_u16_be_hsw+0x31>
15663
15664HIDDEN _sk_load_rgb_u16_be_hsw
15665.globl _sk_load_rgb_u16_be_hsw
15666FUNCTION(_sk_load_rgb_u16_be_hsw)
15667_sk_load_rgb_u16_be_hsw:
15668  .byte  72,173                              // lods          %ds:(%rsi),%rax
15669  .byte  76,139,8                            // mov           (%rax),%r9
15670  .byte  72,141,4,82                         // lea           (%rdx,%rdx,2),%rax
15671  .byte  77,133,192                          // test          %r8,%r8
15672  .byte  15,133,204,0,0,0                    // jne           44fc <_sk_load_rgb_u16_be_hsw+0xde>
15673  .byte  196,193,122,111,4,65                // vmovdqu       (%r9,%rax,2),%xmm0
15674  .byte  196,193,122,111,84,65,12            // vmovdqu       0xc(%r9,%rax,2),%xmm2
15675  .byte  196,193,122,111,76,65,24            // vmovdqu       0x18(%r9,%rax,2),%xmm1
15676  .byte  196,193,122,111,92,65,32            // vmovdqu       0x20(%r9,%rax,2),%xmm3
15677  .byte  197,225,115,219,4                   // vpsrldq       $0x4,%xmm3,%xmm3
15678  .byte  197,185,115,216,6                   // vpsrldq       $0x6,%xmm0,%xmm8
15679  .byte  197,177,115,218,6                   // vpsrldq       $0x6,%xmm2,%xmm9
15680  .byte  197,161,115,217,6                   // vpsrldq       $0x6,%xmm1,%xmm11
15681  .byte  197,169,115,219,6                   // vpsrldq       $0x6,%xmm3,%xmm10
15682  .byte  197,249,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm0
15683  .byte  196,193,57,97,209                   // vpunpcklwd    %xmm9,%xmm8,%xmm2
15684  .byte  197,241,97,203                      // vpunpcklwd    %xmm3,%xmm1,%xmm1
15685  .byte  196,193,33,97,218                   // vpunpcklwd    %xmm10,%xmm11,%xmm3
15686  .byte  197,121,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm8
15687  .byte  197,121,105,202                     // vpunpckhwd    %xmm2,%xmm0,%xmm9
15688  .byte  197,241,97,211                      // vpunpcklwd    %xmm3,%xmm1,%xmm2
15689  .byte  197,241,105,219                     // vpunpckhwd    %xmm3,%xmm1,%xmm3
15690  .byte  197,185,108,194                     // vpunpcklqdq   %xmm2,%xmm8,%xmm0
15691  .byte  197,241,113,240,8                   // vpsllw        $0x8,%xmm0,%xmm1
15692  .byte  197,249,113,208,8                   // vpsrlw        $0x8,%xmm0,%xmm0
15693  .byte  197,241,235,192                     // vpor          %xmm0,%xmm1,%xmm0
15694  .byte  196,226,125,51,192                  // vpmovzxwd     %xmm0,%ymm0
15695  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
15696  .byte  196,98,125,24,21,6,23,0,0           // vbroadcastss  0x1706(%rip),%ymm10        # 5bb0 <_sk_callback_hsw+0x4cc>
15697  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
15698  .byte  197,185,109,202                     // vpunpckhqdq   %xmm2,%xmm8,%xmm1
15699  .byte  197,233,113,241,8                   // vpsllw        $0x8,%xmm1,%xmm2
15700  .byte  197,241,113,209,8                   // vpsrlw        $0x8,%xmm1,%xmm1
15701  .byte  197,233,235,201                     // vpor          %xmm1,%xmm2,%xmm1
15702  .byte  196,226,125,51,201                  // vpmovzxwd     %xmm1,%ymm1
15703  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
15704  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
15705  .byte  197,177,108,211                     // vpunpcklqdq   %xmm3,%xmm9,%xmm2
15706  .byte  197,225,113,242,8                   // vpsllw        $0x8,%xmm2,%xmm3
15707  .byte  197,233,113,210,8                   // vpsrlw        $0x8,%xmm2,%xmm2
15708  .byte  197,225,235,210                     // vpor          %xmm2,%xmm3,%xmm2
15709  .byte  196,226,125,51,210                  // vpmovzxwd     %xmm2,%ymm2
15710  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
15711  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
15712  .byte  72,173                              // lods          %ds:(%rsi),%rax
15713  .byte  196,226,125,24,29,186,22,0,0        // vbroadcastss  0x16ba(%rip),%ymm3        # 5bb4 <_sk_callback_hsw+0x4d0>
15714  .byte  255,224                             // jmpq          *%rax
15715  .byte  196,193,121,110,4,65                // vmovd         (%r9,%rax,2),%xmm0
15716  .byte  196,193,121,196,68,65,4,2           // vpinsrw       $0x2,0x4(%r9,%rax,2),%xmm0,%xmm0
15717  .byte  73,131,248,1                        // cmp           $0x1,%r8
15718  .byte  117,5                               // jne           4515 <_sk_load_rgb_u16_be_hsw+0xf7>
15719  .byte  233,79,255,255,255                  // jmpq          4464 <_sk_load_rgb_u16_be_hsw+0x46>
15720  .byte  196,193,121,110,76,65,6             // vmovd         0x6(%r9,%rax,2),%xmm1
15721  .byte  196,65,113,196,68,65,10,2           // vpinsrw       $0x2,0xa(%r9,%rax,2),%xmm1,%xmm8
15722  .byte  73,131,248,3                        // cmp           $0x3,%r8
15723  .byte  114,26                              // jb            4544 <_sk_load_rgb_u16_be_hsw+0x126>
15724  .byte  196,193,121,110,76,65,12            // vmovd         0xc(%r9,%rax,2),%xmm1
15725  .byte  196,193,113,196,84,65,16,2          // vpinsrw       $0x2,0x10(%r9,%rax,2),%xmm1,%xmm2
15726  .byte  73,131,248,3                        // cmp           $0x3,%r8
15727  .byte  117,10                              // jne           4549 <_sk_load_rgb_u16_be_hsw+0x12b>
15728  .byte  233,32,255,255,255                  // jmpq          4464 <_sk_load_rgb_u16_be_hsw+0x46>
15729  .byte  233,27,255,255,255                  // jmpq          4464 <_sk_load_rgb_u16_be_hsw+0x46>
15730  .byte  196,193,121,110,76,65,18            // vmovd         0x12(%r9,%rax,2),%xmm1
15731  .byte  196,65,113,196,76,65,22,2           // vpinsrw       $0x2,0x16(%r9,%rax,2),%xmm1,%xmm9
15732  .byte  73,131,248,5                        // cmp           $0x5,%r8
15733  .byte  114,26                              // jb            4578 <_sk_load_rgb_u16_be_hsw+0x15a>
15734  .byte  196,193,121,110,76,65,24            // vmovd         0x18(%r9,%rax,2),%xmm1
15735  .byte  196,193,113,196,76,65,28,2          // vpinsrw       $0x2,0x1c(%r9,%rax,2),%xmm1,%xmm1
15736  .byte  73,131,248,5                        // cmp           $0x5,%r8
15737  .byte  117,10                              // jne           457d <_sk_load_rgb_u16_be_hsw+0x15f>
15738  .byte  233,236,254,255,255                 // jmpq          4464 <_sk_load_rgb_u16_be_hsw+0x46>
15739  .byte  233,231,254,255,255                 // jmpq          4464 <_sk_load_rgb_u16_be_hsw+0x46>
15740  .byte  196,193,121,110,92,65,30            // vmovd         0x1e(%r9,%rax,2),%xmm3
15741  .byte  196,65,97,196,92,65,34,2            // vpinsrw       $0x2,0x22(%r9,%rax,2),%xmm3,%xmm11
15742  .byte  73,131,248,7                        // cmp           $0x7,%r8
15743  .byte  114,20                              // jb            45a6 <_sk_load_rgb_u16_be_hsw+0x188>
15744  .byte  196,193,121,110,92,65,36            // vmovd         0x24(%r9,%rax,2),%xmm3
15745  .byte  196,193,97,196,92,65,40,2           // vpinsrw       $0x2,0x28(%r9,%rax,2),%xmm3,%xmm3
15746  .byte  233,190,254,255,255                 // jmpq          4464 <_sk_load_rgb_u16_be_hsw+0x46>
15747  .byte  233,185,254,255,255                 // jmpq          4464 <_sk_load_rgb_u16_be_hsw+0x46>
15748
15749HIDDEN _sk_store_u16_be_hsw
15750.globl _sk_store_u16_be_hsw
15751FUNCTION(_sk_store_u16_be_hsw)
15752_sk_store_u16_be_hsw:
15753  .byte  72,173                              // lods          %ds:(%rsi),%rax
15754  .byte  76,139,8                            // mov           (%rax),%r9
15755  .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
15756  .byte  196,98,125,24,5,247,21,0,0          // vbroadcastss  0x15f7(%rip),%ymm8        # 5bb8 <_sk_callback_hsw+0x4d4>
15757  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
15758  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
15759  .byte  196,67,125,25,202,1                 // vextractf128  $0x1,%ymm9,%xmm10
15760  .byte  196,66,49,43,202                    // vpackusdw     %xmm10,%xmm9,%xmm9
15761  .byte  196,193,41,113,241,8                // vpsllw        $0x8,%xmm9,%xmm10
15762  .byte  196,193,49,113,209,8                // vpsrlw        $0x8,%xmm9,%xmm9
15763  .byte  196,65,41,235,201                   // vpor          %xmm9,%xmm10,%xmm9
15764  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
15765  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
15766  .byte  196,67,125,25,211,1                 // vextractf128  $0x1,%ymm10,%xmm11
15767  .byte  196,66,41,43,211                    // vpackusdw     %xmm11,%xmm10,%xmm10
15768  .byte  196,193,33,113,242,8                // vpsllw        $0x8,%xmm10,%xmm11
15769  .byte  196,193,41,113,210,8                // vpsrlw        $0x8,%xmm10,%xmm10
15770  .byte  196,65,33,235,210                   // vpor          %xmm10,%xmm11,%xmm10
15771  .byte  196,65,108,89,216                   // vmulps        %ymm8,%ymm2,%ymm11
15772  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
15773  .byte  196,67,125,25,220,1                 // vextractf128  $0x1,%ymm11,%xmm12
15774  .byte  196,66,33,43,220                    // vpackusdw     %xmm12,%xmm11,%xmm11
15775  .byte  196,193,25,113,243,8                // vpsllw        $0x8,%xmm11,%xmm12
15776  .byte  196,193,33,113,211,8                // vpsrlw        $0x8,%xmm11,%xmm11
15777  .byte  196,65,25,235,219                   // vpor          %xmm11,%xmm12,%xmm11
15778  .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%ymm8
15779  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
15780  .byte  196,67,125,25,196,1                 // vextractf128  $0x1,%ymm8,%xmm12
15781  .byte  196,66,57,43,196                    // vpackusdw     %xmm12,%xmm8,%xmm8
15782  .byte  196,193,25,113,240,8                // vpsllw        $0x8,%xmm8,%xmm12
15783  .byte  196,193,57,113,208,8                // vpsrlw        $0x8,%xmm8,%xmm8
15784  .byte  196,65,25,235,192                   // vpor          %xmm8,%xmm12,%xmm8
15785  .byte  196,65,49,97,226                    // vpunpcklwd    %xmm10,%xmm9,%xmm12
15786  .byte  196,65,49,105,234                   // vpunpckhwd    %xmm10,%xmm9,%xmm13
15787  .byte  196,65,33,97,200                    // vpunpcklwd    %xmm8,%xmm11,%xmm9
15788  .byte  196,65,33,105,192                   // vpunpckhwd    %xmm8,%xmm11,%xmm8
15789  .byte  196,65,25,98,217                    // vpunpckldq    %xmm9,%xmm12,%xmm11
15790  .byte  196,65,25,106,209                   // vpunpckhdq    %xmm9,%xmm12,%xmm10
15791  .byte  196,65,17,98,200                    // vpunpckldq    %xmm8,%xmm13,%xmm9
15792  .byte  196,65,17,106,192                   // vpunpckhdq    %xmm8,%xmm13,%xmm8
15793  .byte  77,133,192                          // test          %r8,%r8
15794  .byte  117,31                              // jne           46a5 <_sk_store_u16_be_hsw+0xfa>
15795  .byte  196,65,120,17,28,65                 // vmovups       %xmm11,(%r9,%rax,2)
15796  .byte  196,65,120,17,84,65,16              // vmovups       %xmm10,0x10(%r9,%rax,2)
15797  .byte  196,65,120,17,76,65,32              // vmovups       %xmm9,0x20(%r9,%rax,2)
15798  .byte  196,65,122,127,68,65,48             // vmovdqu       %xmm8,0x30(%r9,%rax,2)
15799  .byte  72,173                              // lods          %ds:(%rsi),%rax
15800  .byte  255,224                             // jmpq          *%rax
15801  .byte  196,65,121,214,28,65                // vmovq         %xmm11,(%r9,%rax,2)
15802  .byte  73,131,248,1                        // cmp           $0x1,%r8
15803  .byte  116,240                             // je            46a1 <_sk_store_u16_be_hsw+0xf6>
15804  .byte  196,65,121,23,92,65,8               // vmovhpd       %xmm11,0x8(%r9,%rax,2)
15805  .byte  73,131,248,3                        // cmp           $0x3,%r8
15806  .byte  114,227                             // jb            46a1 <_sk_store_u16_be_hsw+0xf6>
15807  .byte  196,65,121,214,84,65,16             // vmovq         %xmm10,0x10(%r9,%rax,2)
15808  .byte  116,218                             // je            46a1 <_sk_store_u16_be_hsw+0xf6>
15809  .byte  196,65,121,23,84,65,24              // vmovhpd       %xmm10,0x18(%r9,%rax,2)
15810  .byte  73,131,248,5                        // cmp           $0x5,%r8
15811  .byte  114,205                             // jb            46a1 <_sk_store_u16_be_hsw+0xf6>
15812  .byte  196,65,121,214,76,65,32             // vmovq         %xmm9,0x20(%r9,%rax,2)
15813  .byte  116,196                             // je            46a1 <_sk_store_u16_be_hsw+0xf6>
15814  .byte  196,65,121,23,76,65,40              // vmovhpd       %xmm9,0x28(%r9,%rax,2)
15815  .byte  73,131,248,7                        // cmp           $0x7,%r8
15816  .byte  114,183                             // jb            46a1 <_sk_store_u16_be_hsw+0xf6>
15817  .byte  196,65,121,214,68,65,48             // vmovq         %xmm8,0x30(%r9,%rax,2)
15818  .byte  235,174                             // jmp           46a1 <_sk_store_u16_be_hsw+0xf6>
15819
15820HIDDEN _sk_load_f32_hsw
15821.globl _sk_load_f32_hsw
15822FUNCTION(_sk_load_f32_hsw)
15823_sk_load_f32_hsw:
15824  .byte  72,173                              // lods          %ds:(%rsi),%rax
15825  .byte  73,131,248,7                        // cmp           $0x7,%r8
15826  .byte  119,110                             // ja            4769 <_sk_load_f32_hsw+0x76>
15827  .byte  76,139,8                            // mov           (%rax),%r9
15828  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
15829  .byte  76,141,29,135,0,0,0                 // lea           0x87(%rip),%r11        # 4794 <_sk_load_f32_hsw+0xa1>
15830  .byte  75,99,4,131                         // movslq        (%r11,%r8,4),%rax
15831  .byte  76,1,216                            // add           %r11,%rax
15832  .byte  255,224                             // jmpq          *%rax
15833  .byte  196,3,125,24,68,145,112,1           // vinsertf128   $0x1,0x70(%r9,%r10,4),%ymm0,%ymm8
15834  .byte  196,131,125,24,92,145,96,1          // vinsertf128   $0x1,0x60(%r9,%r10,4),%ymm0,%ymm3
15835  .byte  196,131,125,24,76,145,80,1          // vinsertf128   $0x1,0x50(%r9,%r10,4),%ymm0,%ymm1
15836  .byte  196,131,125,24,84,145,64,1          // vinsertf128   $0x1,0x40(%r9,%r10,4),%ymm0,%ymm2
15837  .byte  196,129,121,16,68,145,48            // vmovupd       0x30(%r9,%r10,4),%xmm0
15838  .byte  196,195,125,13,192,12               // vblendpd      $0xc,%ymm8,%ymm0,%ymm0
15839  .byte  196,1,121,16,68,145,32              // vmovupd       0x20(%r9,%r10,4),%xmm8
15840  .byte  196,99,61,13,203,12                 // vblendpd      $0xc,%ymm3,%ymm8,%ymm9
15841  .byte  196,129,121,16,92,145,16            // vmovupd       0x10(%r9,%r10,4),%xmm3
15842  .byte  196,99,101,13,209,12                // vblendpd      $0xc,%ymm1,%ymm3,%ymm10
15843  .byte  196,129,121,16,12,145               // vmovupd       (%r9,%r10,4),%xmm1
15844  .byte  196,227,117,13,202,12               // vblendpd      $0xc,%ymm2,%ymm1,%ymm1
15845  .byte  196,193,116,20,210                  // vunpcklps     %ymm10,%ymm1,%ymm2
15846  .byte  196,193,116,21,218                  // vunpckhps     %ymm10,%ymm1,%ymm3
15847  .byte  197,180,20,200                      // vunpcklps     %ymm0,%ymm9,%ymm1
15848  .byte  197,52,21,192                       // vunpckhps     %ymm0,%ymm9,%ymm8
15849  .byte  197,237,20,193                      // vunpcklpd     %ymm1,%ymm2,%ymm0
15850  .byte  197,237,21,201                      // vunpckhpd     %ymm1,%ymm2,%ymm1
15851  .byte  196,193,101,20,208                  // vunpcklpd     %ymm8,%ymm3,%ymm2
15852  .byte  196,193,101,21,216                  // vunpckhpd     %ymm8,%ymm3,%ymm3
15853  .byte  72,173                              // lods          %ds:(%rsi),%rax
15854  .byte  255,224                             // jmpq          *%rax
15855  .byte  15,31,0                             // nopl          (%rax)
15856  .byte  130                                 // (bad)
15857  .byte  255                                 // (bad)
15858  .byte  255                                 // (bad)
15859  .byte  255,201                             // dec           %ecx
15860  .byte  255                                 // (bad)
15861  .byte  255                                 // (bad)
15862  .byte  255                                 // (bad)
15863  .byte  188,255,255,255,175                 // mov           $0xafffffff,%esp
15864  .byte  255                                 // (bad)
15865  .byte  255                                 // (bad)
15866  .byte  255,162,255,255,255,154             // jmpq          *-0x65000001(%rdx)
15867  .byte  255                                 // (bad)
15868  .byte  255                                 // (bad)
15869  .byte  255,146,255,255,255,138             // callq         *-0x75000001(%rdx)
15870  .byte  255                                 // (bad)
15871  .byte  255                                 // (bad)
15872  .byte  255                                 // .byte         0xff
15873
15874HIDDEN _sk_load_f32_dst_hsw
15875.globl _sk_load_f32_dst_hsw
15876FUNCTION(_sk_load_f32_dst_hsw)
15877_sk_load_f32_dst_hsw:
15878  .byte  72,173                              // lods          %ds:(%rsi),%rax
15879  .byte  73,131,248,7                        // cmp           $0x7,%r8
15880  .byte  119,110                             // ja            482a <_sk_load_f32_dst_hsw+0x76>
15881  .byte  76,139,8                            // mov           (%rax),%r9
15882  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
15883  .byte  76,141,29,134,0,0,0                 // lea           0x86(%rip),%r11        # 4854 <_sk_load_f32_dst_hsw+0xa0>
15884  .byte  75,99,4,131                         // movslq        (%r11,%r8,4),%rax
15885  .byte  76,1,216                            // add           %r11,%rax
15886  .byte  255,224                             // jmpq          *%rax
15887  .byte  196,3,125,24,68,145,112,1           // vinsertf128   $0x1,0x70(%r9,%r10,4),%ymm0,%ymm8
15888  .byte  196,131,125,24,124,145,96,1         // vinsertf128   $0x1,0x60(%r9,%r10,4),%ymm0,%ymm7
15889  .byte  196,131,125,24,108,145,80,1         // vinsertf128   $0x1,0x50(%r9,%r10,4),%ymm0,%ymm5
15890  .byte  196,131,125,24,116,145,64,1         // vinsertf128   $0x1,0x40(%r9,%r10,4),%ymm0,%ymm6
15891  .byte  196,129,121,16,100,145,48           // vmovupd       0x30(%r9,%r10,4),%xmm4
15892  .byte  196,195,93,13,224,12                // vblendpd      $0xc,%ymm8,%ymm4,%ymm4
15893  .byte  196,1,121,16,68,145,32              // vmovupd       0x20(%r9,%r10,4),%xmm8
15894  .byte  196,99,61,13,207,12                 // vblendpd      $0xc,%ymm7,%ymm8,%ymm9
15895  .byte  196,129,121,16,124,145,16           // vmovupd       0x10(%r9,%r10,4),%xmm7
15896  .byte  196,99,69,13,213,12                 // vblendpd      $0xc,%ymm5,%ymm7,%ymm10
15897  .byte  196,129,121,16,44,145               // vmovupd       (%r9,%r10,4),%xmm5
15898  .byte  196,227,85,13,238,12                // vblendpd      $0xc,%ymm6,%ymm5,%ymm5
15899  .byte  196,193,84,20,242                   // vunpcklps     %ymm10,%ymm5,%ymm6
15900  .byte  196,193,84,21,250                   // vunpckhps     %ymm10,%ymm5,%ymm7
15901  .byte  197,180,20,236                      // vunpcklps     %ymm4,%ymm9,%ymm5
15902  .byte  197,52,21,196                       // vunpckhps     %ymm4,%ymm9,%ymm8
15903  .byte  197,205,20,229                      // vunpcklpd     %ymm5,%ymm6,%ymm4
15904  .byte  197,205,21,237                      // vunpckhpd     %ymm5,%ymm6,%ymm5
15905  .byte  196,193,69,20,240                   // vunpcklpd     %ymm8,%ymm7,%ymm6
15906  .byte  196,193,69,21,248                   // vunpckhpd     %ymm8,%ymm7,%ymm7
15907  .byte  72,173                              // lods          %ds:(%rsi),%rax
15908  .byte  255,224                             // jmpq          *%rax
15909  .byte  102,144                             // xchg          %ax,%ax
15910  .byte  131,255,255                         // cmp           $0xffffffff,%edi
15911  .byte  255,202                             // dec           %edx
15912  .byte  255                                 // (bad)
15913  .byte  255                                 // (bad)
15914  .byte  255                                 // (bad)
15915  .byte  189,255,255,255,176                 // mov           $0xb0ffffff,%ebp
15916  .byte  255                                 // (bad)
15917  .byte  255                                 // (bad)
15918  .byte  255,163,255,255,255,155             // jmpq          *-0x64000001(%rbx)
15919  .byte  255                                 // (bad)
15920  .byte  255                                 // (bad)
15921  .byte  255,147,255,255,255,139             // callq         *-0x74000001(%rbx)
15922  .byte  255                                 // (bad)
15923  .byte  255                                 // (bad)
15924  .byte  255                                 // .byte         0xff
15925
15926HIDDEN _sk_store_f32_hsw
15927.globl _sk_store_f32_hsw
15928FUNCTION(_sk_store_f32_hsw)
15929_sk_store_f32_hsw:
15930  .byte  72,173                              // lods          %ds:(%rsi),%rax
15931  .byte  76,139,8                            // mov           (%rax),%r9
15932  .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
15933  .byte  197,124,20,193                      // vunpcklps     %ymm1,%ymm0,%ymm8
15934  .byte  197,124,21,217                      // vunpckhps     %ymm1,%ymm0,%ymm11
15935  .byte  197,108,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm9
15936  .byte  197,108,21,227                      // vunpckhps     %ymm3,%ymm2,%ymm12
15937  .byte  196,65,61,20,209                    // vunpcklpd     %ymm9,%ymm8,%ymm10
15938  .byte  196,65,61,21,201                    // vunpckhpd     %ymm9,%ymm8,%ymm9
15939  .byte  196,65,37,20,196                    // vunpcklpd     %ymm12,%ymm11,%ymm8
15940  .byte  196,65,37,21,220                    // vunpckhpd     %ymm12,%ymm11,%ymm11
15941  .byte  77,133,192                          // test          %r8,%r8
15942  .byte  117,55                              // jne           48e1 <_sk_store_f32_hsw+0x6d>
15943  .byte  196,67,45,24,225,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm12
15944  .byte  196,67,61,24,235,1                  // vinsertf128   $0x1,%xmm11,%ymm8,%ymm13
15945  .byte  196,67,45,6,201,49                  // vperm2f128    $0x31,%ymm9,%ymm10,%ymm9
15946  .byte  196,67,61,6,195,49                  // vperm2f128    $0x31,%ymm11,%ymm8,%ymm8
15947  .byte  196,65,125,17,36,129                // vmovupd       %ymm12,(%r9,%rax,4)
15948  .byte  196,65,125,17,108,129,32            // vmovupd       %ymm13,0x20(%r9,%rax,4)
15949  .byte  196,65,125,17,76,129,64             // vmovupd       %ymm9,0x40(%r9,%rax,4)
15950  .byte  196,65,125,17,68,129,96             // vmovupd       %ymm8,0x60(%r9,%rax,4)
15951  .byte  72,173                              // lods          %ds:(%rsi),%rax
15952  .byte  255,224                             // jmpq          *%rax
15953  .byte  196,65,121,17,20,129                // vmovupd       %xmm10,(%r9,%rax,4)
15954  .byte  73,131,248,1                        // cmp           $0x1,%r8
15955  .byte  116,240                             // je            48dd <_sk_store_f32_hsw+0x69>
15956  .byte  196,65,121,17,76,129,16             // vmovupd       %xmm9,0x10(%r9,%rax,4)
15957  .byte  73,131,248,3                        // cmp           $0x3,%r8
15958  .byte  114,227                             // jb            48dd <_sk_store_f32_hsw+0x69>
15959  .byte  196,65,121,17,68,129,32             // vmovupd       %xmm8,0x20(%r9,%rax,4)
15960  .byte  116,218                             // je            48dd <_sk_store_f32_hsw+0x69>
15961  .byte  196,65,121,17,92,129,48             // vmovupd       %xmm11,0x30(%r9,%rax,4)
15962  .byte  73,131,248,5                        // cmp           $0x5,%r8
15963  .byte  114,205                             // jb            48dd <_sk_store_f32_hsw+0x69>
15964  .byte  196,67,125,25,84,129,64,1           // vextractf128  $0x1,%ymm10,0x40(%r9,%rax,4)
15965  .byte  116,195                             // je            48dd <_sk_store_f32_hsw+0x69>
15966  .byte  196,67,125,25,76,129,80,1           // vextractf128  $0x1,%ymm9,0x50(%r9,%rax,4)
15967  .byte  73,131,248,7                        // cmp           $0x7,%r8
15968  .byte  114,181                             // jb            48dd <_sk_store_f32_hsw+0x69>
15969  .byte  196,67,125,25,68,129,96,1           // vextractf128  $0x1,%ymm8,0x60(%r9,%rax,4)
15970  .byte  235,171                             // jmp           48dd <_sk_store_f32_hsw+0x69>
15971
15972HIDDEN _sk_clamp_x_hsw
15973.globl _sk_clamp_x_hsw
15974FUNCTION(_sk_clamp_x_hsw)
15975_sk_clamp_x_hsw:
15976  .byte  72,173                              // lods          %ds:(%rsi),%rax
15977  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
15978  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
15979  .byte  196,98,125,88,0                     // vpbroadcastd  (%rax),%ymm8
15980  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
15981  .byte  196,65,61,254,193                   // vpaddd        %ymm9,%ymm8,%ymm8
15982  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
15983  .byte  72,173                              // lods          %ds:(%rsi),%rax
15984  .byte  255,224                             // jmpq          *%rax
15985
15986HIDDEN _sk_clamp_y_hsw
15987.globl _sk_clamp_y_hsw
15988FUNCTION(_sk_clamp_y_hsw)
15989_sk_clamp_y_hsw:
15990  .byte  72,173                              // lods          %ds:(%rsi),%rax
15991  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
15992  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
15993  .byte  196,98,125,88,0                     // vpbroadcastd  (%rax),%ymm8
15994  .byte  196,65,53,118,201                   // vpcmpeqd      %ymm9,%ymm9,%ymm9
15995  .byte  196,65,61,254,193                   // vpaddd        %ymm9,%ymm8,%ymm8
15996  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
15997  .byte  72,173                              // lods          %ds:(%rsi),%rax
15998  .byte  255,224                             // jmpq          *%rax
15999
16000HIDDEN _sk_repeat_x_hsw
16001.globl _sk_repeat_x_hsw
16002FUNCTION(_sk_repeat_x_hsw)
16003_sk_repeat_x_hsw:
16004  .byte  72,173                              // lods          %ds:(%rsi),%rax
16005  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
16006  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
16007  .byte  196,67,125,8,192,1                  // vroundps      $0x1,%ymm8,%ymm8
16008  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
16009  .byte  196,98,53,172,192                   // vfnmadd213ps  %ymm0,%ymm9,%ymm8
16010  .byte  197,253,118,192                     // vpcmpeqd      %ymm0,%ymm0,%ymm0
16011  .byte  197,181,254,192                     // vpaddd        %ymm0,%ymm9,%ymm0
16012  .byte  197,188,93,192                      // vminps        %ymm0,%ymm8,%ymm0
16013  .byte  72,173                              // lods          %ds:(%rsi),%rax
16014  .byte  255,224                             // jmpq          *%rax
16015
16016HIDDEN _sk_repeat_y_hsw
16017.globl _sk_repeat_y_hsw
16018FUNCTION(_sk_repeat_y_hsw)
16019_sk_repeat_y_hsw:
16020  .byte  72,173                              // lods          %ds:(%rsi),%rax
16021  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
16022  .byte  197,60,89,193                       // vmulps        %ymm1,%ymm8,%ymm8
16023  .byte  196,67,125,8,192,1                  // vroundps      $0x1,%ymm8,%ymm8
16024  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
16025  .byte  196,98,53,172,193                   // vfnmadd213ps  %ymm1,%ymm9,%ymm8
16026  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
16027  .byte  197,181,254,201                     // vpaddd        %ymm1,%ymm9,%ymm1
16028  .byte  197,188,93,201                      // vminps        %ymm1,%ymm8,%ymm1
16029  .byte  72,173                              // lods          %ds:(%rsi),%rax
16030  .byte  255,224                             // jmpq          *%rax
16031
16032HIDDEN _sk_mirror_x_hsw
16033.globl _sk_mirror_x_hsw
16034FUNCTION(_sk_mirror_x_hsw)
16035_sk_mirror_x_hsw:
16036  .byte  72,173                              // lods          %ds:(%rsi),%rax
16037  .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
16038  .byte  197,122,16,72,4                     // vmovss        0x4(%rax),%xmm9
16039  .byte  196,66,125,24,208                   // vbroadcastss  %xmm8,%ymm10
16040  .byte  196,65,124,92,218                   // vsubps        %ymm10,%ymm0,%ymm11
16041  .byte  196,193,58,88,192                   // vaddss        %xmm8,%xmm8,%xmm0
16042  .byte  196,98,125,24,192                   // vbroadcastss  %xmm0,%ymm8
16043  .byte  197,178,89,5,197,17,0,0             // vmulss        0x11c5(%rip),%xmm9,%xmm0        # 5bbc <_sk_callback_hsw+0x4d8>
16044  .byte  196,226,125,24,192                  // vbroadcastss  %xmm0,%ymm0
16045  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
16046  .byte  196,227,125,8,192,1                 // vroundps      $0x1,%ymm0,%ymm0
16047  .byte  196,194,61,172,195                  // vfnmadd213ps  %ymm11,%ymm8,%ymm0
16048  .byte  196,193,124,92,194                  // vsubps        %ymm10,%ymm0,%ymm0
16049  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
16050  .byte  197,60,92,192                       // vsubps        %ymm0,%ymm8,%ymm8
16051  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
16052  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
16053  .byte  196,65,45,254,192                   // vpaddd        %ymm8,%ymm10,%ymm8
16054  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
16055  .byte  72,173                              // lods          %ds:(%rsi),%rax
16056  .byte  255,224                             // jmpq          *%rax
16057
16058HIDDEN _sk_mirror_y_hsw
16059.globl _sk_mirror_y_hsw
16060FUNCTION(_sk_mirror_y_hsw)
16061_sk_mirror_y_hsw:
16062  .byte  72,173                              // lods          %ds:(%rsi),%rax
16063  .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
16064  .byte  197,122,16,72,4                     // vmovss        0x4(%rax),%xmm9
16065  .byte  196,66,125,24,208                   // vbroadcastss  %xmm8,%ymm10
16066  .byte  196,65,116,92,218                   // vsubps        %ymm10,%ymm1,%ymm11
16067  .byte  196,193,58,88,200                   // vaddss        %xmm8,%xmm8,%xmm1
16068  .byte  196,98,125,24,193                   // vbroadcastss  %xmm1,%ymm8
16069  .byte  197,178,89,13,105,17,0,0            // vmulss        0x1169(%rip),%xmm9,%xmm1        # 5bc0 <_sk_callback_hsw+0x4dc>
16070  .byte  196,226,125,24,201                  // vbroadcastss  %xmm1,%ymm1
16071  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
16072  .byte  196,227,125,8,201,1                 // vroundps      $0x1,%ymm1,%ymm1
16073  .byte  196,194,61,172,203                  // vfnmadd213ps  %ymm11,%ymm8,%ymm1
16074  .byte  196,193,116,92,202                  // vsubps        %ymm10,%ymm1,%ymm1
16075  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
16076  .byte  197,60,92,193                       // vsubps        %ymm1,%ymm8,%ymm8
16077  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
16078  .byte  196,65,61,118,192                   // vpcmpeqd      %ymm8,%ymm8,%ymm8
16079  .byte  196,65,45,254,192                   // vpaddd        %ymm8,%ymm10,%ymm8
16080  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
16081  .byte  72,173                              // lods          %ds:(%rsi),%rax
16082  .byte  255,224                             // jmpq          *%rax
16083
16084HIDDEN _sk_clamp_x_1_hsw
16085.globl _sk_clamp_x_1_hsw
16086FUNCTION(_sk_clamp_x_1_hsw)
16087_sk_clamp_x_1_hsw:
16088  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
16089  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
16090  .byte  196,98,125,24,5,34,17,0,0           // vbroadcastss  0x1122(%rip),%ymm8        # 5bc4 <_sk_callback_hsw+0x4e0>
16091  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
16092  .byte  72,173                              // lods          %ds:(%rsi),%rax
16093  .byte  255,224                             // jmpq          *%rax
16094
16095HIDDEN _sk_repeat_x_1_hsw
16096.globl _sk_repeat_x_1_hsw
16097FUNCTION(_sk_repeat_x_1_hsw)
16098_sk_repeat_x_1_hsw:
16099  .byte  196,99,125,8,192,1                  // vroundps      $0x1,%ymm0,%ymm8
16100  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
16101  .byte  72,173                              // lods          %ds:(%rsi),%rax
16102  .byte  255,224                             // jmpq          *%rax
16103
16104HIDDEN _sk_mirror_x_1_hsw
16105.globl _sk_mirror_x_1_hsw
16106FUNCTION(_sk_mirror_x_1_hsw)
16107_sk_mirror_x_1_hsw:
16108  .byte  196,98,125,24,5,5,17,0,0            // vbroadcastss  0x1105(%rip),%ymm8        # 5bc8 <_sk_callback_hsw+0x4e4>
16109  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
16110  .byte  196,98,125,24,13,251,16,0,0         // vbroadcastss  0x10fb(%rip),%ymm9        # 5bcc <_sk_callback_hsw+0x4e8>
16111  .byte  196,65,124,89,201                   // vmulps        %ymm9,%ymm0,%ymm9
16112  .byte  196,67,125,8,201,1                  // vroundps      $0x1,%ymm9,%ymm9
16113  .byte  196,65,52,88,201                    // vaddps        %ymm9,%ymm9,%ymm9
16114  .byte  196,193,124,92,193                  // vsubps        %ymm9,%ymm0,%ymm0
16115  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
16116  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
16117  .byte  197,60,92,192                       // vsubps        %ymm0,%ymm8,%ymm8
16118  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
16119  .byte  72,173                              // lods          %ds:(%rsi),%rax
16120  .byte  255,224                             // jmpq          *%rax
16121
16122HIDDEN _sk_luminance_to_alpha_hsw
16123.globl _sk_luminance_to_alpha_hsw
16124FUNCTION(_sk_luminance_to_alpha_hsw)
16125_sk_luminance_to_alpha_hsw:
16126  .byte  196,226,125,24,29,203,16,0,0        // vbroadcastss  0x10cb(%rip),%ymm3        # 5bd0 <_sk_callback_hsw+0x4ec>
16127  .byte  196,98,125,24,5,198,16,0,0          // vbroadcastss  0x10c6(%rip),%ymm8        # 5bd4 <_sk_callback_hsw+0x4f0>
16128  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
16129  .byte  196,226,125,184,203                 // vfmadd231ps   %ymm3,%ymm0,%ymm1
16130  .byte  196,226,125,24,29,183,16,0,0        // vbroadcastss  0x10b7(%rip),%ymm3        # 5bd8 <_sk_callback_hsw+0x4f4>
16131  .byte  196,226,109,168,217                 // vfmadd213ps   %ymm1,%ymm2,%ymm3
16132  .byte  72,173                              // lods          %ds:(%rsi),%rax
16133  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
16134  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
16135  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
16136  .byte  255,224                             // jmpq          *%rax
16137
16138HIDDEN _sk_matrix_translate_hsw
16139.globl _sk_matrix_translate_hsw
16140FUNCTION(_sk_matrix_translate_hsw)
16141_sk_matrix_translate_hsw:
16142  .byte  72,173                              // lods          %ds:(%rsi),%rax
16143  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
16144  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
16145  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
16146  .byte  197,188,88,201                      // vaddps        %ymm1,%ymm8,%ymm1
16147  .byte  72,173                              // lods          %ds:(%rsi),%rax
16148  .byte  255,224                             // jmpq          *%rax
16149
16150HIDDEN _sk_matrix_scale_translate_hsw
16151.globl _sk_matrix_scale_translate_hsw
16152FUNCTION(_sk_matrix_scale_translate_hsw)
16153_sk_matrix_scale_translate_hsw:
16154  .byte  72,173                              // lods          %ds:(%rsi),%rax
16155  .byte  196,98,125,24,64,8                  // vbroadcastss  0x8(%rax),%ymm8
16156  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
16157  .byte  196,194,61,168,193                  // vfmadd213ps   %ymm9,%ymm8,%ymm0
16158  .byte  196,98,125,24,64,12                 // vbroadcastss  0xc(%rax),%ymm8
16159  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
16160  .byte  196,194,61,168,201                  // vfmadd213ps   %ymm9,%ymm8,%ymm1
16161  .byte  72,173                              // lods          %ds:(%rsi),%rax
16162  .byte  255,224                             // jmpq          *%rax
16163
16164HIDDEN _sk_matrix_2x3_hsw
16165.globl _sk_matrix_2x3_hsw
16166FUNCTION(_sk_matrix_2x3_hsw)
16167_sk_matrix_2x3_hsw:
16168  .byte  72,173                              // lods          %ds:(%rsi),%rax
16169  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
16170  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
16171  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
16172  .byte  196,66,117,184,194                  // vfmadd231ps   %ymm10,%ymm1,%ymm8
16173  .byte  196,66,125,184,193                  // vfmadd231ps   %ymm9,%ymm0,%ymm8
16174  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
16175  .byte  196,98,125,24,88,12                 // vbroadcastss  0xc(%rax),%ymm11
16176  .byte  196,98,125,24,72,20                 // vbroadcastss  0x14(%rax),%ymm9
16177  .byte  196,66,117,184,203                  // vfmadd231ps   %ymm11,%ymm1,%ymm9
16178  .byte  196,66,125,184,202                  // vfmadd231ps   %ymm10,%ymm0,%ymm9
16179  .byte  72,173                              // lods          %ds:(%rsi),%rax
16180  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
16181  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
16182  .byte  255,224                             // jmpq          *%rax
16183
16184HIDDEN _sk_matrix_3x4_hsw
16185.globl _sk_matrix_3x4_hsw
16186FUNCTION(_sk_matrix_3x4_hsw)
16187_sk_matrix_3x4_hsw:
16188  .byte  72,173                              // lods          %ds:(%rsi),%rax
16189  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
16190  .byte  196,98,125,24,80,12                 // vbroadcastss  0xc(%rax),%ymm10
16191  .byte  196,98,125,24,88,24                 // vbroadcastss  0x18(%rax),%ymm11
16192  .byte  196,98,125,24,64,36                 // vbroadcastss  0x24(%rax),%ymm8
16193  .byte  196,66,109,184,195                  // vfmadd231ps   %ymm11,%ymm2,%ymm8
16194  .byte  196,66,117,184,194                  // vfmadd231ps   %ymm10,%ymm1,%ymm8
16195  .byte  196,66,125,184,193                  // vfmadd231ps   %ymm9,%ymm0,%ymm8
16196  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
16197  .byte  196,98,125,24,88,16                 // vbroadcastss  0x10(%rax),%ymm11
16198  .byte  196,98,125,24,96,28                 // vbroadcastss  0x1c(%rax),%ymm12
16199  .byte  196,98,125,24,72,40                 // vbroadcastss  0x28(%rax),%ymm9
16200  .byte  196,66,109,184,204                  // vfmadd231ps   %ymm12,%ymm2,%ymm9
16201  .byte  196,66,117,184,203                  // vfmadd231ps   %ymm11,%ymm1,%ymm9
16202  .byte  196,66,125,184,202                  // vfmadd231ps   %ymm10,%ymm0,%ymm9
16203  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
16204  .byte  196,98,125,24,96,20                 // vbroadcastss  0x14(%rax),%ymm12
16205  .byte  196,98,125,24,104,32                // vbroadcastss  0x20(%rax),%ymm13
16206  .byte  196,98,125,24,80,44                 // vbroadcastss  0x2c(%rax),%ymm10
16207  .byte  196,66,109,184,213                  // vfmadd231ps   %ymm13,%ymm2,%ymm10
16208  .byte  196,66,117,184,212                  // vfmadd231ps   %ymm12,%ymm1,%ymm10
16209  .byte  196,66,125,184,211                  // vfmadd231ps   %ymm11,%ymm0,%ymm10
16210  .byte  72,173                              // lods          %ds:(%rsi),%rax
16211  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
16212  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
16213  .byte  197,124,41,210                      // vmovaps       %ymm10,%ymm2
16214  .byte  255,224                             // jmpq          *%rax
16215
16216HIDDEN _sk_matrix_4x5_hsw
16217.globl _sk_matrix_4x5_hsw
16218FUNCTION(_sk_matrix_4x5_hsw)
16219_sk_matrix_4x5_hsw:
16220  .byte  72,173                              // lods          %ds:(%rsi),%rax
16221  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
16222  .byte  196,98,125,24,80,16                 // vbroadcastss  0x10(%rax),%ymm10
16223  .byte  196,98,125,24,88,32                 // vbroadcastss  0x20(%rax),%ymm11
16224  .byte  196,98,125,24,96,48                 // vbroadcastss  0x30(%rax),%ymm12
16225  .byte  196,98,125,24,64,64                 // vbroadcastss  0x40(%rax),%ymm8
16226  .byte  196,66,101,184,196                  // vfmadd231ps   %ymm12,%ymm3,%ymm8
16227  .byte  196,66,109,184,195                  // vfmadd231ps   %ymm11,%ymm2,%ymm8
16228  .byte  196,66,117,184,194                  // vfmadd231ps   %ymm10,%ymm1,%ymm8
16229  .byte  196,66,125,184,193                  // vfmadd231ps   %ymm9,%ymm0,%ymm8
16230  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
16231  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
16232  .byte  196,98,125,24,96,36                 // vbroadcastss  0x24(%rax),%ymm12
16233  .byte  196,98,125,24,104,52                // vbroadcastss  0x34(%rax),%ymm13
16234  .byte  196,98,125,24,72,68                 // vbroadcastss  0x44(%rax),%ymm9
16235  .byte  196,66,101,184,205                  // vfmadd231ps   %ymm13,%ymm3,%ymm9
16236  .byte  196,66,109,184,204                  // vfmadd231ps   %ymm12,%ymm2,%ymm9
16237  .byte  196,66,117,184,203                  // vfmadd231ps   %ymm11,%ymm1,%ymm9
16238  .byte  196,66,125,184,202                  // vfmadd231ps   %ymm10,%ymm0,%ymm9
16239  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
16240  .byte  196,98,125,24,96,24                 // vbroadcastss  0x18(%rax),%ymm12
16241  .byte  196,98,125,24,104,40                // vbroadcastss  0x28(%rax),%ymm13
16242  .byte  196,98,125,24,112,56                // vbroadcastss  0x38(%rax),%ymm14
16243  .byte  196,98,125,24,80,72                 // vbroadcastss  0x48(%rax),%ymm10
16244  .byte  196,66,101,184,214                  // vfmadd231ps   %ymm14,%ymm3,%ymm10
16245  .byte  196,66,109,184,213                  // vfmadd231ps   %ymm13,%ymm2,%ymm10
16246  .byte  196,66,117,184,212                  // vfmadd231ps   %ymm12,%ymm1,%ymm10
16247  .byte  196,66,125,184,211                  // vfmadd231ps   %ymm11,%ymm0,%ymm10
16248  .byte  196,98,125,24,96,12                 // vbroadcastss  0xc(%rax),%ymm12
16249  .byte  196,98,125,24,104,28                // vbroadcastss  0x1c(%rax),%ymm13
16250  .byte  196,98,125,24,112,44                // vbroadcastss  0x2c(%rax),%ymm14
16251  .byte  196,98,125,24,120,60                // vbroadcastss  0x3c(%rax),%ymm15
16252  .byte  196,98,125,24,88,76                 // vbroadcastss  0x4c(%rax),%ymm11
16253  .byte  196,66,101,184,223                  // vfmadd231ps   %ymm15,%ymm3,%ymm11
16254  .byte  196,66,109,184,222                  // vfmadd231ps   %ymm14,%ymm2,%ymm11
16255  .byte  196,66,117,184,221                  // vfmadd231ps   %ymm13,%ymm1,%ymm11
16256  .byte  196,66,125,184,220                  // vfmadd231ps   %ymm12,%ymm0,%ymm11
16257  .byte  72,173                              // lods          %ds:(%rsi),%rax
16258  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
16259  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
16260  .byte  197,124,41,210                      // vmovaps       %ymm10,%ymm2
16261  .byte  197,124,41,219                      // vmovaps       %ymm11,%ymm3
16262  .byte  255,224                             // jmpq          *%rax
16263
16264HIDDEN _sk_matrix_4x3_hsw
16265.globl _sk_matrix_4x3_hsw
16266FUNCTION(_sk_matrix_4x3_hsw)
16267_sk_matrix_4x3_hsw:
16268  .byte  72,173                              // lods          %ds:(%rsi),%rax
16269  .byte  196,226,125,24,16                   // vbroadcastss  (%rax),%ymm2
16270  .byte  196,226,125,24,88,16                // vbroadcastss  0x10(%rax),%ymm3
16271  .byte  196,98,125,24,64,32                 // vbroadcastss  0x20(%rax),%ymm8
16272  .byte  196,98,117,184,195                  // vfmadd231ps   %ymm3,%ymm1,%ymm8
16273  .byte  196,98,125,184,194                  // vfmadd231ps   %ymm2,%ymm0,%ymm8
16274  .byte  196,226,125,24,80,4                 // vbroadcastss  0x4(%rax),%ymm2
16275  .byte  196,226,125,24,88,20                // vbroadcastss  0x14(%rax),%ymm3
16276  .byte  196,98,125,24,72,36                 // vbroadcastss  0x24(%rax),%ymm9
16277  .byte  196,98,117,184,203                  // vfmadd231ps   %ymm3,%ymm1,%ymm9
16278  .byte  196,98,125,184,202                  // vfmadd231ps   %ymm2,%ymm0,%ymm9
16279  .byte  196,226,125,24,88,8                 // vbroadcastss  0x8(%rax),%ymm3
16280  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
16281  .byte  196,226,125,24,80,40                // vbroadcastss  0x28(%rax),%ymm2
16282  .byte  196,194,117,184,210                 // vfmadd231ps   %ymm10,%ymm1,%ymm2
16283  .byte  196,226,125,184,211                 // vfmadd231ps   %ymm3,%ymm0,%ymm2
16284  .byte  196,98,125,24,80,12                 // vbroadcastss  0xc(%rax),%ymm10
16285  .byte  196,98,125,24,88,28                 // vbroadcastss  0x1c(%rax),%ymm11
16286  .byte  196,226,125,24,88,44                // vbroadcastss  0x2c(%rax),%ymm3
16287  .byte  196,194,117,184,219                 // vfmadd231ps   %ymm11,%ymm1,%ymm3
16288  .byte  196,194,125,184,218                 // vfmadd231ps   %ymm10,%ymm0,%ymm3
16289  .byte  72,173                              // lods          %ds:(%rsi),%rax
16290  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
16291  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
16292  .byte  255,224                             // jmpq          *%rax
16293
16294HIDDEN _sk_matrix_perspective_hsw
16295.globl _sk_matrix_perspective_hsw
16296FUNCTION(_sk_matrix_perspective_hsw)
16297_sk_matrix_perspective_hsw:
16298  .byte  72,173                              // lods          %ds:(%rsi),%rax
16299  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
16300  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
16301  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
16302  .byte  196,66,117,184,209                  // vfmadd231ps   %ymm9,%ymm1,%ymm10
16303  .byte  196,66,125,184,208                  // vfmadd231ps   %ymm8,%ymm0,%ymm10
16304  .byte  196,98,125,24,64,12                 // vbroadcastss  0xc(%rax),%ymm8
16305  .byte  196,98,125,24,72,16                 // vbroadcastss  0x10(%rax),%ymm9
16306  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
16307  .byte  196,66,117,184,217                  // vfmadd231ps   %ymm9,%ymm1,%ymm11
16308  .byte  196,66,125,184,216                  // vfmadd231ps   %ymm8,%ymm0,%ymm11
16309  .byte  196,98,125,24,64,24                 // vbroadcastss  0x18(%rax),%ymm8
16310  .byte  196,98,125,24,72,28                 // vbroadcastss  0x1c(%rax),%ymm9
16311  .byte  196,98,125,24,96,32                 // vbroadcastss  0x20(%rax),%ymm12
16312  .byte  196,66,117,184,225                  // vfmadd231ps   %ymm9,%ymm1,%ymm12
16313  .byte  196,66,125,184,224                  // vfmadd231ps   %ymm8,%ymm0,%ymm12
16314  .byte  196,193,124,83,204                  // vrcpps        %ymm12,%ymm1
16315  .byte  197,172,89,193                      // vmulps        %ymm1,%ymm10,%ymm0
16316  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
16317  .byte  72,173                              // lods          %ds:(%rsi),%rax
16318  .byte  255,224                             // jmpq          *%rax
16319
16320HIDDEN _sk_evenly_spaced_gradient_hsw
16321.globl _sk_evenly_spaced_gradient_hsw
16322FUNCTION(_sk_evenly_spaced_gradient_hsw)
16323_sk_evenly_spaced_gradient_hsw:
16324  .byte  83                                  // push          %rbx
16325  .byte  72,173                              // lods          %ds:(%rsi),%rax
16326  .byte  76,139,16                           // mov           (%rax),%r10
16327  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
16328  .byte  77,137,211                          // mov           %r10,%r11
16329  .byte  73,255,203                          // dec           %r11
16330  .byte  120,7                               // js            4e1a <_sk_evenly_spaced_gradient_hsw+0x19>
16331  .byte  196,193,242,42,203                  // vcvtsi2ss     %r11,%xmm1,%xmm1
16332  .byte  235,22                              // jmp           4e30 <_sk_evenly_spaced_gradient_hsw+0x2f>
16333  .byte  76,137,219                          // mov           %r11,%rbx
16334  .byte  72,209,235                          // shr           %rbx
16335  .byte  65,131,227,1                        // and           $0x1,%r11d
16336  .byte  73,9,219                            // or            %rbx,%r11
16337  .byte  196,193,242,42,203                  // vcvtsi2ss     %r11,%xmm1,%xmm1
16338  .byte  197,242,88,201                      // vaddss        %xmm1,%xmm1,%xmm1
16339  .byte  196,226,125,24,201                  // vbroadcastss  %xmm1,%ymm1
16340  .byte  197,244,89,200                      // vmulps        %ymm0,%ymm1,%ymm1
16341  .byte  197,126,91,217                      // vcvttps2dq    %ymm1,%ymm11
16342  .byte  73,131,250,8                        // cmp           $0x8,%r10
16343  .byte  119,70                              // ja            4e89 <_sk_evenly_spaced_gradient_hsw+0x88>
16344  .byte  196,66,37,22,1                      // vpermps       (%r9),%ymm11,%ymm8
16345  .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
16346  .byte  196,98,37,22,11                     // vpermps       (%rbx),%ymm11,%ymm9
16347  .byte  72,139,88,16                        // mov           0x10(%rax),%rbx
16348  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
16349  .byte  196,226,37,22,11                    // vpermps       (%rbx),%ymm11,%ymm1
16350  .byte  72,139,88,48                        // mov           0x30(%rax),%rbx
16351  .byte  196,98,37,22,19                     // vpermps       (%rbx),%ymm11,%ymm10
16352  .byte  196,194,37,22,17                    // vpermps       (%r9),%ymm11,%ymm2
16353  .byte  72,139,88,56                        // mov           0x38(%rax),%rbx
16354  .byte  196,98,37,22,35                     // vpermps       (%rbx),%ymm11,%ymm12
16355  .byte  72,139,88,32                        // mov           0x20(%rax),%rbx
16356  .byte  196,226,37,22,27                    // vpermps       (%rbx),%ymm11,%ymm3
16357  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
16358  .byte  196,98,37,22,40                     // vpermps       (%rax),%ymm11,%ymm13
16359  .byte  235,110                             // jmp           4ef7 <_sk_evenly_spaced_gradient_hsw+0xf6>
16360  .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
16361  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
16362  .byte  196,2,117,146,4,153                 // vgatherdps    %ymm1,(%r9,%ymm11,4),%ymm8
16363  .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
16364  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
16365  .byte  196,34,117,146,12,155               // vgatherdps    %ymm1,(%rbx,%ymm11,4),%ymm9
16366  .byte  72,139,88,16                        // mov           0x10(%rax),%rbx
16367  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
16368  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
16369  .byte  196,162,109,146,12,155              // vgatherdps    %ymm2,(%rbx,%ymm11,4),%ymm1
16370  .byte  72,139,88,48                        // mov           0x30(%rax),%rbx
16371  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
16372  .byte  196,34,109,146,20,155               // vgatherdps    %ymm2,(%rbx,%ymm11,4),%ymm10
16373  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
16374  .byte  196,130,101,146,20,153              // vgatherdps    %ymm3,(%r9,%ymm11,4),%ymm2
16375  .byte  72,139,88,56                        // mov           0x38(%rax),%rbx
16376  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
16377  .byte  196,34,101,146,36,155               // vgatherdps    %ymm3,(%rbx,%ymm11,4),%ymm12
16378  .byte  72,139,88,32                        // mov           0x20(%rax),%rbx
16379  .byte  196,65,21,118,237                   // vpcmpeqd      %ymm13,%ymm13,%ymm13
16380  .byte  196,162,21,146,28,155               // vgatherdps    %ymm13,(%rbx,%ymm11,4),%ymm3
16381  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
16382  .byte  196,34,13,146,44,152                // vgatherdps    %ymm14,(%rax,%ymm11,4),%ymm13
16383  .byte  196,66,125,168,193                  // vfmadd213ps   %ymm9,%ymm0,%ymm8
16384  .byte  196,194,125,168,202                 // vfmadd213ps   %ymm10,%ymm0,%ymm1
16385  .byte  196,194,125,168,212                 // vfmadd213ps   %ymm12,%ymm0,%ymm2
16386  .byte  196,194,125,168,221                 // vfmadd213ps   %ymm13,%ymm0,%ymm3
16387  .byte  72,173                              // lods          %ds:(%rsi),%rax
16388  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
16389  .byte  91                                  // pop           %rbx
16390  .byte  255,224                             // jmpq          *%rax
16391
16392HIDDEN _sk_gauss_a_to_rgba_hsw
16393.globl _sk_gauss_a_to_rgba_hsw
16394FUNCTION(_sk_gauss_a_to_rgba_hsw)
16395_sk_gauss_a_to_rgba_hsw:
16396  .byte  196,226,125,24,5,191,12,0,0         // vbroadcastss  0xcbf(%rip),%ymm0        # 5bdc <_sk_callback_hsw+0x4f8>
16397  .byte  196,226,125,24,13,186,12,0,0        // vbroadcastss  0xcba(%rip),%ymm1        # 5be0 <_sk_callback_hsw+0x4fc>
16398  .byte  196,226,101,168,200                 // vfmadd213ps   %ymm0,%ymm3,%ymm1
16399  .byte  196,226,125,24,5,176,12,0,0         // vbroadcastss  0xcb0(%rip),%ymm0        # 5be4 <_sk_callback_hsw+0x500>
16400  .byte  196,226,101,184,193                 // vfmadd231ps   %ymm1,%ymm3,%ymm0
16401  .byte  196,226,125,24,13,166,12,0,0        // vbroadcastss  0xca6(%rip),%ymm1        # 5be8 <_sk_callback_hsw+0x504>
16402  .byte  196,226,101,184,200                 // vfmadd231ps   %ymm0,%ymm3,%ymm1
16403  .byte  196,226,125,24,5,156,12,0,0         // vbroadcastss  0xc9c(%rip),%ymm0        # 5bec <_sk_callback_hsw+0x508>
16404  .byte  196,226,101,184,193                 // vfmadd231ps   %ymm1,%ymm3,%ymm0
16405  .byte  72,173                              // lods          %ds:(%rsi),%rax
16406  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
16407  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
16408  .byte  197,252,40,216                      // vmovaps       %ymm0,%ymm3
16409  .byte  255,224                             // jmpq          *%rax
16410
16411HIDDEN _sk_gradient_hsw
16412.globl _sk_gradient_hsw
16413FUNCTION(_sk_gradient_hsw)
16414_sk_gradient_hsw:
16415  .byte  72,173                              // lods          %ds:(%rsi),%rax
16416  .byte  76,139,8                            // mov           (%rax),%r9
16417  .byte  73,131,249,1                        // cmp           $0x1,%r9
16418  .byte  15,134,180,0,0,0                    // jbe           5028 <_sk_gradient_hsw+0xc3>
16419  .byte  76,139,80,72                        // mov           0x48(%rax),%r10
16420  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
16421  .byte  65,187,1,0,0,0                      // mov           $0x1,%r11d
16422  .byte  196,226,125,24,21,101,12,0,0        // vbroadcastss  0xc65(%rip),%ymm2        # 5bf0 <_sk_callback_hsw+0x50c>
16423  .byte  196,65,53,239,201                   // vpxor         %ymm9,%ymm9,%ymm9
16424  .byte  196,130,125,24,28,154               // vbroadcastss  (%r10,%r11,4),%ymm3
16425  .byte  197,228,194,216,2                   // vcmpleps      %ymm0,%ymm3,%ymm3
16426  .byte  196,227,117,74,218,48               // vblendvps     %ymm3,%ymm2,%ymm1,%ymm3
16427  .byte  196,65,101,254,201                  // vpaddd        %ymm9,%ymm3,%ymm9
16428  .byte  73,255,195                          // inc           %r11
16429  .byte  77,57,217                           // cmp           %r11,%r9
16430  .byte  117,226                             // jne           4f90 <_sk_gradient_hsw+0x2b>
16431  .byte  76,139,80,8                         // mov           0x8(%rax),%r10
16432  .byte  73,131,249,8                        // cmp           $0x8,%r9
16433  .byte  118,121                             // jbe           5031 <_sk_gradient_hsw+0xcc>
16434  .byte  196,65,13,118,246                   // vpcmpeqd      %ymm14,%ymm14,%ymm14
16435  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
16436  .byte  196,2,117,146,4,138                 // vgatherdps    %ymm1,(%r10,%ymm9,4),%ymm8
16437  .byte  76,139,72,40                        // mov           0x28(%rax),%r9
16438  .byte  197,245,118,201                     // vpcmpeqd      %ymm1,%ymm1,%ymm1
16439  .byte  196,2,117,146,20,137                // vgatherdps    %ymm1,(%r9,%ymm9,4),%ymm10
16440  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
16441  .byte  76,139,80,24                        // mov           0x18(%rax),%r10
16442  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
16443  .byte  196,130,109,146,12,137              // vgatherdps    %ymm2,(%r9,%ymm9,4),%ymm1
16444  .byte  76,139,72,48                        // mov           0x30(%rax),%r9
16445  .byte  197,237,118,210                     // vpcmpeqd      %ymm2,%ymm2,%ymm2
16446  .byte  196,2,109,146,28,137                // vgatherdps    %ymm2,(%r9,%ymm9,4),%ymm11
16447  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
16448  .byte  196,130,101,146,20,138              // vgatherdps    %ymm3,(%r10,%ymm9,4),%ymm2
16449  .byte  76,139,72,56                        // mov           0x38(%rax),%r9
16450  .byte  197,229,118,219                     // vpcmpeqd      %ymm3,%ymm3,%ymm3
16451  .byte  196,2,101,146,36,137                // vgatherdps    %ymm3,(%r9,%ymm9,4),%ymm12
16452  .byte  76,139,72,32                        // mov           0x20(%rax),%r9
16453  .byte  196,65,21,118,237                   // vpcmpeqd      %ymm13,%ymm13,%ymm13
16454  .byte  196,130,21,146,28,137               // vgatherdps    %ymm13,(%r9,%ymm9,4),%ymm3
16455  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
16456  .byte  196,34,13,146,44,136                // vgatherdps    %ymm14,(%rax,%ymm9,4),%ymm13
16457  .byte  235,77                              // jmp           5075 <_sk_gradient_hsw+0x110>
16458  .byte  76,139,80,8                         // mov           0x8(%rax),%r10
16459  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
16460  .byte  196,66,53,22,2                      // vpermps       (%r10),%ymm9,%ymm8
16461  .byte  76,139,72,40                        // mov           0x28(%rax),%r9
16462  .byte  196,66,53,22,17                     // vpermps       (%r9),%ymm9,%ymm10
16463  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
16464  .byte  76,139,80,24                        // mov           0x18(%rax),%r10
16465  .byte  196,194,53,22,9                     // vpermps       (%r9),%ymm9,%ymm1
16466  .byte  76,139,72,48                        // mov           0x30(%rax),%r9
16467  .byte  196,66,53,22,25                     // vpermps       (%r9),%ymm9,%ymm11
16468  .byte  196,194,53,22,18                    // vpermps       (%r10),%ymm9,%ymm2
16469  .byte  76,139,72,56                        // mov           0x38(%rax),%r9
16470  .byte  196,66,53,22,33                     // vpermps       (%r9),%ymm9,%ymm12
16471  .byte  76,139,72,32                        // mov           0x20(%rax),%r9
16472  .byte  196,194,53,22,25                    // vpermps       (%r9),%ymm9,%ymm3
16473  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
16474  .byte  196,98,53,22,40                     // vpermps       (%rax),%ymm9,%ymm13
16475  .byte  196,66,125,168,194                  // vfmadd213ps   %ymm10,%ymm0,%ymm8
16476  .byte  196,194,125,168,203                 // vfmadd213ps   %ymm11,%ymm0,%ymm1
16477  .byte  196,194,125,168,212                 // vfmadd213ps   %ymm12,%ymm0,%ymm2
16478  .byte  196,194,125,168,221                 // vfmadd213ps   %ymm13,%ymm0,%ymm3
16479  .byte  72,173                              // lods          %ds:(%rsi),%rax
16480  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
16481  .byte  255,224                             // jmpq          *%rax
16482
16483HIDDEN _sk_evenly_spaced_2_stop_gradient_hsw
16484.globl _sk_evenly_spaced_2_stop_gradient_hsw
16485FUNCTION(_sk_evenly_spaced_2_stop_gradient_hsw)
16486_sk_evenly_spaced_2_stop_gradient_hsw:
16487  .byte  72,173                              // lods          %ds:(%rsi),%rax
16488  .byte  196,226,125,24,8                    // vbroadcastss  (%rax),%ymm1
16489  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
16490  .byte  196,98,125,184,193                  // vfmadd231ps   %ymm1,%ymm0,%ymm8
16491  .byte  196,226,125,24,80,4                 // vbroadcastss  0x4(%rax),%ymm2
16492  .byte  196,226,125,24,72,20                // vbroadcastss  0x14(%rax),%ymm1
16493  .byte  196,226,125,184,202                 // vfmadd231ps   %ymm2,%ymm0,%ymm1
16494  .byte  196,226,125,24,88,8                 // vbroadcastss  0x8(%rax),%ymm3
16495  .byte  196,226,125,24,80,24                // vbroadcastss  0x18(%rax),%ymm2
16496  .byte  196,226,125,184,211                 // vfmadd231ps   %ymm3,%ymm0,%ymm2
16497  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
16498  .byte  196,226,125,24,88,28                // vbroadcastss  0x1c(%rax),%ymm3
16499  .byte  196,194,125,184,217                 // vfmadd231ps   %ymm9,%ymm0,%ymm3
16500  .byte  72,173                              // lods          %ds:(%rsi),%rax
16501  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
16502  .byte  255,224                             // jmpq          *%rax
16503
16504HIDDEN _sk_xy_to_unit_angle_hsw
16505.globl _sk_xy_to_unit_angle_hsw
16506FUNCTION(_sk_xy_to_unit_angle_hsw)
16507_sk_xy_to_unit_angle_hsw:
16508  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
16509  .byte  197,60,92,200                       // vsubps        %ymm0,%ymm8,%ymm9
16510  .byte  197,52,84,200                       // vandps        %ymm0,%ymm9,%ymm9
16511  .byte  197,60,92,209                       // vsubps        %ymm1,%ymm8,%ymm10
16512  .byte  197,44,84,209                       // vandps        %ymm1,%ymm10,%ymm10
16513  .byte  196,65,52,93,218                    // vminps        %ymm10,%ymm9,%ymm11
16514  .byte  196,65,52,95,226                    // vmaxps        %ymm10,%ymm9,%ymm12
16515  .byte  196,65,36,94,220                    // vdivps        %ymm12,%ymm11,%ymm11
16516  .byte  196,65,36,89,227                    // vmulps        %ymm11,%ymm11,%ymm12
16517  .byte  196,98,125,24,45,228,10,0,0         // vbroadcastss  0xae4(%rip),%ymm13        # 5bf4 <_sk_callback_hsw+0x510>
16518  .byte  196,98,125,24,53,223,10,0,0         // vbroadcastss  0xadf(%rip),%ymm14        # 5bf8 <_sk_callback_hsw+0x514>
16519  .byte  196,66,29,184,245                   // vfmadd231ps   %ymm13,%ymm12,%ymm14
16520  .byte  196,98,125,24,45,213,10,0,0         // vbroadcastss  0xad5(%rip),%ymm13        # 5bfc <_sk_callback_hsw+0x518>
16521  .byte  196,66,29,184,238                   // vfmadd231ps   %ymm14,%ymm12,%ymm13
16522  .byte  196,98,125,24,53,203,10,0,0         // vbroadcastss  0xacb(%rip),%ymm14        # 5c00 <_sk_callback_hsw+0x51c>
16523  .byte  196,66,29,184,245                   // vfmadd231ps   %ymm13,%ymm12,%ymm14
16524  .byte  196,65,36,89,222                    // vmulps        %ymm14,%ymm11,%ymm11
16525  .byte  196,65,52,194,202,1                 // vcmpltps      %ymm10,%ymm9,%ymm9
16526  .byte  196,98,125,24,21,182,10,0,0         // vbroadcastss  0xab6(%rip),%ymm10        # 5c04 <_sk_callback_hsw+0x520>
16527  .byte  196,65,44,92,211                    // vsubps        %ymm11,%ymm10,%ymm10
16528  .byte  196,67,37,74,202,144                // vblendvps     %ymm9,%ymm10,%ymm11,%ymm9
16529  .byte  196,193,124,194,192,1               // vcmpltps      %ymm8,%ymm0,%ymm0
16530  .byte  196,98,125,24,21,160,10,0,0         // vbroadcastss  0xaa0(%rip),%ymm10        # 5c08 <_sk_callback_hsw+0x524>
16531  .byte  196,65,44,92,209                    // vsubps        %ymm9,%ymm10,%ymm10
16532  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
16533  .byte  196,65,116,194,200,1                // vcmpltps      %ymm8,%ymm1,%ymm9
16534  .byte  196,98,125,24,21,138,10,0,0         // vbroadcastss  0xa8a(%rip),%ymm10        # 5c0c <_sk_callback_hsw+0x528>
16535  .byte  197,44,92,208                       // vsubps        %ymm0,%ymm10,%ymm10
16536  .byte  196,195,125,74,194,144              // vblendvps     %ymm9,%ymm10,%ymm0,%ymm0
16537  .byte  196,65,124,194,200,3                // vcmpunordps   %ymm8,%ymm0,%ymm9
16538  .byte  196,195,125,74,192,144              // vblendvps     %ymm9,%ymm8,%ymm0,%ymm0
16539  .byte  72,173                              // lods          %ds:(%rsi),%rax
16540  .byte  255,224                             // jmpq          *%rax
16541
16542HIDDEN _sk_xy_to_radius_hsw
16543.globl _sk_xy_to_radius_hsw
16544FUNCTION(_sk_xy_to_radius_hsw)
16545_sk_xy_to_radius_hsw:
16546  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
16547  .byte  196,98,125,184,192                  // vfmadd231ps   %ymm0,%ymm0,%ymm8
16548  .byte  196,193,124,81,192                  // vsqrtps       %ymm8,%ymm0
16549  .byte  72,173                              // lods          %ds:(%rsi),%rax
16550  .byte  255,224                             // jmpq          *%rax
16551
16552HIDDEN _sk_xy_to_2pt_conical_quadratic_max_hsw
16553.globl _sk_xy_to_2pt_conical_quadratic_max_hsw
16554FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_hsw)
16555_sk_xy_to_2pt_conical_quadratic_max_hsw:
16556  .byte  72,173                              // lods          %ds:(%rsi),%rax
16557  .byte  196,98,125,24,64,32                 // vbroadcastss  0x20(%rax),%ymm8
16558  .byte  197,122,16,72,40                    // vmovss        0x28(%rax),%xmm9
16559  .byte  197,50,89,80,44                     // vmulss        0x2c(%rax),%xmm9,%xmm10
16560  .byte  196,66,125,24,210                   // vbroadcastss  %xmm10,%ymm10
16561  .byte  197,44,88,208                       // vaddps        %ymm0,%ymm10,%ymm10
16562  .byte  196,98,125,24,29,62,10,0,0          // vbroadcastss  0xa3e(%rip),%ymm11        # 5c10 <_sk_callback_hsw+0x52c>
16563  .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
16564  .byte  197,116,89,217                      // vmulps        %ymm1,%ymm1,%ymm11
16565  .byte  196,98,125,184,216                  // vfmadd231ps   %ymm0,%ymm0,%ymm11
16566  .byte  196,193,50,89,193                   // vmulss        %xmm9,%xmm9,%xmm0
16567  .byte  196,226,125,24,192                  // vbroadcastss  %xmm0,%ymm0
16568  .byte  197,164,92,192                      // vsubps        %ymm0,%ymm11,%ymm0
16569  .byte  196,98,125,24,13,29,10,0,0          // vbroadcastss  0xa1d(%rip),%ymm9        # 5c14 <_sk_callback_hsw+0x530>
16570  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
16571  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
16572  .byte  196,194,45,184,194                  // vfmadd231ps   %ymm10,%ymm10,%ymm0
16573  .byte  197,252,81,192                      // vsqrtps       %ymm0,%ymm0
16574  .byte  196,98,125,24,64,36                 // vbroadcastss  0x24(%rax),%ymm8
16575  .byte  196,98,125,24,13,0,10,0,0           // vbroadcastss  0xa00(%rip),%ymm9        # 5c18 <_sk_callback_hsw+0x534>
16576  .byte  196,65,44,87,201                    // vxorps        %ymm9,%ymm10,%ymm9
16577  .byte  196,65,124,92,210                   // vsubps        %ymm10,%ymm0,%ymm10
16578  .byte  196,98,125,24,29,241,9,0,0          // vbroadcastss  0x9f1(%rip),%ymm11        # 5c1c <_sk_callback_hsw+0x538>
16579  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
16580  .byte  196,65,44,89,208                    // vmulps        %ymm8,%ymm10,%ymm10
16581  .byte  197,180,92,192                      // vsubps        %ymm0,%ymm9,%ymm0
16582  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
16583  .byte  197,172,95,192                      // vmaxps        %ymm0,%ymm10,%ymm0
16584  .byte  72,173                              // lods          %ds:(%rsi),%rax
16585  .byte  255,224                             // jmpq          *%rax
16586
16587HIDDEN _sk_xy_to_2pt_conical_quadratic_min_hsw
16588.globl _sk_xy_to_2pt_conical_quadratic_min_hsw
16589FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_hsw)
16590_sk_xy_to_2pt_conical_quadratic_min_hsw:
16591  .byte  72,173                              // lods          %ds:(%rsi),%rax
16592  .byte  196,98,125,24,64,32                 // vbroadcastss  0x20(%rax),%ymm8
16593  .byte  197,122,16,72,40                    // vmovss        0x28(%rax),%xmm9
16594  .byte  197,50,89,80,44                     // vmulss        0x2c(%rax),%xmm9,%xmm10
16595  .byte  196,66,125,24,210                   // vbroadcastss  %xmm10,%ymm10
16596  .byte  197,44,88,208                       // vaddps        %ymm0,%ymm10,%ymm10
16597  .byte  196,98,125,24,29,182,9,0,0          // vbroadcastss  0x9b6(%rip),%ymm11        # 5c20 <_sk_callback_hsw+0x53c>
16598  .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
16599  .byte  197,116,89,217                      // vmulps        %ymm1,%ymm1,%ymm11
16600  .byte  196,98,125,184,216                  // vfmadd231ps   %ymm0,%ymm0,%ymm11
16601  .byte  196,193,50,89,193                   // vmulss        %xmm9,%xmm9,%xmm0
16602  .byte  196,226,125,24,192                  // vbroadcastss  %xmm0,%ymm0
16603  .byte  197,164,92,192                      // vsubps        %ymm0,%ymm11,%ymm0
16604  .byte  196,98,125,24,13,149,9,0,0          // vbroadcastss  0x995(%rip),%ymm9        # 5c24 <_sk_callback_hsw+0x540>
16605  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
16606  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
16607  .byte  196,194,45,184,194                  // vfmadd231ps   %ymm10,%ymm10,%ymm0
16608  .byte  197,252,81,192                      // vsqrtps       %ymm0,%ymm0
16609  .byte  196,98,125,24,64,36                 // vbroadcastss  0x24(%rax),%ymm8
16610  .byte  196,98,125,24,13,120,9,0,0          // vbroadcastss  0x978(%rip),%ymm9        # 5c28 <_sk_callback_hsw+0x544>
16611  .byte  196,65,44,87,201                    // vxorps        %ymm9,%ymm10,%ymm9
16612  .byte  196,65,124,92,210                   // vsubps        %ymm10,%ymm0,%ymm10
16613  .byte  196,98,125,24,29,105,9,0,0          // vbroadcastss  0x969(%rip),%ymm11        # 5c2c <_sk_callback_hsw+0x548>
16614  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
16615  .byte  196,65,44,89,208                    // vmulps        %ymm8,%ymm10,%ymm10
16616  .byte  197,180,92,192                      // vsubps        %ymm0,%ymm9,%ymm0
16617  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
16618  .byte  197,172,93,192                      // vminps        %ymm0,%ymm10,%ymm0
16619  .byte  72,173                              // lods          %ds:(%rsi),%rax
16620  .byte  255,224                             // jmpq          *%rax
16621
16622HIDDEN _sk_xy_to_2pt_conical_linear_hsw
16623.globl _sk_xy_to_2pt_conical_linear_hsw
16624FUNCTION(_sk_xy_to_2pt_conical_linear_hsw)
16625_sk_xy_to_2pt_conical_linear_hsw:
16626  .byte  72,173                              // lods          %ds:(%rsi),%rax
16627  .byte  197,122,16,64,40                    // vmovss        0x28(%rax),%xmm8
16628  .byte  197,58,89,72,44                     // vmulss        0x2c(%rax),%xmm8,%xmm9
16629  .byte  196,66,125,24,201                   // vbroadcastss  %xmm9,%ymm9
16630  .byte  197,52,88,200                       // vaddps        %ymm0,%ymm9,%ymm9
16631  .byte  196,98,125,24,21,52,9,0,0           // vbroadcastss  0x934(%rip),%ymm10        # 5c30 <_sk_callback_hsw+0x54c>
16632  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
16633  .byte  197,116,89,209                      // vmulps        %ymm1,%ymm1,%ymm10
16634  .byte  196,98,125,184,208                  // vfmadd231ps   %ymm0,%ymm0,%ymm10
16635  .byte  196,193,58,89,192                   // vmulss        %xmm8,%xmm8,%xmm0
16636  .byte  196,226,125,24,192                  // vbroadcastss  %xmm0,%ymm0
16637  .byte  197,172,92,192                      // vsubps        %ymm0,%ymm10,%ymm0
16638  .byte  196,98,125,24,5,19,9,0,0            // vbroadcastss  0x913(%rip),%ymm8        # 5c34 <_sk_callback_hsw+0x550>
16639  .byte  196,193,124,87,192                  // vxorps        %ymm8,%ymm0,%ymm0
16640  .byte  196,193,124,94,193                  // vdivps        %ymm9,%ymm0,%ymm0
16641  .byte  72,173                              // lods          %ds:(%rsi),%rax
16642  .byte  255,224                             // jmpq          *%rax
16643
16644HIDDEN _sk_mask_2pt_conical_degenerates_hsw
16645.globl _sk_mask_2pt_conical_degenerates_hsw
16646FUNCTION(_sk_mask_2pt_conical_degenerates_hsw)
16647_sk_mask_2pt_conical_degenerates_hsw:
16648  .byte  72,173                              // lods          %ds:(%rsi),%rax
16649  .byte  196,98,125,24,64,44                 // vbroadcastss  0x2c(%rax),%ymm8
16650  .byte  196,98,125,24,72,40                 // vbroadcastss  0x28(%rax),%ymm9
16651  .byte  196,66,125,184,200                  // vfmadd231ps   %ymm8,%ymm0,%ymm9
16652  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
16653  .byte  196,65,60,194,201,2                 // vcmpleps      %ymm9,%ymm8,%ymm9
16654  .byte  196,65,124,194,192,7                // vcmpordps     %ymm8,%ymm0,%ymm8
16655  .byte  196,65,52,84,192                    // vandps        %ymm8,%ymm9,%ymm8
16656  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
16657  .byte  72,173                              // lods          %ds:(%rsi),%rax
16658  .byte  255,224                             // jmpq          *%rax
16659
16660HIDDEN _sk_apply_vector_mask_hsw
16661.globl _sk_apply_vector_mask_hsw
16662FUNCTION(_sk_apply_vector_mask_hsw)
16663_sk_apply_vector_mask_hsw:
16664  .byte  72,173                              // lods          %ds:(%rsi),%rax
16665  .byte  197,124,16,0                        // vmovups       (%rax),%ymm8
16666  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
16667  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
16668  .byte  197,188,84,210                      // vandps        %ymm2,%ymm8,%ymm2
16669  .byte  197,188,84,219                      // vandps        %ymm3,%ymm8,%ymm3
16670  .byte  72,173                              // lods          %ds:(%rsi),%rax
16671  .byte  255,224                             // jmpq          *%rax
16672
16673HIDDEN _sk_save_xy_hsw
16674.globl _sk_save_xy_hsw
16675FUNCTION(_sk_save_xy_hsw)
16676_sk_save_xy_hsw:
16677  .byte  72,173                              // lods          %ds:(%rsi),%rax
16678  .byte  196,98,125,24,5,179,8,0,0           // vbroadcastss  0x8b3(%rip),%ymm8        # 5c38 <_sk_callback_hsw+0x554>
16679  .byte  196,65,124,88,200                   // vaddps        %ymm8,%ymm0,%ymm9
16680  .byte  196,67,125,8,209,1                  // vroundps      $0x1,%ymm9,%ymm10
16681  .byte  196,65,52,92,202                    // vsubps        %ymm10,%ymm9,%ymm9
16682  .byte  196,65,116,88,192                   // vaddps        %ymm8,%ymm1,%ymm8
16683  .byte  196,67,125,8,208,1                  // vroundps      $0x1,%ymm8,%ymm10
16684  .byte  196,65,60,92,194                    // vsubps        %ymm10,%ymm8,%ymm8
16685  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
16686  .byte  197,252,17,72,32                    // vmovups       %ymm1,0x20(%rax)
16687  .byte  197,124,17,72,64                    // vmovups       %ymm9,0x40(%rax)
16688  .byte  197,124,17,64,96                    // vmovups       %ymm8,0x60(%rax)
16689  .byte  72,173                              // lods          %ds:(%rsi),%rax
16690  .byte  255,224                             // jmpq          *%rax
16691
16692HIDDEN _sk_accumulate_hsw
16693.globl _sk_accumulate_hsw
16694FUNCTION(_sk_accumulate_hsw)
16695_sk_accumulate_hsw:
16696  .byte  72,173                              // lods          %ds:(%rsi),%rax
16697  .byte  197,124,16,128,128,0,0,0            // vmovups       0x80(%rax),%ymm8
16698  .byte  197,60,89,128,160,0,0,0             // vmulps        0xa0(%rax),%ymm8,%ymm8
16699  .byte  196,226,61,184,224                  // vfmadd231ps   %ymm0,%ymm8,%ymm4
16700  .byte  196,226,61,184,233                  // vfmadd231ps   %ymm1,%ymm8,%ymm5
16701  .byte  196,226,61,184,242                  // vfmadd231ps   %ymm2,%ymm8,%ymm6
16702  .byte  196,98,101,168,199                  // vfmadd213ps   %ymm7,%ymm3,%ymm8
16703  .byte  72,173                              // lods          %ds:(%rsi),%rax
16704  .byte  197,124,41,199                      // vmovaps       %ymm8,%ymm7
16705  .byte  255,224                             // jmpq          *%rax
16706
16707HIDDEN _sk_bilinear_nx_hsw
16708.globl _sk_bilinear_nx_hsw
16709FUNCTION(_sk_bilinear_nx_hsw)
16710_sk_bilinear_nx_hsw:
16711  .byte  72,173                              // lods          %ds:(%rsi),%rax
16712  .byte  196,226,125,24,5,71,8,0,0           // vbroadcastss  0x847(%rip),%ymm0        # 5c3c <_sk_callback_hsw+0x558>
16713  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
16714  .byte  196,98,125,24,5,62,8,0,0            // vbroadcastss  0x83e(%rip),%ymm8        # 5c40 <_sk_callback_hsw+0x55c>
16715  .byte  197,60,92,64,64                     // vsubps        0x40(%rax),%ymm8,%ymm8
16716  .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
16717  .byte  72,173                              // lods          %ds:(%rsi),%rax
16718  .byte  255,224                             // jmpq          *%rax
16719
16720HIDDEN _sk_bilinear_px_hsw
16721.globl _sk_bilinear_px_hsw
16722FUNCTION(_sk_bilinear_px_hsw)
16723_sk_bilinear_px_hsw:
16724  .byte  72,173                              // lods          %ds:(%rsi),%rax
16725  .byte  196,226,125,24,5,38,8,0,0           // vbroadcastss  0x826(%rip),%ymm0        # 5c44 <_sk_callback_hsw+0x560>
16726  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
16727  .byte  197,124,16,64,64                    // vmovups       0x40(%rax),%ymm8
16728  .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
16729  .byte  72,173                              // lods          %ds:(%rsi),%rax
16730  .byte  255,224                             // jmpq          *%rax
16731
16732HIDDEN _sk_bilinear_ny_hsw
16733.globl _sk_bilinear_ny_hsw
16734FUNCTION(_sk_bilinear_ny_hsw)
16735_sk_bilinear_ny_hsw:
16736  .byte  72,173                              // lods          %ds:(%rsi),%rax
16737  .byte  196,226,125,24,13,10,8,0,0          // vbroadcastss  0x80a(%rip),%ymm1        # 5c48 <_sk_callback_hsw+0x564>
16738  .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
16739  .byte  196,98,125,24,5,0,8,0,0             // vbroadcastss  0x800(%rip),%ymm8        # 5c4c <_sk_callback_hsw+0x568>
16740  .byte  197,60,92,64,96                     // vsubps        0x60(%rax),%ymm8,%ymm8
16741  .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
16742  .byte  72,173                              // lods          %ds:(%rsi),%rax
16743  .byte  255,224                             // jmpq          *%rax
16744
16745HIDDEN _sk_bilinear_py_hsw
16746.globl _sk_bilinear_py_hsw
16747FUNCTION(_sk_bilinear_py_hsw)
16748_sk_bilinear_py_hsw:
16749  .byte  72,173                              // lods          %ds:(%rsi),%rax
16750  .byte  196,226,125,24,13,232,7,0,0         // vbroadcastss  0x7e8(%rip),%ymm1        # 5c50 <_sk_callback_hsw+0x56c>
16751  .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
16752  .byte  197,124,16,64,96                    // vmovups       0x60(%rax),%ymm8
16753  .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
16754  .byte  72,173                              // lods          %ds:(%rsi),%rax
16755  .byte  255,224                             // jmpq          *%rax
16756
16757HIDDEN _sk_bicubic_n3x_hsw
16758.globl _sk_bicubic_n3x_hsw
16759FUNCTION(_sk_bicubic_n3x_hsw)
16760_sk_bicubic_n3x_hsw:
16761  .byte  72,173                              // lods          %ds:(%rsi),%rax
16762  .byte  196,226,125,24,5,203,7,0,0          // vbroadcastss  0x7cb(%rip),%ymm0        # 5c54 <_sk_callback_hsw+0x570>
16763  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
16764  .byte  196,98,125,24,5,194,7,0,0           // vbroadcastss  0x7c2(%rip),%ymm8        # 5c58 <_sk_callback_hsw+0x574>
16765  .byte  197,60,92,64,64                     // vsubps        0x40(%rax),%ymm8,%ymm8
16766  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
16767  .byte  196,98,125,24,21,179,7,0,0          // vbroadcastss  0x7b3(%rip),%ymm10        # 5c5c <_sk_callback_hsw+0x578>
16768  .byte  196,98,125,24,29,174,7,0,0          // vbroadcastss  0x7ae(%rip),%ymm11        # 5c60 <_sk_callback_hsw+0x57c>
16769  .byte  196,66,61,168,218                   // vfmadd213ps   %ymm10,%ymm8,%ymm11
16770  .byte  196,65,36,89,193                    // vmulps        %ymm9,%ymm11,%ymm8
16771  .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
16772  .byte  72,173                              // lods          %ds:(%rsi),%rax
16773  .byte  255,224                             // jmpq          *%rax
16774
16775HIDDEN _sk_bicubic_n1x_hsw
16776.globl _sk_bicubic_n1x_hsw
16777FUNCTION(_sk_bicubic_n1x_hsw)
16778_sk_bicubic_n1x_hsw:
16779  .byte  72,173                              // lods          %ds:(%rsi),%rax
16780  .byte  196,226,125,24,5,145,7,0,0          // vbroadcastss  0x791(%rip),%ymm0        # 5c64 <_sk_callback_hsw+0x580>
16781  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
16782  .byte  196,98,125,24,5,136,7,0,0           // vbroadcastss  0x788(%rip),%ymm8        # 5c68 <_sk_callback_hsw+0x584>
16783  .byte  197,60,92,64,64                     // vsubps        0x40(%rax),%ymm8,%ymm8
16784  .byte  196,98,125,24,13,126,7,0,0          // vbroadcastss  0x77e(%rip),%ymm9        # 5c6c <_sk_callback_hsw+0x588>
16785  .byte  196,98,125,24,21,121,7,0,0          // vbroadcastss  0x779(%rip),%ymm10        # 5c70 <_sk_callback_hsw+0x58c>
16786  .byte  196,66,61,168,209                   // vfmadd213ps   %ymm9,%ymm8,%ymm10
16787  .byte  196,98,125,24,13,111,7,0,0          // vbroadcastss  0x76f(%rip),%ymm9        # 5c74 <_sk_callback_hsw+0x590>
16788  .byte  196,66,61,184,202                   // vfmadd231ps   %ymm10,%ymm8,%ymm9
16789  .byte  196,98,125,24,21,101,7,0,0          // vbroadcastss  0x765(%rip),%ymm10        # 5c78 <_sk_callback_hsw+0x594>
16790  .byte  196,66,61,184,209                   // vfmadd231ps   %ymm9,%ymm8,%ymm10
16791  .byte  197,124,17,144,128,0,0,0            // vmovups       %ymm10,0x80(%rax)
16792  .byte  72,173                              // lods          %ds:(%rsi),%rax
16793  .byte  255,224                             // jmpq          *%rax
16794
16795HIDDEN _sk_bicubic_p1x_hsw
16796.globl _sk_bicubic_p1x_hsw
16797FUNCTION(_sk_bicubic_p1x_hsw)
16798_sk_bicubic_p1x_hsw:
16799  .byte  72,173                              // lods          %ds:(%rsi),%rax
16800  .byte  196,98,125,24,5,77,7,0,0            // vbroadcastss  0x74d(%rip),%ymm8        # 5c7c <_sk_callback_hsw+0x598>
16801  .byte  197,188,88,0                        // vaddps        (%rax),%ymm8,%ymm0
16802  .byte  197,124,16,72,64                    // vmovups       0x40(%rax),%ymm9
16803  .byte  196,98,125,24,21,63,7,0,0           // vbroadcastss  0x73f(%rip),%ymm10        # 5c80 <_sk_callback_hsw+0x59c>
16804  .byte  196,98,125,24,29,58,7,0,0           // vbroadcastss  0x73a(%rip),%ymm11        # 5c84 <_sk_callback_hsw+0x5a0>
16805  .byte  196,66,53,168,218                   // vfmadd213ps   %ymm10,%ymm9,%ymm11
16806  .byte  196,66,53,168,216                   // vfmadd213ps   %ymm8,%ymm9,%ymm11
16807  .byte  196,98,125,24,5,43,7,0,0            // vbroadcastss  0x72b(%rip),%ymm8        # 5c88 <_sk_callback_hsw+0x5a4>
16808  .byte  196,66,53,184,195                   // vfmadd231ps   %ymm11,%ymm9,%ymm8
16809  .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
16810  .byte  72,173                              // lods          %ds:(%rsi),%rax
16811  .byte  255,224                             // jmpq          *%rax
16812
16813HIDDEN _sk_bicubic_p3x_hsw
16814.globl _sk_bicubic_p3x_hsw
16815FUNCTION(_sk_bicubic_p3x_hsw)
16816_sk_bicubic_p3x_hsw:
16817  .byte  72,173                              // lods          %ds:(%rsi),%rax
16818  .byte  196,226,125,24,5,19,7,0,0           // vbroadcastss  0x713(%rip),%ymm0        # 5c8c <_sk_callback_hsw+0x5a8>
16819  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
16820  .byte  197,124,16,64,64                    // vmovups       0x40(%rax),%ymm8
16821  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
16822  .byte  196,98,125,24,21,0,7,0,0            // vbroadcastss  0x700(%rip),%ymm10        # 5c90 <_sk_callback_hsw+0x5ac>
16823  .byte  196,98,125,24,29,251,6,0,0          // vbroadcastss  0x6fb(%rip),%ymm11        # 5c94 <_sk_callback_hsw+0x5b0>
16824  .byte  196,66,61,168,218                   // vfmadd213ps   %ymm10,%ymm8,%ymm11
16825  .byte  196,65,52,89,195                    // vmulps        %ymm11,%ymm9,%ymm8
16826  .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
16827  .byte  72,173                              // lods          %ds:(%rsi),%rax
16828  .byte  255,224                             // jmpq          *%rax
16829
16830HIDDEN _sk_bicubic_n3y_hsw
16831.globl _sk_bicubic_n3y_hsw
16832FUNCTION(_sk_bicubic_n3y_hsw)
16833_sk_bicubic_n3y_hsw:
16834  .byte  72,173                              // lods          %ds:(%rsi),%rax
16835  .byte  196,226,125,24,13,222,6,0,0         // vbroadcastss  0x6de(%rip),%ymm1        # 5c98 <_sk_callback_hsw+0x5b4>
16836  .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
16837  .byte  196,98,125,24,5,212,6,0,0           // vbroadcastss  0x6d4(%rip),%ymm8        # 5c9c <_sk_callback_hsw+0x5b8>
16838  .byte  197,60,92,64,96                     // vsubps        0x60(%rax),%ymm8,%ymm8
16839  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
16840  .byte  196,98,125,24,21,197,6,0,0          // vbroadcastss  0x6c5(%rip),%ymm10        # 5ca0 <_sk_callback_hsw+0x5bc>
16841  .byte  196,98,125,24,29,192,6,0,0          // vbroadcastss  0x6c0(%rip),%ymm11        # 5ca4 <_sk_callback_hsw+0x5c0>
16842  .byte  196,66,61,168,218                   // vfmadd213ps   %ymm10,%ymm8,%ymm11
16843  .byte  196,65,36,89,193                    // vmulps        %ymm9,%ymm11,%ymm8
16844  .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
16845  .byte  72,173                              // lods          %ds:(%rsi),%rax
16846  .byte  255,224                             // jmpq          *%rax
16847
16848HIDDEN _sk_bicubic_n1y_hsw
16849.globl _sk_bicubic_n1y_hsw
16850FUNCTION(_sk_bicubic_n1y_hsw)
16851_sk_bicubic_n1y_hsw:
16852  .byte  72,173                              // lods          %ds:(%rsi),%rax
16853  .byte  196,226,125,24,13,163,6,0,0         // vbroadcastss  0x6a3(%rip),%ymm1        # 5ca8 <_sk_callback_hsw+0x5c4>
16854  .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
16855  .byte  196,98,125,24,5,153,6,0,0           // vbroadcastss  0x699(%rip),%ymm8        # 5cac <_sk_callback_hsw+0x5c8>
16856  .byte  197,60,92,64,96                     // vsubps        0x60(%rax),%ymm8,%ymm8
16857  .byte  196,98,125,24,13,143,6,0,0          // vbroadcastss  0x68f(%rip),%ymm9        # 5cb0 <_sk_callback_hsw+0x5cc>
16858  .byte  196,98,125,24,21,138,6,0,0          // vbroadcastss  0x68a(%rip),%ymm10        # 5cb4 <_sk_callback_hsw+0x5d0>
16859  .byte  196,66,61,168,209                   // vfmadd213ps   %ymm9,%ymm8,%ymm10
16860  .byte  196,98,125,24,13,128,6,0,0          // vbroadcastss  0x680(%rip),%ymm9        # 5cb8 <_sk_callback_hsw+0x5d4>
16861  .byte  196,66,61,184,202                   // vfmadd231ps   %ymm10,%ymm8,%ymm9
16862  .byte  196,98,125,24,21,118,6,0,0          // vbroadcastss  0x676(%rip),%ymm10        # 5cbc <_sk_callback_hsw+0x5d8>
16863  .byte  196,66,61,184,209                   // vfmadd231ps   %ymm9,%ymm8,%ymm10
16864  .byte  197,124,17,144,160,0,0,0            // vmovups       %ymm10,0xa0(%rax)
16865  .byte  72,173                              // lods          %ds:(%rsi),%rax
16866  .byte  255,224                             // jmpq          *%rax
16867
16868HIDDEN _sk_bicubic_p1y_hsw
16869.globl _sk_bicubic_p1y_hsw
16870FUNCTION(_sk_bicubic_p1y_hsw)
16871_sk_bicubic_p1y_hsw:
16872  .byte  72,173                              // lods          %ds:(%rsi),%rax
16873  .byte  196,98,125,24,5,94,6,0,0            // vbroadcastss  0x65e(%rip),%ymm8        # 5cc0 <_sk_callback_hsw+0x5dc>
16874  .byte  197,188,88,72,32                    // vaddps        0x20(%rax),%ymm8,%ymm1
16875  .byte  197,124,16,72,96                    // vmovups       0x60(%rax),%ymm9
16876  .byte  196,98,125,24,21,79,6,0,0           // vbroadcastss  0x64f(%rip),%ymm10        # 5cc4 <_sk_callback_hsw+0x5e0>
16877  .byte  196,98,125,24,29,74,6,0,0           // vbroadcastss  0x64a(%rip),%ymm11        # 5cc8 <_sk_callback_hsw+0x5e4>
16878  .byte  196,66,53,168,218                   // vfmadd213ps   %ymm10,%ymm9,%ymm11
16879  .byte  196,66,53,168,216                   // vfmadd213ps   %ymm8,%ymm9,%ymm11
16880  .byte  196,98,125,24,5,59,6,0,0            // vbroadcastss  0x63b(%rip),%ymm8        # 5ccc <_sk_callback_hsw+0x5e8>
16881  .byte  196,66,53,184,195                   // vfmadd231ps   %ymm11,%ymm9,%ymm8
16882  .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
16883  .byte  72,173                              // lods          %ds:(%rsi),%rax
16884  .byte  255,224                             // jmpq          *%rax
16885
16886HIDDEN _sk_bicubic_p3y_hsw
16887.globl _sk_bicubic_p3y_hsw
16888FUNCTION(_sk_bicubic_p3y_hsw)
16889_sk_bicubic_p3y_hsw:
16890  .byte  72,173                              // lods          %ds:(%rsi),%rax
16891  .byte  196,226,125,24,13,35,6,0,0          // vbroadcastss  0x623(%rip),%ymm1        # 5cd0 <_sk_callback_hsw+0x5ec>
16892  .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
16893  .byte  197,124,16,64,96                    // vmovups       0x60(%rax),%ymm8
16894  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
16895  .byte  196,98,125,24,21,15,6,0,0           // vbroadcastss  0x60f(%rip),%ymm10        # 5cd4 <_sk_callback_hsw+0x5f0>
16896  .byte  196,98,125,24,29,10,6,0,0           // vbroadcastss  0x60a(%rip),%ymm11        # 5cd8 <_sk_callback_hsw+0x5f4>
16897  .byte  196,66,61,168,218                   // vfmadd213ps   %ymm10,%ymm8,%ymm11
16898  .byte  196,65,52,89,195                    // vmulps        %ymm11,%ymm9,%ymm8
16899  .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
16900  .byte  72,173                              // lods          %ds:(%rsi),%rax
16901  .byte  255,224                             // jmpq          *%rax
16902
16903HIDDEN _sk_callback_hsw
16904.globl _sk_callback_hsw
16905FUNCTION(_sk_callback_hsw)
16906_sk_callback_hsw:
16907  .byte  85                                  // push          %rbp
16908  .byte  72,137,229                          // mov           %rsp,%rbp
16909  .byte  65,87                               // push          %r15
16910  .byte  65,86                               // push          %r14
16911  .byte  65,85                               // push          %r13
16912  .byte  65,84                               // push          %r12
16913  .byte  83                                  // push          %rbx
16914  .byte  72,131,228,224                      // and           $0xffffffffffffffe0,%rsp
16915  .byte  72,129,236,192,0,0,0                // sub           $0xc0,%rsp
16916  .byte  197,252,41,188,36,128,0,0,0         // vmovaps       %ymm7,0x80(%rsp)
16917  .byte  197,252,41,116,36,96                // vmovaps       %ymm6,0x60(%rsp)
16918  .byte  197,252,41,108,36,64                // vmovaps       %ymm5,0x40(%rsp)
16919  .byte  197,252,41,100,36,32                // vmovaps       %ymm4,0x20(%rsp)
16920  .byte  76,137,195                          // mov           %r8,%rbx
16921  .byte  72,137,76,36,24                     // mov           %rcx,0x18(%rsp)
16922  .byte  73,137,215                          // mov           %rdx,%r15
16923  .byte  73,137,252                          // mov           %rdi,%r12
16924  .byte  72,173                              // lods          %ds:(%rsi),%rax
16925  .byte  73,137,198                          // mov           %rax,%r14
16926  .byte  73,137,245                          // mov           %rsi,%r13
16927  .byte  197,252,20,225                      // vunpcklps     %ymm1,%ymm0,%ymm4
16928  .byte  197,252,21,193                      // vunpckhps     %ymm1,%ymm0,%ymm0
16929  .byte  197,236,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm1
16930  .byte  197,236,21,211                      // vunpckhps     %ymm3,%ymm2,%ymm2
16931  .byte  197,221,20,217                      // vunpcklpd     %ymm1,%ymm4,%ymm3
16932  .byte  197,221,21,201                      // vunpckhpd     %ymm1,%ymm4,%ymm1
16933  .byte  197,253,20,226                      // vunpcklpd     %ymm2,%ymm0,%ymm4
16934  .byte  197,253,21,194                      // vunpckhpd     %ymm2,%ymm0,%ymm0
16935  .byte  196,227,101,24,209,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm2
16936  .byte  196,227,93,24,232,1                 // vinsertf128   $0x1,%xmm0,%ymm4,%ymm5
16937  .byte  196,227,101,6,201,49                // vperm2f128    $0x31,%ymm1,%ymm3,%ymm1
16938  .byte  196,227,93,6,192,49                 // vperm2f128    $0x31,%ymm0,%ymm4,%ymm0
16939  .byte  196,193,125,17,86,8                 // vmovupd       %ymm2,0x8(%r14)
16940  .byte  196,193,125,17,110,40               // vmovupd       %ymm5,0x28(%r14)
16941  .byte  196,193,125,17,78,72                // vmovupd       %ymm1,0x48(%r14)
16942  .byte  196,193,125,17,70,104               // vmovupd       %ymm0,0x68(%r14)
16943  .byte  72,133,219                          // test          %rbx,%rbx
16944  .byte  190,8,0,0,0                         // mov           $0x8,%esi
16945  .byte  15,69,243                           // cmovne        %ebx,%esi
16946  .byte  76,137,247                          // mov           %r14,%rdi
16947  .byte  197,248,119                         // vzeroupper
16948  .byte  65,255,22                           // callq         *(%r14)
16949  .byte  73,139,134,136,0,0,0                // mov           0x88(%r14),%rax
16950  .byte  197,248,16,0                        // vmovups       (%rax),%xmm0
16951  .byte  197,248,16,72,16                    // vmovups       0x10(%rax),%xmm1
16952  .byte  197,248,16,80,32                    // vmovups       0x20(%rax),%xmm2
16953  .byte  197,248,16,88,48                    // vmovups       0x30(%rax),%xmm3
16954  .byte  196,227,101,24,88,112,1             // vinsertf128   $0x1,0x70(%rax),%ymm3,%ymm3
16955  .byte  196,227,109,24,80,96,1              // vinsertf128   $0x1,0x60(%rax),%ymm2,%ymm2
16956  .byte  196,227,117,24,72,80,1              // vinsertf128   $0x1,0x50(%rax),%ymm1,%ymm1
16957  .byte  196,227,125,24,64,64,1              // vinsertf128   $0x1,0x40(%rax),%ymm0,%ymm0
16958  .byte  197,252,20,225                      // vunpcklps     %ymm1,%ymm0,%ymm4
16959  .byte  197,252,21,233                      // vunpckhps     %ymm1,%ymm0,%ymm5
16960  .byte  197,236,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm1
16961  .byte  197,236,21,219                      // vunpckhps     %ymm3,%ymm2,%ymm3
16962  .byte  197,221,20,193                      // vunpcklpd     %ymm1,%ymm4,%ymm0
16963  .byte  197,221,21,201                      // vunpckhpd     %ymm1,%ymm4,%ymm1
16964  .byte  197,213,20,211                      // vunpcklpd     %ymm3,%ymm5,%ymm2
16965  .byte  197,213,21,219                      // vunpckhpd     %ymm3,%ymm5,%ymm3
16966  .byte  76,137,238                          // mov           %r13,%rsi
16967  .byte  72,173                              // lods          %ds:(%rsi),%rax
16968  .byte  76,137,231                          // mov           %r12,%rdi
16969  .byte  76,137,250                          // mov           %r15,%rdx
16970  .byte  72,139,76,36,24                     // mov           0x18(%rsp),%rcx
16971  .byte  73,137,216                          // mov           %rbx,%r8
16972  .byte  197,252,40,100,36,32                // vmovaps       0x20(%rsp),%ymm4
16973  .byte  197,252,40,108,36,64                // vmovaps       0x40(%rsp),%ymm5
16974  .byte  197,252,40,116,36,96                // vmovaps       0x60(%rsp),%ymm6
16975  .byte  197,252,40,188,36,128,0,0,0         // vmovaps       0x80(%rsp),%ymm7
16976  .byte  72,141,101,216                      // lea           -0x28(%rbp),%rsp
16977  .byte  91                                  // pop           %rbx
16978  .byte  65,92                               // pop           %r12
16979  .byte  65,93                               // pop           %r13
16980  .byte  65,94                               // pop           %r14
16981  .byte  65,95                               // pop           %r15
16982  .byte  93                                  // pop           %rbp
16983  .byte  255,224                             // jmpq          *%rax
16984
16985BALIGN4
16986  .byte  0,0                                 // add           %al,(%rax)
16987  .byte  0,63                                // add           %bh,(%rdi)
16988  .byte  0,0                                 // add           %al,(%rax)
16989  .byte  128,63,1                            // cmpb          $0x1,(%rdi)
16990  .byte  0,0                                 // add           %al,(%rax)
16991  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
16992  .byte  0,0                                 // add           %al,(%rax)
16993  .byte  2,0                                 // add           (%rax),%al
16994  .byte  0,0                                 // add           %al,(%rax)
16995  .byte  0,0                                 // add           %al,(%rax)
16996  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
16997  .byte  252                                 // cld
16998  .byte  190,0,0,128,63                      // mov           $0x3f800000,%esi
16999  .byte  0,0                                 // add           %al,(%rax)
17000  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
17001  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
17002  .byte  63                                  // (bad)
17003  .byte  0,0                                 // add           %al,(%rax)
17004  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
17005  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
17006  .byte  63                                  // (bad)
17007  .byte  0,0                                 // add           %al,(%rax)
17008  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
17009  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
17010  .byte  63                                  // (bad)
17011  .byte  0,0                                 // add           %al,(%rax)
17012  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
17013  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
17014  .byte  63                                  // (bad)
17015  .byte  0,0                                 // add           %al,(%rax)
17016  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
17017  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
17018  .byte  63                                  // (bad)
17019  .byte  0,0                                 // add           %al,(%rax)
17020  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
17021  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
17022  .byte  63                                  // (bad)
17023  .byte  0,0                                 // add           %al,(%rax)
17024  .byte  128,191,0,0,224,64,154              // cmpb          $0x9a,0x40e00000(%rdi)
17025  .byte  153                                 // cltd
17026  .byte  153                                 // cltd
17027  .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
17028  .byte  71,225,61                           // rex.RXB       loope 58e1 <.literal4+0xb9>
17029  .byte  0,0                                 // add           %al,(%rax)
17030  .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
17031  .byte  153                                 // cltd
17032  .byte  153                                 // cltd
17033  .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
17034  .byte  71,225,61                           // rex.RXB       loope 58f1 <.literal4+0xc9>
17035  .byte  0,0                                 // add           %al,(%rax)
17036  .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
17037  .byte  153                                 // cltd
17038  .byte  153                                 // cltd
17039  .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
17040  .byte  71,225,61                           // rex.RXB       loope 5901 <.literal4+0xd9>
17041  .byte  0,0                                 // add           %al,(%rax)
17042  .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
17043  .byte  153                                 // cltd
17044  .byte  153                                 // cltd
17045  .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
17046  .byte  71,225,61                           // rex.RXB       loope 5911 <.literal4+0xe9>
17047  .byte  0,0                                 // add           %al,(%rax)
17048  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
17049  .byte  0,128,63,0,0,127                    // add           %al,0x7f00003f(%rax)
17050  .byte  67,0,0                              // rex.XB        add %al,(%r8)
17051  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
17052  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
17053  .byte  63                                  // (bad)
17054  .byte  0,0                                 // add           %al,(%rax)
17055  .byte  128,63,145                          // cmpb          $0x91,(%rdi)
17056  .byte  131,158,61,92,143,50,63             // sbbl          $0x3f,0x328f5c3d(%rsi)
17057  .byte  154                                 // (bad)
17058  .byte  153                                 // cltd
17059  .byte  153                                 // cltd
17060  .byte  62,10,215                           // ds            or  %bh,%dl
17061  .byte  35,59                               // and           (%rbx),%edi
17062  .byte  174                                 // scas          %es:(%rdi),%al
17063  .byte  71,97                               // rex.RXB       (bad)
17064  .byte  61,145,131,158,61                   // cmp           $0x3d9e8391,%eax
17065  .byte  92                                  // pop           %rsp
17066  .byte  143                                 // (bad)
17067  .byte  50,63                               // xor           (%rdi),%bh
17068  .byte  154                                 // (bad)
17069  .byte  153                                 // cltd
17070  .byte  153                                 // cltd
17071  .byte  62,10,215                           // ds            or  %bh,%dl
17072  .byte  35,59                               // and           (%rbx),%edi
17073  .byte  174                                 // scas          %es:(%rdi),%al
17074  .byte  71,97                               // rex.RXB       (bad)
17075  .byte  61,82,184,78,65                     // cmp           $0x414eb852,%eax
17076  .byte  186,159,98,60,57                    // mov           $0x393c629f,%edx
17077  .byte  215                                 // xlat          %ds:(%rbx)
17078  .byte  32,187,109,165,144,63               // and           %bh,0x3f90a56d(%rbx)
17079  .byte  252                                 // cld
17080  .byte  191,16,62,168,177                   // mov           $0xb1a83e10,%edi
17081  .byte  152                                 // cwtl
17082  .byte  59,0                                // cmp           (%rax),%eax
17083  .byte  0,128,63,0,0,192                    // add           %al,-0x3fffffc1(%rax)
17084  .byte  64,0,0                              // add           %al,(%rax)
17085  .byte  0,64,0                              // add           %al,0x0(%rax)
17086  .byte  0,128,64,171,170,42                 // add           %al,0x2aaaab40(%rax)
17087  .byte  62,0,0                              // add           %al,%ds:(%rax)
17088  .byte  0,63                                // add           %bh,(%rdi)
17089  .byte  0,0                                 // add           %al,(%rax)
17090  .byte  0,63                                // add           %bh,(%rdi)
17091  .byte  0,0                                 // add           %al,(%rax)
17092  .byte  0,64,171                            // add           %al,-0x55(%rax)
17093  .byte  170                                 // stos          %al,%es:(%rdi)
17094  .byte  170                                 // stos          %al,%es:(%rdi)
17095  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
17096  .byte  170                                 // stos          %al,%es:(%rdi)
17097  .byte  42,63                               // sub           (%rdi),%bh
17098  .byte  0,0                                 // add           %al,(%rax)
17099  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
17100  .byte  128,64,171,170                      // addb          $0xaa,-0x55(%rax)
17101  .byte  42,62                               // sub           (%rsi),%bh
17102  .byte  171                                 // stos          %eax,%es:(%rdi)
17103  .byte  170                                 // stos          %al,%es:(%rdi)
17104  .byte  170                                 // stos          %al,%es:(%rdi)
17105  .byte  190,129,128,128,59                  // mov           $0x3b808081,%esi
17106  .byte  129,128,128,59,0,248,0,0,8,33       // addl          $0x21080000,-0x7ffc480(%rax)
17107  .byte  132,55                              // test          %dh,(%rdi)
17108  .byte  224,7                               // loopne        5981 <.literal4+0x159>
17109  .byte  0,0                                 // add           %al,(%rax)
17110  .byte  33,8                                // and           %ecx,(%rax)
17111  .byte  2,58                                // add           (%rdx),%bh
17112  .byte  31                                  // (bad)
17113  .byte  0,0                                 // add           %al,(%rax)
17114  .byte  0,8                                 // add           %cl,(%rax)
17115  .byte  33,4,61,129,128,128,59              // and           %eax,0x3b808081(,%rdi,1)
17116  .byte  128,0,128                           // addb          $0x80,(%rax)
17117  .byte  55                                  // (bad)
17118  .byte  0,0                                 // add           %al,(%rax)
17119  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
17120  .byte  0,127,67                            // add           %bh,0x43(%rdi)
17121  .byte  129,128,128,59,129,128,128,59,0,0   // addl          $0x3b80,-0x7f7ec480(%rax)
17122  .byte  0,52,255                            // add           %dh,(%rdi,%rdi,8)
17123  .byte  255                                 // (bad)
17124  .byte  127,0                               // jg            59a8 <.literal4+0x180>
17125  .byte  0,0                                 // add           %al,(%rax)
17126  .byte  0,63                                // add           %bh,(%rdi)
17127  .byte  119,115                             // ja            5a21 <.literal4+0x1f9>
17128  .byte  248                                 // clc
17129  .byte  194,117,191                         // retq          $0xbf75
17130  .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
17131  .byte  62,163,233,220,63,81,140,242,66,141 // movabs        %eax,%ds:0x8d42f28c513fdce9
17132  .byte  188,190,63,248,245                  // mov           $0xf5f83fbe,%esp
17133  .byte  154                                 // (bad)
17134  .byte  64,254                              // rex           (bad)
17135  .byte  210,221                             // rcr           %cl,%ch
17136  .byte  65,0,0                              // add           %al,(%r8)
17137  .byte  0,75,0                              // add           %cl,0x0(%rbx)
17138  .byte  0,128,63,0,0,0                      // add           %al,0x3f(%rax)
17139  .byte  52,255                              // xor           $0xff,%al
17140  .byte  255                                 // (bad)
17141  .byte  127,0                               // jg            59dc <.literal4+0x1b4>
17142  .byte  0,0                                 // add           %al,(%rax)
17143  .byte  0,63                                // add           %bh,(%rdi)
17144  .byte  119,115                             // ja            5a55 <.literal4+0x22d>
17145  .byte  248                                 // clc
17146  .byte  194,117,191                         // retq          $0xbf75
17147  .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
17148  .byte  62,163,233,220,63,81,140,242,66,141 // movabs        %eax,%ds:0x8d42f28c513fdce9
17149  .byte  188,190,63,248,245                  // mov           $0xf5f83fbe,%esp
17150  .byte  154                                 // (bad)
17151  .byte  64,254                              // rex           (bad)
17152  .byte  210,221                             // rcr           %cl,%ch
17153  .byte  65,0,0                              // add           %al,(%r8)
17154  .byte  0,75,0                              // add           %cl,0x0(%rbx)
17155  .byte  0,128,63,0,0,0                      // add           %al,0x3f(%rax)
17156  .byte  52,255                              // xor           $0xff,%al
17157  .byte  255                                 // (bad)
17158  .byte  127,0                               // jg            5a10 <.literal4+0x1e8>
17159  .byte  0,0                                 // add           %al,(%rax)
17160  .byte  0,63                                // add           %bh,(%rdi)
17161  .byte  119,115                             // ja            5a89 <.literal4+0x261>
17162  .byte  248                                 // clc
17163  .byte  194,117,191                         // retq          $0xbf75
17164  .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
17165  .byte  62,163,233,220,63,81,140,242,66,141 // movabs        %eax,%ds:0x8d42f28c513fdce9
17166  .byte  188,190,63,248,245                  // mov           $0xf5f83fbe,%esp
17167  .byte  154                                 // (bad)
17168  .byte  64,254                              // rex           (bad)
17169  .byte  210,221                             // rcr           %cl,%ch
17170  .byte  65,0,0                              // add           %al,(%r8)
17171  .byte  0,75,0                              // add           %cl,0x0(%rbx)
17172  .byte  0,128,63,0,0,0                      // add           %al,0x3f(%rax)
17173  .byte  52,255                              // xor           $0xff,%al
17174  .byte  255                                 // (bad)
17175  .byte  127,0                               // jg            5a44 <.literal4+0x21c>
17176  .byte  0,0                                 // add           %al,(%rax)
17177  .byte  0,63                                // add           %bh,(%rdi)
17178  .byte  119,115                             // ja            5abd <.literal4+0x295>
17179  .byte  248                                 // clc
17180  .byte  194,117,191                         // retq          $0xbf75
17181  .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
17182  .byte  62,163,233,220,63,81,140,242,66,141 // movabs        %eax,%ds:0x8d42f28c513fdce9
17183  .byte  188,190,63,248,245                  // mov           $0xf5f83fbe,%esp
17184  .byte  154                                 // (bad)
17185  .byte  64,254                              // rex           (bad)
17186  .byte  210,221                             // rcr           %cl,%ch
17187  .byte  65,0,0                              // add           %al,(%r8)
17188  .byte  0,75,0                              // add           %cl,0x0(%rbx)
17189  .byte  0,128,63,0,0,200                    // add           %al,-0x37ffffc1(%rax)
17190  .byte  66,0,0                              // rex.X         add %al,(%rax)
17191  .byte  127,67                              // jg            5abb <.literal4+0x293>
17192  .byte  0,0                                 // add           %al,(%rax)
17193  .byte  0,195                               // add           %al,%bl
17194  .byte  0,0                                 // add           %al,(%rax)
17195  .byte  128,65,203,61                       // addb          $0x3d,-0x35(%rcx)
17196  .byte  13,60,111,18,3                      // or            $0x3126f3c,%eax
17197  .byte  59,10                               // cmp           (%rdx),%ecx
17198  .byte  215                                 // xlat          %ds:(%rbx)
17199  .byte  163,59,194,24,17,60,203,61,13       // movabs        %eax,0xd3dcb3c1118c23b
17200  .byte  190,80,128,3,62                     // mov           $0x3e038050,%esi
17201  .byte  31                                  // (bad)
17202  .byte  215                                 // xlat          %ds:(%rbx)
17203  .byte  118,63                              // jbe           5adb <.literal4+0x2b3>
17204  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
17205  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
17206  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
17207  .byte  0,127,67                            // add           %bh,0x43(%rdi)
17208  .byte  129,128,128,59,0,0,128,63,129,128   // addl          $0x80813f80,0x3b80(%rax)
17209  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
17210  .byte  0,128,63,129,128,128                // add           %al,-0x7f7f7ec1(%rax)
17211  .byte  59,0                                // cmp           (%rax),%eax
17212  .byte  0,128,63,0,248,0                    // add           %al,0xf8003f(%rax)
17213  .byte  0,8                                 // add           %cl,(%rax)
17214  .byte  33,132,55,224,7,0,0                 // and           %eax,0x7e0(%rdi,%rsi,1)
17215  .byte  33,8                                // and           %ecx,(%rax)
17216  .byte  2,58                                // add           (%rdx),%bh
17217  .byte  31                                  // (bad)
17218  .byte  0,0                                 // add           %al,(%rax)
17219  .byte  0,8                                 // add           %cl,(%rax)
17220  .byte  33,4,61,0,0,128,63                  // and           %eax,0x3f800000(,%rdi,1)
17221  .byte  0,248                               // add           %bh,%al
17222  .byte  0,0                                 // add           %al,(%rax)
17223  .byte  8,33                                // or            %ah,(%rcx)
17224  .byte  132,55                              // test          %dh,(%rdi)
17225  .byte  224,7                               // loopne        5af5 <.literal4+0x2cd>
17226  .byte  0,0                                 // add           %al,(%rax)
17227  .byte  33,8                                // and           %ecx,(%rax)
17228  .byte  2,58                                // add           (%rdx),%bh
17229  .byte  31                                  // (bad)
17230  .byte  0,0                                 // add           %al,(%rax)
17231  .byte  0,8                                 // add           %cl,(%rax)
17232  .byte  33,4,61,0,0,128,63                  // and           %eax,0x3f800000(,%rdi,1)
17233  .byte  0,248                               // add           %bh,%al
17234  .byte  0,0                                 // add           %al,(%rax)
17235  .byte  8,33                                // or            %ah,(%rcx)
17236  .byte  132,55                              // test          %dh,(%rdi)
17237  .byte  224,7                               // loopne        5b11 <.literal4+0x2e9>
17238  .byte  0,0                                 // add           %al,(%rax)
17239  .byte  33,8                                // and           %ecx,(%rax)
17240  .byte  2,58                                // add           (%rdx),%bh
17241  .byte  31                                  // (bad)
17242  .byte  0,0                                 // add           %al,(%rax)
17243  .byte  0,8                                 // add           %cl,(%rax)
17244  .byte  33,4,61,0,0,128,63                  // and           %eax,0x3f800000(,%rdi,1)
17245  .byte  0,0                                 // add           %al,(%rax)
17246  .byte  248                                 // clc
17247  .byte  65,0,0                              // add           %al,(%r8)
17248  .byte  124,66                              // jl            5b66 <.literal4+0x33e>
17249  .byte  0,240                               // add           %dh,%al
17250  .byte  0,0                                 // add           %al,(%rax)
17251  .byte  137,136,136,55,0,15                 // mov           %ecx,0xf003788(%rax)
17252  .byte  0,0                                 // add           %al,(%rax)
17253  .byte  137,136,136,57,240,0                // mov           %ecx,0xf03988(%rax)
17254  .byte  0,0                                 // add           %al,(%rax)
17255  .byte  137,136,136,59,15,0                 // mov           %ecx,0xf3b88(%rax)
17256  .byte  0,0                                 // add           %al,(%rax)
17257  .byte  137,136,136,61,0,240                // mov           %ecx,-0xfffc278(%rax)
17258  .byte  0,0                                 // add           %al,(%rax)
17259  .byte  137,136,136,55,0,15                 // mov           %ecx,0xf003788(%rax)
17260  .byte  0,0                                 // add           %al,(%rax)
17261  .byte  137,136,136,57,240,0                // mov           %ecx,0xf03988(%rax)
17262  .byte  0,0                                 // add           %al,(%rax)
17263  .byte  137,136,136,59,15,0                 // mov           %ecx,0xf3b88(%rax)
17264  .byte  0,0                                 // add           %al,(%rax)
17265  .byte  137,136,136,61,0,240                // mov           %ecx,-0xfffc278(%rax)
17266  .byte  0,0                                 // add           %al,(%rax)
17267  .byte  137,136,136,55,0,15                 // mov           %ecx,0xf003788(%rax)
17268  .byte  0,0                                 // add           %al,(%rax)
17269  .byte  137,136,136,57,240,0                // mov           %ecx,0xf03988(%rax)
17270  .byte  0,0                                 // add           %al,(%rax)
17271  .byte  137,136,136,59,15,0                 // mov           %ecx,0xf3b88(%rax)
17272  .byte  0,0                                 // add           %al,(%rax)
17273  .byte  137,136,136,61,0,0                  // mov           %ecx,0x3d88(%rax)
17274  .byte  112,65                              // jo            5bc9 <.literal4+0x3a1>
17275  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
17276  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
17277  .byte  0,127,67                            // add           %bh,0x43(%rdi)
17278  .byte  0,0                                 // add           %al,(%rax)
17279  .byte  127,67                              // jg            5bdf <.literal4+0x3b7>
17280  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
17281  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
17282  .byte  0,127,67                            // add           %bh,0x43(%rdi)
17283  .byte  128,0,128                           // addb          $0x80,(%rax)
17284  .byte  55                                  // (bad)
17285  .byte  128,0,128                           // addb          $0x80,(%rax)
17286  .byte  55                                  // (bad)
17287  .byte  0,0                                 // add           %al,(%rax)
17288  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
17289  .byte  255                                 // (bad)
17290  .byte  127,71                              // jg            5c03 <.literal4+0x3db>
17291  .byte  0,0                                 // add           %al,(%rax)
17292  .byte  0,63                                // add           %bh,(%rdi)
17293  .byte  0,0                                 // add           %al,(%rax)
17294  .byte  0,63                                // add           %bh,(%rdi)
17295  .byte  0,0                                 // add           %al,(%rax)
17296  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
17297  .byte  0,128,191,0,0,0                     // add           %al,0xbf(%rax)
17298  .byte  63                                  // (bad)
17299  .byte  208                                 // (bad)
17300  .byte  179,89                              // mov           $0x59,%bl
17301  .byte  62,89                               // ds            pop %rcx
17302  .byte  23                                  // (bad)
17303  .byte  55                                  // (bad)
17304  .byte  63                                  // (bad)
17305  .byte  152                                 // cwtl
17306  .byte  221,147,61,18,120,57                // fstl          0x3978123d(%rbx)
17307  .byte  64,45,16,17,192,32                  // rex           sub $0x20c01110,%eax
17308  .byte  148                                 // xchg          %eax,%esp
17309  .byte  90                                  // pop           %rdx
17310  .byte  62,4,157                            // ds            add $0x9d,%al
17311  .byte  30                                  // (bad)
17312  .byte  62,0,24                             // add           %bl,%ds:(%rax)
17313  .byte  161,57,1,0,0,0,111,43,231           // movabs        0xe72b6f0000000139,%eax
17314  .byte  187,159,215,202,60                  // mov           $0x3ccad79f,%ebx
17315  .byte  212                                 // (bad)
17316  .byte  100,84                              // fs            push %rsp
17317  .byte  189,169,240,34,62                   // mov           $0x3e22f0a9,%ebp
17318  .byte  0,0                                 // add           %al,(%rax)
17319  .byte  128,62,0                            // cmpb          $0x0,(%rsi)
17320  .byte  0,0                                 // add           %al,(%rax)
17321  .byte  63                                  // (bad)
17322  .byte  0,0                                 // add           %al,(%rax)
17323  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
17324  .byte  0,0                                 // add           %al,(%rax)
17325  .byte  192,0,0                             // rolb          $0x0,(%rax)
17326  .byte  128,192,0                           // add           $0x0,%al
17327  .byte  0,0                                 // add           %al,(%rax)
17328  .byte  128,0,0                             // addb          $0x0,(%rax)
17329  .byte  0,63                                // add           %bh,(%rdi)
17330  .byte  0,0                                 // add           %al,(%rax)
17331  .byte  0,192                               // add           %al,%al
17332  .byte  0,0                                 // add           %al,(%rax)
17333  .byte  128,192,0                           // add           $0x0,%al
17334  .byte  0,0                                 // add           %al,(%rax)
17335  .byte  128,0,0                             // addb          $0x0,(%rax)
17336  .byte  0,63                                // add           %bh,(%rdi)
17337  .byte  0,0                                 // add           %al,(%rax)
17338  .byte  0,192                               // add           %al,%al
17339  .byte  0,0                                 // add           %al,(%rax)
17340  .byte  0,128,0,0,0,63                      // add           %al,0x3f000000(%rax)
17341  .byte  0,0                                 // add           %al,(%rax)
17342  .byte  0,191,0,0,128,63                    // add           %bh,0x3f800000(%rdi)
17343  .byte  0,0                                 // add           %al,(%rax)
17344  .byte  0,63                                // add           %bh,(%rdi)
17345  .byte  0,0                                 // add           %al,(%rax)
17346  .byte  0,191,0,0,128,63                    // add           %bh,0x3f800000(%rdi)
17347  .byte  0,0                                 // add           %al,(%rax)
17348  .byte  0,63                                // add           %bh,(%rdi)
17349  .byte  0,0                                 // add           %al,(%rax)
17350  .byte  192,191,0,0,128,63,171              // sarb          $0xab,0x3f800000(%rdi)
17351  .byte  170                                 // stos          %al,%es:(%rdi)
17352  .byte  170                                 // stos          %al,%es:(%rdi)
17353  .byte  190,114,28,199,62                   // mov           $0x3ec71c72,%esi
17354  .byte  0,0                                 // add           %al,(%rax)
17355  .byte  0,191,0,0,128,63                    // add           %bh,0x3f800000(%rdi)
17356  .byte  0,0                                 // add           %al,(%rax)
17357  .byte  192,63,85                           // sarb          $0x55,(%rdi)
17358  .byte  85                                  // push          %rbp
17359  .byte  149                                 // xchg          %eax,%ebp
17360  .byte  191,0,0,0,63                        // mov           $0x3f000000,%edi
17361  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
17362  .byte  0,63                                // add           %bh,(%rdi)
17363  .byte  0,0                                 // add           %al,(%rax)
17364  .byte  192,63,85                           // sarb          $0x55,(%rdi)
17365  .byte  85                                  // push          %rbp
17366  .byte  149                                 // xchg          %eax,%ebp
17367  .byte  191,57,142,99,61                    // mov           $0x3d638e39,%edi
17368  .byte  0,0                                 // add           %al,(%rax)
17369  .byte  192,63,171                          // sarb          $0xab,(%rdi)
17370  .byte  170                                 // stos          %al,%es:(%rdi)
17371  .byte  170                                 // stos          %al,%es:(%rdi)
17372  .byte  190,114,28,199,62                   // mov           $0x3ec71c72,%esi
17373  .byte  0,0                                 // add           %al,(%rax)
17374  .byte  192,191,0,0,128,63,171              // sarb          $0xab,0x3f800000(%rdi)
17375  .byte  170                                 // stos          %al,%es:(%rdi)
17376  .byte  170                                 // stos          %al,%es:(%rdi)
17377  .byte  190,114,28,199,62                   // mov           $0x3ec71c72,%esi
17378  .byte  0,0                                 // add           %al,(%rax)
17379  .byte  0,191,0,0,128,63                    // add           %bh,0x3f800000(%rdi)
17380  .byte  0,0                                 // add           %al,(%rax)
17381  .byte  192,63,85                           // sarb          $0x55,(%rdi)
17382  .byte  85                                  // push          %rbp
17383  .byte  149                                 // xchg          %eax,%ebp
17384  .byte  191,0,0,0,63                        // mov           $0x3f000000,%edi
17385  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
17386  .byte  0,63                                // add           %bh,(%rdi)
17387  .byte  0,0                                 // add           %al,(%rax)
17388  .byte  192,63,85                           // sarb          $0x55,(%rdi)
17389  .byte  85                                  // push          %rbp
17390  .byte  149                                 // xchg          %eax,%ebp
17391  .byte  191,57,142,99,61                    // mov           $0x3d638e39,%edi
17392  .byte  0,0                                 // add           %al,(%rax)
17393  .byte  192,63,171                          // sarb          $0xab,(%rdi)
17394  .byte  170                                 // stos          %al,%es:(%rdi)
17395  .byte  170                                 // stos          %al,%es:(%rdi)
17396  .byte  190,114,28,199,62                   // mov           $0x3ec71c72,%esi
17397
17398BALIGN32
17399  .byte  255,0                               // incl          (%rax)
17400  .byte  0,0                                 // add           %al,(%rax)
17401  .byte  255,0                               // incl          (%rax)
17402  .byte  0,0                                 // add           %al,(%rax)
17403  .byte  255,0                               // incl          (%rax)
17404  .byte  0,0                                 // add           %al,(%rax)
17405  .byte  255,0                               // incl          (%rax)
17406  .byte  0,0                                 // add           %al,(%rax)
17407  .byte  255,0                               // incl          (%rax)
17408  .byte  0,0                                 // add           %al,(%rax)
17409  .byte  255,0                               // incl          (%rax)
17410  .byte  0,0                                 // add           %al,(%rax)
17411  .byte  255,0                               // incl          (%rax)
17412  .byte  0,0                                 // add           %al,(%rax)
17413  .byte  255,0                               // incl          (%rax)
17414  .byte  0,0                                 // add           %al,(%rax)
17415  .byte  1,255                               // add           %edi,%edi
17416  .byte  255                                 // (bad)
17417  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005d08 <_sk_callback_hsw+0xa000624>
17418  .byte  255                                 // (bad)
17419  .byte  255                                 // (bad)
17420  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005d10 <_sk_callback_hsw+0x1200062c>
17421  .byte  255                                 // (bad)
17422  .byte  255                                 // (bad)
17423  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005d18 <_sk_callback_hsw+0x1a000634>
17424  .byte  255                                 // (bad)
17425  .byte  255                                 // (bad)
17426  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005d20 <_sk_callback_hsw+0x300063c>
17427  .byte  255                                 // (bad)
17428  .byte  255                                 // (bad)
17429  .byte  255,6                               // incl          (%rsi)
17430  .byte  255                                 // (bad)
17431  .byte  255                                 // (bad)
17432  .byte  255,10                              // decl          (%rdx)
17433  .byte  255                                 // (bad)
17434  .byte  255                                 // (bad)
17435  .byte  255,14                              // decl          (%rsi)
17436  .byte  255                                 // (bad)
17437  .byte  255                                 // (bad)
17438  .byte  255,18                              // callq         *(%rdx)
17439  .byte  255                                 // (bad)
17440  .byte  255                                 // (bad)
17441  .byte  255,22                              // callq         *(%rsi)
17442  .byte  255                                 // (bad)
17443  .byte  255                                 // (bad)
17444  .byte  255,26                              // lcall         *(%rdx)
17445  .byte  255                                 // (bad)
17446  .byte  255                                 // (bad)
17447  .byte  255,30                              // lcall         *(%rsi)
17448  .byte  255                                 // (bad)
17449  .byte  255                                 // (bad)
17450  .byte  255                                 // (bad)
17451  .byte  255,0                               // incl          (%rax)
17452  .byte  0,0                                 // add           %al,(%rax)
17453  .byte  255,0                               // incl          (%rax)
17454  .byte  0,0                                 // add           %al,(%rax)
17455  .byte  255,0                               // incl          (%rax)
17456  .byte  0,0                                 // add           %al,(%rax)
17457  .byte  255,0                               // incl          (%rax)
17458  .byte  0,0                                 // add           %al,(%rax)
17459  .byte  255,0                               // incl          (%rax)
17460  .byte  0,0                                 // add           %al,(%rax)
17461  .byte  255,0                               // incl          (%rax)
17462  .byte  0,0                                 // add           %al,(%rax)
17463  .byte  255,0                               // incl          (%rax)
17464  .byte  0,0                                 // add           %al,(%rax)
17465  .byte  255,0                               // incl          (%rax)
17466  .byte  0,0                                 // add           %al,(%rax)
17467  .byte  1,255                               // add           %edi,%edi
17468  .byte  255                                 // (bad)
17469  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005d68 <_sk_callback_hsw+0xa000684>
17470  .byte  255                                 // (bad)
17471  .byte  255                                 // (bad)
17472  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005d70 <_sk_callback_hsw+0x1200068c>
17473  .byte  255                                 // (bad)
17474  .byte  255                                 // (bad)
17475  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005d78 <_sk_callback_hsw+0x1a000694>
17476  .byte  255                                 // (bad)
17477  .byte  255                                 // (bad)
17478  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005d80 <_sk_callback_hsw+0x300069c>
17479  .byte  255                                 // (bad)
17480  .byte  255                                 // (bad)
17481  .byte  255,6                               // incl          (%rsi)
17482  .byte  255                                 // (bad)
17483  .byte  255                                 // (bad)
17484  .byte  255,10                              // decl          (%rdx)
17485  .byte  255                                 // (bad)
17486  .byte  255                                 // (bad)
17487  .byte  255,14                              // decl          (%rsi)
17488  .byte  255                                 // (bad)
17489  .byte  255                                 // (bad)
17490  .byte  255,18                              // callq         *(%rdx)
17491  .byte  255                                 // (bad)
17492  .byte  255                                 // (bad)
17493  .byte  255,22                              // callq         *(%rsi)
17494  .byte  255                                 // (bad)
17495  .byte  255                                 // (bad)
17496  .byte  255,26                              // lcall         *(%rdx)
17497  .byte  255                                 // (bad)
17498  .byte  255                                 // (bad)
17499  .byte  255,30                              // lcall         *(%rsi)
17500  .byte  255                                 // (bad)
17501  .byte  255                                 // (bad)
17502  .byte  255                                 // (bad)
17503  .byte  255,0                               // incl          (%rax)
17504  .byte  0,0                                 // add           %al,(%rax)
17505  .byte  255,0                               // incl          (%rax)
17506  .byte  0,0                                 // add           %al,(%rax)
17507  .byte  255,0                               // incl          (%rax)
17508  .byte  0,0                                 // add           %al,(%rax)
17509  .byte  255,0                               // incl          (%rax)
17510  .byte  0,0                                 // add           %al,(%rax)
17511  .byte  255,0                               // incl          (%rax)
17512  .byte  0,0                                 // add           %al,(%rax)
17513  .byte  255,0                               // incl          (%rax)
17514  .byte  0,0                                 // add           %al,(%rax)
17515  .byte  255,0                               // incl          (%rax)
17516  .byte  0,0                                 // add           %al,(%rax)
17517  .byte  255,0                               // incl          (%rax)
17518  .byte  0,0                                 // add           %al,(%rax)
17519  .byte  1,255                               // add           %edi,%edi
17520  .byte  255                                 // (bad)
17521  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005dc8 <_sk_callback_hsw+0xa0006e4>
17522  .byte  255                                 // (bad)
17523  .byte  255                                 // (bad)
17524  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005dd0 <_sk_callback_hsw+0x120006ec>
17525  .byte  255                                 // (bad)
17526  .byte  255                                 // (bad)
17527  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005dd8 <_sk_callback_hsw+0x1a0006f4>
17528  .byte  255                                 // (bad)
17529  .byte  255                                 // (bad)
17530  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005de0 <_sk_callback_hsw+0x30006fc>
17531  .byte  255                                 // (bad)
17532  .byte  255                                 // (bad)
17533  .byte  255,6                               // incl          (%rsi)
17534  .byte  255                                 // (bad)
17535  .byte  255                                 // (bad)
17536  .byte  255,10                              // decl          (%rdx)
17537  .byte  255                                 // (bad)
17538  .byte  255                                 // (bad)
17539  .byte  255,14                              // decl          (%rsi)
17540  .byte  255                                 // (bad)
17541  .byte  255                                 // (bad)
17542  .byte  255,18                              // callq         *(%rdx)
17543  .byte  255                                 // (bad)
17544  .byte  255                                 // (bad)
17545  .byte  255,22                              // callq         *(%rsi)
17546  .byte  255                                 // (bad)
17547  .byte  255                                 // (bad)
17548  .byte  255,26                              // lcall         *(%rdx)
17549  .byte  255                                 // (bad)
17550  .byte  255                                 // (bad)
17551  .byte  255,30                              // lcall         *(%rsi)
17552  .byte  255                                 // (bad)
17553  .byte  255                                 // (bad)
17554  .byte  255                                 // (bad)
17555  .byte  255,0                               // incl          (%rax)
17556  .byte  0,0                                 // add           %al,(%rax)
17557  .byte  255,0                               // incl          (%rax)
17558  .byte  0,0                                 // add           %al,(%rax)
17559  .byte  255,0                               // incl          (%rax)
17560  .byte  0,0                                 // add           %al,(%rax)
17561  .byte  255,0                               // incl          (%rax)
17562  .byte  0,0                                 // add           %al,(%rax)
17563  .byte  255,0                               // incl          (%rax)
17564  .byte  0,0                                 // add           %al,(%rax)
17565  .byte  255,0                               // incl          (%rax)
17566  .byte  0,0                                 // add           %al,(%rax)
17567  .byte  255,0                               // incl          (%rax)
17568  .byte  0,0                                 // add           %al,(%rax)
17569  .byte  255,0                               // incl          (%rax)
17570  .byte  0,0                                 // add           %al,(%rax)
17571  .byte  1,255                               // add           %edi,%edi
17572  .byte  255                                 // (bad)
17573  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005e28 <_sk_callback_hsw+0xa000744>
17574  .byte  255                                 // (bad)
17575  .byte  255                                 // (bad)
17576  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005e30 <_sk_callback_hsw+0x1200074c>
17577  .byte  255                                 // (bad)
17578  .byte  255                                 // (bad)
17579  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005e38 <_sk_callback_hsw+0x1a000754>
17580  .byte  255                                 // (bad)
17581  .byte  255                                 // (bad)
17582  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005e40 <_sk_callback_hsw+0x300075c>
17583  .byte  255                                 // (bad)
17584  .byte  255                                 // (bad)
17585  .byte  255,6                               // incl          (%rsi)
17586  .byte  255                                 // (bad)
17587  .byte  255                                 // (bad)
17588  .byte  255,10                              // decl          (%rdx)
17589  .byte  255                                 // (bad)
17590  .byte  255                                 // (bad)
17591  .byte  255,14                              // decl          (%rsi)
17592  .byte  255                                 // (bad)
17593  .byte  255                                 // (bad)
17594  .byte  255,18                              // callq         *(%rdx)
17595  .byte  255                                 // (bad)
17596  .byte  255                                 // (bad)
17597  .byte  255,22                              // callq         *(%rsi)
17598  .byte  255                                 // (bad)
17599  .byte  255                                 // (bad)
17600  .byte  255,26                              // lcall         *(%rdx)
17601  .byte  255                                 // (bad)
17602  .byte  255                                 // (bad)
17603  .byte  255,30                              // lcall         *(%rsi)
17604  .byte  255                                 // (bad)
17605  .byte  255                                 // (bad)
17606  .byte  255                                 // (bad)
17607  .byte  255,0                               // incl          (%rax)
17608  .byte  0,0                                 // add           %al,(%rax)
17609  .byte  255,0                               // incl          (%rax)
17610  .byte  0,0                                 // add           %al,(%rax)
17611  .byte  255,0                               // incl          (%rax)
17612  .byte  0,0                                 // add           %al,(%rax)
17613  .byte  255,0                               // incl          (%rax)
17614  .byte  0,0                                 // add           %al,(%rax)
17615  .byte  255,0                               // incl          (%rax)
17616  .byte  0,0                                 // add           %al,(%rax)
17617  .byte  255,0                               // incl          (%rax)
17618  .byte  0,0                                 // add           %al,(%rax)
17619  .byte  255,0                               // incl          (%rax)
17620  .byte  0,0                                 // add           %al,(%rax)
17621  .byte  255,0                               // incl          (%rax)
17622  .byte  0,0                                 // add           %al,(%rax)
17623  .byte  1,255                               // add           %edi,%edi
17624  .byte  255                                 // (bad)
17625  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005e88 <_sk_callback_hsw+0xa0007a4>
17626  .byte  255                                 // (bad)
17627  .byte  255                                 // (bad)
17628  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005e90 <_sk_callback_hsw+0x120007ac>
17629  .byte  255                                 // (bad)
17630  .byte  255                                 // (bad)
17631  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005e98 <_sk_callback_hsw+0x1a0007b4>
17632  .byte  255                                 // (bad)
17633  .byte  255                                 // (bad)
17634  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005ea0 <_sk_callback_hsw+0x30007bc>
17635  .byte  255                                 // (bad)
17636  .byte  255                                 // (bad)
17637  .byte  255,6                               // incl          (%rsi)
17638  .byte  255                                 // (bad)
17639  .byte  255                                 // (bad)
17640  .byte  255,10                              // decl          (%rdx)
17641  .byte  255                                 // (bad)
17642  .byte  255                                 // (bad)
17643  .byte  255,14                              // decl          (%rsi)
17644  .byte  255                                 // (bad)
17645  .byte  255                                 // (bad)
17646  .byte  255,18                              // callq         *(%rdx)
17647  .byte  255                                 // (bad)
17648  .byte  255                                 // (bad)
17649  .byte  255,22                              // callq         *(%rsi)
17650  .byte  255                                 // (bad)
17651  .byte  255                                 // (bad)
17652  .byte  255,26                              // lcall         *(%rdx)
17653  .byte  255                                 // (bad)
17654  .byte  255                                 // (bad)
17655  .byte  255,30                              // lcall         *(%rsi)
17656  .byte  255                                 // (bad)
17657  .byte  255                                 // (bad)
17658  .byte  255                                 // (bad)
17659  .byte  255,0                               // incl          (%rax)
17660  .byte  0,0                                 // add           %al,(%rax)
17661  .byte  255,0                               // incl          (%rax)
17662  .byte  0,0                                 // add           %al,(%rax)
17663  .byte  255,0                               // incl          (%rax)
17664  .byte  0,0                                 // add           %al,(%rax)
17665  .byte  255,0                               // incl          (%rax)
17666  .byte  0,0                                 // add           %al,(%rax)
17667  .byte  255,0                               // incl          (%rax)
17668  .byte  0,0                                 // add           %al,(%rax)
17669  .byte  255,0                               // incl          (%rax)
17670  .byte  0,0                                 // add           %al,(%rax)
17671  .byte  255,0                               // incl          (%rax)
17672  .byte  0,0                                 // add           %al,(%rax)
17673  .byte  255,0                               // incl          (%rax)
17674  .byte  0,0                                 // add           %al,(%rax)
17675  .byte  1,255                               // add           %edi,%edi
17676  .byte  255                                 // (bad)
17677  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005ee8 <_sk_callback_hsw+0xa000804>
17678  .byte  255                                 // (bad)
17679  .byte  255                                 // (bad)
17680  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005ef0 <_sk_callback_hsw+0x1200080c>
17681  .byte  255                                 // (bad)
17682  .byte  255                                 // (bad)
17683  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005ef8 <_sk_callback_hsw+0x1a000814>
17684  .byte  255                                 // (bad)
17685  .byte  255                                 // (bad)
17686  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005f00 <_sk_callback_hsw+0x300081c>
17687  .byte  255                                 // (bad)
17688  .byte  255                                 // (bad)
17689  .byte  255,6                               // incl          (%rsi)
17690  .byte  255                                 // (bad)
17691  .byte  255                                 // (bad)
17692  .byte  255,10                              // decl          (%rdx)
17693  .byte  255                                 // (bad)
17694  .byte  255                                 // (bad)
17695  .byte  255,14                              // decl          (%rsi)
17696  .byte  255                                 // (bad)
17697  .byte  255                                 // (bad)
17698  .byte  255,18                              // callq         *(%rdx)
17699  .byte  255                                 // (bad)
17700  .byte  255                                 // (bad)
17701  .byte  255,22                              // callq         *(%rsi)
17702  .byte  255                                 // (bad)
17703  .byte  255                                 // (bad)
17704  .byte  255,26                              // lcall         *(%rdx)
17705  .byte  255                                 // (bad)
17706  .byte  255                                 // (bad)
17707  .byte  255,30                              // lcall         *(%rsi)
17708  .byte  255                                 // (bad)
17709  .byte  255                                 // (bad)
17710  .byte  255                                 // (bad)
17711  .byte  255,0                               // incl          (%rax)
17712  .byte  0,0                                 // add           %al,(%rax)
17713  .byte  255,0                               // incl          (%rax)
17714  .byte  0,0                                 // add           %al,(%rax)
17715  .byte  255,0                               // incl          (%rax)
17716  .byte  0,0                                 // add           %al,(%rax)
17717  .byte  255,0                               // incl          (%rax)
17718  .byte  0,0                                 // add           %al,(%rax)
17719  .byte  255,0                               // incl          (%rax)
17720  .byte  0,0                                 // add           %al,(%rax)
17721  .byte  255,0                               // incl          (%rax)
17722  .byte  0,0                                 // add           %al,(%rax)
17723  .byte  255,0                               // incl          (%rax)
17724  .byte  0,0                                 // add           %al,(%rax)
17725  .byte  255,0                               // incl          (%rax)
17726  .byte  0,0                                 // add           %al,(%rax)
17727  .byte  1,255                               // add           %edi,%edi
17728  .byte  255                                 // (bad)
17729  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005f48 <_sk_callback_hsw+0xa000864>
17730  .byte  255                                 // (bad)
17731  .byte  255                                 // (bad)
17732  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005f50 <_sk_callback_hsw+0x1200086c>
17733  .byte  255                                 // (bad)
17734  .byte  255                                 // (bad)
17735  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005f58 <_sk_callback_hsw+0x1a000874>
17736  .byte  255                                 // (bad)
17737  .byte  255                                 // (bad)
17738  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005f60 <_sk_callback_hsw+0x300087c>
17739  .byte  255                                 // (bad)
17740  .byte  255                                 // (bad)
17741  .byte  255,6                               // incl          (%rsi)
17742  .byte  255                                 // (bad)
17743  .byte  255                                 // (bad)
17744  .byte  255,10                              // decl          (%rdx)
17745  .byte  255                                 // (bad)
17746  .byte  255                                 // (bad)
17747  .byte  255,14                              // decl          (%rsi)
17748  .byte  255                                 // (bad)
17749  .byte  255                                 // (bad)
17750  .byte  255,18                              // callq         *(%rdx)
17751  .byte  255                                 // (bad)
17752  .byte  255                                 // (bad)
17753  .byte  255,22                              // callq         *(%rsi)
17754  .byte  255                                 // (bad)
17755  .byte  255                                 // (bad)
17756  .byte  255,26                              // lcall         *(%rdx)
17757  .byte  255                                 // (bad)
17758  .byte  255                                 // (bad)
17759  .byte  255,30                              // lcall         *(%rsi)
17760  .byte  255                                 // (bad)
17761  .byte  255                                 // (bad)
17762  .byte  255                                 // (bad)
17763  .byte  255,0                               // incl          (%rax)
17764  .byte  0,0                                 // add           %al,(%rax)
17765  .byte  255,0                               // incl          (%rax)
17766  .byte  0,0                                 // add           %al,(%rax)
17767  .byte  255,0                               // incl          (%rax)
17768  .byte  0,0                                 // add           %al,(%rax)
17769  .byte  255,0                               // incl          (%rax)
17770  .byte  0,0                                 // add           %al,(%rax)
17771  .byte  255,0                               // incl          (%rax)
17772  .byte  0,0                                 // add           %al,(%rax)
17773  .byte  255,0                               // incl          (%rax)
17774  .byte  0,0                                 // add           %al,(%rax)
17775  .byte  255,0                               // incl          (%rax)
17776  .byte  0,0                                 // add           %al,(%rax)
17777  .byte  255,0                               // incl          (%rax)
17778  .byte  0,0                                 // add           %al,(%rax)
17779  .byte  1,255                               // add           %edi,%edi
17780  .byte  255                                 // (bad)
17781  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005fa8 <_sk_callback_hsw+0xa0008c4>
17782  .byte  255                                 // (bad)
17783  .byte  255                                 // (bad)
17784  .byte  255,13,255,255,255,17               // decl          0x11ffffff(%rip)        # 12005fb0 <_sk_callback_hsw+0x120008cc>
17785  .byte  255                                 // (bad)
17786  .byte  255                                 // (bad)
17787  .byte  255,21,255,255,255,25               // callq         *0x19ffffff(%rip)        # 1a005fb8 <_sk_callback_hsw+0x1a0008d4>
17788  .byte  255                                 // (bad)
17789  .byte  255                                 // (bad)
17790  .byte  255,29,255,255,255,2                // lcall         *0x2ffffff(%rip)        # 3005fc0 <_sk_callback_hsw+0x30008dc>
17791  .byte  255                                 // (bad)
17792  .byte  255                                 // (bad)
17793  .byte  255,6                               // incl          (%rsi)
17794  .byte  255                                 // (bad)
17795  .byte  255                                 // (bad)
17796  .byte  255,10                              // decl          (%rdx)
17797  .byte  255                                 // (bad)
17798  .byte  255                                 // (bad)
17799  .byte  255,14                              // decl          (%rsi)
17800  .byte  255                                 // (bad)
17801  .byte  255                                 // (bad)
17802  .byte  255,18                              // callq         *(%rdx)
17803  .byte  255                                 // (bad)
17804  .byte  255                                 // (bad)
17805  .byte  255,22                              // callq         *(%rsi)
17806  .byte  255                                 // (bad)
17807  .byte  255                                 // (bad)
17808  .byte  255,26                              // lcall         *(%rdx)
17809  .byte  255                                 // (bad)
17810  .byte  255                                 // (bad)
17811  .byte  255,30                              // lcall         *(%rsi)
17812  .byte  255                                 // (bad)
17813  .byte  255                                 // (bad)
17814  .byte  255                                 // .byte         0xff
17815
17816BALIGN16
17817  .byte  255,0                               // incl          (%rax)
17818  .byte  255,0                               // incl          (%rax)
17819  .byte  255,0                               // incl          (%rax)
17820  .byte  255,0                               // incl          (%rax)
17821  .byte  255,0                               // incl          (%rax)
17822  .byte  255,0                               // incl          (%rax)
17823  .byte  255,0                               // incl          (%rax)
17824  .byte  255,0                               // incl          (%rax)
17825  .byte  255,0                               // incl          (%rax)
17826  .byte  255,0                               // incl          (%rax)
17827  .byte  255,0                               // incl          (%rax)
17828  .byte  255,0                               // incl          (%rax)
17829  .byte  255,0                               // incl          (%rax)
17830  .byte  255,0                               // incl          (%rax)
17831  .byte  255,0                               // incl          (%rax)
17832  .byte  255,0                               // incl          (%rax)
17833  .byte  255,0                               // incl          (%rax)
17834  .byte  255,0                               // incl          (%rax)
17835  .byte  255,0                               // incl          (%rax)
17836  .byte  255,0                               // incl          (%rax)
17837  .byte  255,0                               // incl          (%rax)
17838  .byte  255,0                               // incl          (%rax)
17839  .byte  255,0                               // incl          (%rax)
17840  .byte  255,0                               // incl          (%rax)
17841  .byte  255,0                               // incl          (%rax)
17842  .byte  255,0                               // incl          (%rax)
17843  .byte  255,0                               // incl          (%rax)
17844  .byte  255,0                               // incl          (%rax)
17845  .byte  255,0                               // incl          (%rax)
17846  .byte  255,0                               // incl          (%rax)
17847  .byte  255,0                               // incl          (%rax)
17848  .byte  255,0                               // incl          (%rax)
17849  .byte  255,0                               // incl          (%rax)
17850  .byte  255,0                               // incl          (%rax)
17851  .byte  255,0                               // incl          (%rax)
17852  .byte  255,0                               // incl          (%rax)
17853  .byte  255,0                               // incl          (%rax)
17854  .byte  255,0                               // incl          (%rax)
17855  .byte  255,0                               // incl          (%rax)
17856  .byte  255,0                               // incl          (%rax)
17857  .byte  255,0                               // incl          (%rax)
17858  .byte  255,0                               // incl          (%rax)
17859  .byte  255,0                               // incl          (%rax)
17860  .byte  255,0                               // incl          (%rax)
17861  .byte  255,0                               // incl          (%rax)
17862  .byte  255,0                               // incl          (%rax)
17863  .byte  255,0                               // incl          (%rax)
17864  .byte  255,0                               // incl          (%rax)
17865  .byte  0,2                                 // add           %al,(%rdx)
17866  .byte  0,0                                 // add           %al,(%rax)
17867  .byte  0,0                                 // add           %al,(%rax)
17868  .byte  0,0                                 // add           %al,(%rax)
17869  .byte  0,0                                 // add           %al,(%rax)
17870  .byte  0,0                                 // add           %al,(%rax)
17871  .byte  0,0                                 // add           %al,(%rax)
17872  .byte  0,0                                 // add           %al,(%rax)
17873  .byte  0,2                                 // add           %al,(%rdx)
17874  .byte  4,6                                 // add           $0x6,%al
17875  .byte  0,0                                 // add           %al,(%rax)
17876  .byte  0,0                                 // add           %al,(%rax)
17877  .byte  0,0                                 // add           %al,(%rax)
17878  .byte  0,0                                 // add           %al,(%rax)
17879  .byte  0,0                                 // add           %al,(%rax)
17880  .byte  0,0                                 // add           %al,(%rax)
17881  .byte  255,0                               // incl          (%rax)
17882  .byte  255,0                               // incl          (%rax)
17883  .byte  255,0                               // incl          (%rax)
17884  .byte  255,0                               // incl          (%rax)
17885  .byte  255,0                               // incl          (%rax)
17886  .byte  255,0                               // incl          (%rax)
17887  .byte  255,0                               // incl          (%rax)
17888  .byte  255,0                               // incl          (%rax)
17889  .byte  255,0                               // incl          (%rax)
17890  .byte  255,0                               // incl          (%rax)
17891  .byte  255,0                               // incl          (%rax)
17892  .byte  255,0                               // incl          (%rax)
17893  .byte  255,0                               // incl          (%rax)
17894  .byte  255,0                               // incl          (%rax)
17895  .byte  255,0                               // incl          (%rax)
17896  .byte  255,0                               // incl          (%rax)
17897BALIGN32
17898
17899HIDDEN _sk_start_pipeline_avx
17900.globl _sk_start_pipeline_avx
17901FUNCTION(_sk_start_pipeline_avx)
17902_sk_start_pipeline_avx:
17903  .byte  85                                  // push          %rbp
17904  .byte  72,137,229                          // mov           %rsp,%rbp
17905  .byte  65,87                               // push          %r15
17906  .byte  65,86                               // push          %r14
17907  .byte  65,85                               // push          %r13
17908  .byte  65,84                               // push          %r12
17909  .byte  83                                  // push          %rbx
17910  .byte  80                                  // push          %rax
17911  .byte  77,137,196                          // mov           %r8,%r12
17912  .byte  73,137,208                          // mov           %rdx,%r8
17913  .byte  72,137,243                          // mov           %rsi,%rbx
17914  .byte  73,137,254                          // mov           %rdi,%r14
17915  .byte  72,137,206                          // mov           %rcx,%rsi
17916  .byte  72,173                              // lods          %ds:(%rsi),%rax
17917  .byte  73,137,197                          // mov           %rax,%r13
17918  .byte  73,137,247                          // mov           %rsi,%r15
17919  .byte  73,141,78,8                         // lea           0x8(%r14),%rcx
17920  .byte  76,57,193                           // cmp           %r8,%rcx
17921  .byte  118,5                               // jbe           33 <_sk_start_pipeline_avx+0x33>
17922  .byte  76,137,242                          // mov           %r14,%rdx
17923  .byte  235,42                              // jmp           5d <_sk_start_pipeline_avx+0x5d>
17924  .byte  76,137,69,208                       // mov           %r8,-0x30(%rbp)
17925  .byte  69,49,192                           // xor           %r8d,%r8d
17926  .byte  76,137,231                          // mov           %r12,%rdi
17927  .byte  76,137,254                          // mov           %r15,%rsi
17928  .byte  76,137,242                          // mov           %r14,%rdx
17929  .byte  72,137,217                          // mov           %rbx,%rcx
17930  .byte  65,255,213                          // callq         *%r13
17931  .byte  76,139,69,208                       // mov           -0x30(%rbp),%r8
17932  .byte  73,141,86,8                         // lea           0x8(%r14),%rdx
17933  .byte  73,131,198,16                       // add           $0x10,%r14
17934  .byte  77,57,198                           // cmp           %r8,%r14
17935  .byte  73,137,214                          // mov           %rdx,%r14
17936  .byte  118,218                             // jbe           37 <_sk_start_pipeline_avx+0x37>
17937  .byte  73,41,208                           // sub           %rdx,%r8
17938  .byte  116,12                              // je            6e <_sk_start_pipeline_avx+0x6e>
17939  .byte  76,137,231                          // mov           %r12,%rdi
17940  .byte  76,137,254                          // mov           %r15,%rsi
17941  .byte  72,137,217                          // mov           %rbx,%rcx
17942  .byte  65,255,213                          // callq         *%r13
17943  .byte  72,131,196,8                        // add           $0x8,%rsp
17944  .byte  91                                  // pop           %rbx
17945  .byte  65,92                               // pop           %r12
17946  .byte  65,93                               // pop           %r13
17947  .byte  65,94                               // pop           %r14
17948  .byte  65,95                               // pop           %r15
17949  .byte  93                                  // pop           %rbp
17950  .byte  197,248,119                         // vzeroupper
17951  .byte  195                                 // retq
17952
17953HIDDEN _sk_start_pipeline_2d_avx
17954.globl _sk_start_pipeline_2d_avx
17955FUNCTION(_sk_start_pipeline_2d_avx)
17956_sk_start_pipeline_2d_avx:
17957  .byte  85                                  // push          %rbp
17958  .byte  72,137,229                          // mov           %rsp,%rbp
17959  .byte  65,87                               // push          %r15
17960  .byte  65,86                               // push          %r14
17961  .byte  65,85                               // push          %r13
17962  .byte  65,84                               // push          %r12
17963  .byte  83                                  // push          %rbx
17964  .byte  72,131,236,40                       // sub           $0x28,%rsp
17965  .byte  72,137,211                          // mov           %rdx,%rbx
17966  .byte  73,137,244                          // mov           %rsi,%r12
17967  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
17968  .byte  72,137,77,176                       // mov           %rcx,-0x50(%rbp)
17969  .byte  73,57,204                           // cmp           %rcx,%r12
17970  .byte  115,124                             // jae           120 <_sk_start_pipeline_2d_avx+0xa0>
17971  .byte  76,137,198                          // mov           %r8,%rsi
17972  .byte  72,173                              // lods          %ds:(%rsi),%rax
17973  .byte  73,137,198                          // mov           %rax,%r14
17974  .byte  73,137,245                          // mov           %rsi,%r13
17975  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
17976  .byte  72,141,64,8                         // lea           0x8(%rax),%rax
17977  .byte  72,137,69,184                       // mov           %rax,-0x48(%rbp)
17978  .byte  76,137,77,192                       // mov           %r9,-0x40(%rbp)
17979  .byte  72,137,93,200                       // mov           %rbx,-0x38(%rbp)
17980  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
17981  .byte  72,57,93,184                        // cmp           %rbx,-0x48(%rbp)
17982  .byte  119,46                              // ja            fb <_sk_start_pipeline_2d_avx+0x7b>
17983  .byte  76,139,125,208                      // mov           -0x30(%rbp),%r15
17984  .byte  69,49,192                           // xor           %r8d,%r8d
17985  .byte  76,137,207                          // mov           %r9,%rdi
17986  .byte  76,137,238                          // mov           %r13,%rsi
17987  .byte  76,137,250                          // mov           %r15,%rdx
17988  .byte  76,137,225                          // mov           %r12,%rcx
17989  .byte  65,255,214                          // callq         *%r14
17990  .byte  72,139,93,200                       // mov           -0x38(%rbp),%rbx
17991  .byte  76,139,77,192                       // mov           -0x40(%rbp),%r9
17992  .byte  73,141,87,8                         // lea           0x8(%r15),%rdx
17993  .byte  73,131,199,16                       // add           $0x10,%r15
17994  .byte  73,57,223                           // cmp           %rbx,%r15
17995  .byte  73,137,215                          // mov           %rdx,%r15
17996  .byte  118,214                             // jbe           d1 <_sk_start_pipeline_2d_avx+0x51>
17997  .byte  73,137,216                          // mov           %rbx,%r8
17998  .byte  73,41,208                           // sub           %rdx,%r8
17999  .byte  116,20                              // je            117 <_sk_start_pipeline_2d_avx+0x97>
18000  .byte  76,137,207                          // mov           %r9,%rdi
18001  .byte  76,137,238                          // mov           %r13,%rsi
18002  .byte  76,137,225                          // mov           %r12,%rcx
18003  .byte  65,255,214                          // callq         *%r14
18004  .byte  72,139,93,200                       // mov           -0x38(%rbp),%rbx
18005  .byte  76,139,77,192                       // mov           -0x40(%rbp),%r9
18006  .byte  73,255,196                          // inc           %r12
18007  .byte  76,59,101,176                       // cmp           -0x50(%rbp),%r12
18008  .byte  117,163                             // jne           c3 <_sk_start_pipeline_2d_avx+0x43>
18009  .byte  72,131,196,40                       // add           $0x28,%rsp
18010  .byte  91                                  // pop           %rbx
18011  .byte  65,92                               // pop           %r12
18012  .byte  65,93                               // pop           %r13
18013  .byte  65,94                               // pop           %r14
18014  .byte  65,95                               // pop           %r15
18015  .byte  93                                  // pop           %rbp
18016  .byte  197,248,119                         // vzeroupper
18017  .byte  195                                 // retq
18018
18019HIDDEN _sk_just_return_avx
18020.globl _sk_just_return_avx
18021FUNCTION(_sk_just_return_avx)
18022_sk_just_return_avx:
18023  .byte  195                                 // retq
18024
18025HIDDEN _sk_seed_shader_avx
18026.globl _sk_seed_shader_avx
18027FUNCTION(_sk_seed_shader_avx)
18028_sk_seed_shader_avx:
18029  .byte  197,249,110,194                     // vmovd         %edx,%xmm0
18030  .byte  197,249,112,192,0                   // vpshufd       $0x0,%xmm0,%xmm0
18031  .byte  196,227,125,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
18032  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
18033  .byte  196,226,125,24,13,165,119,0,0       // vbroadcastss  0x77a5(%rip),%ymm1        # 78f4 <_sk_callback_avx+0x144>
18034  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
18035  .byte  197,252,88,7                        // vaddps        (%rdi),%ymm0,%ymm0
18036  .byte  197,249,110,209                     // vmovd         %ecx,%xmm2
18037  .byte  197,249,112,210,0                   // vpshufd       $0x0,%xmm2,%xmm2
18038  .byte  196,227,109,24,210,1                // vinsertf128   $0x1,%xmm2,%ymm2,%ymm2
18039  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
18040  .byte  197,236,88,201                      // vaddps        %ymm1,%ymm2,%ymm1
18041  .byte  72,173                              // lods          %ds:(%rsi),%rax
18042  .byte  196,226,125,24,21,127,119,0,0       // vbroadcastss  0x777f(%rip),%ymm2        # 78f8 <_sk_callback_avx+0x148>
18043  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
18044  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
18045  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
18046  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
18047  .byte  197,196,87,255                      // vxorps        %ymm7,%ymm7,%ymm7
18048  .byte  255,224                             // jmpq          *%rax
18049
18050HIDDEN _sk_dither_avx
18051.globl _sk_dither_avx
18052FUNCTION(_sk_dither_avx)
18053_sk_dither_avx:
18054  .byte  72,173                              // lods          %ds:(%rsi),%rax
18055  .byte  197,124,16,71,32                    // vmovups       0x20(%rdi),%ymm8
18056  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
18057  .byte  197,121,110,210                     // vmovd         %edx,%xmm10
18058  .byte  196,65,121,112,210,0                // vpshufd       $0x0,%xmm10,%xmm10
18059  .byte  196,65,49,254,202                   // vpaddd        %xmm10,%xmm9,%xmm9
18060  .byte  196,65,57,254,194                   // vpaddd        %xmm10,%xmm8,%xmm8
18061  .byte  196,67,61,24,193,1                  // vinsertf128   $0x1,%xmm9,%ymm8,%ymm8
18062  .byte  197,121,110,201                     // vmovd         %ecx,%xmm9
18063  .byte  196,65,121,112,201,0                // vpshufd       $0x0,%xmm9,%xmm9
18064  .byte  196,67,53,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm9,%ymm9
18065  .byte  196,65,52,87,208                    // vxorps        %ymm8,%ymm9,%ymm10
18066  .byte  196,98,125,24,29,40,119,0,0         // vbroadcastss  0x7728(%rip),%ymm11        # 78fc <_sk_callback_avx+0x14c>
18067  .byte  196,65,44,84,203                    // vandps        %ymm11,%ymm10,%ymm9
18068  .byte  196,193,25,114,241,5                // vpslld        $0x5,%xmm9,%xmm12
18069  .byte  196,67,125,25,201,1                 // vextractf128  $0x1,%ymm9,%xmm9
18070  .byte  196,193,49,114,241,5                // vpslld        $0x5,%xmm9,%xmm9
18071  .byte  196,67,29,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm12,%ymm9
18072  .byte  196,65,60,84,219                    // vandps        %ymm11,%ymm8,%ymm11
18073  .byte  196,193,25,114,243,4                // vpslld        $0x4,%xmm11,%xmm12
18074  .byte  196,67,125,25,219,1                 // vextractf128  $0x1,%ymm11,%xmm11
18075  .byte  196,193,33,114,243,4                // vpslld        $0x4,%xmm11,%xmm11
18076  .byte  196,67,29,24,219,1                  // vinsertf128   $0x1,%xmm11,%ymm12,%ymm11
18077  .byte  196,98,125,24,37,233,118,0,0        // vbroadcastss  0x76e9(%rip),%ymm12        # 7900 <_sk_callback_avx+0x150>
18078  .byte  196,98,125,24,45,228,118,0,0        // vbroadcastss  0x76e4(%rip),%ymm13        # 7904 <_sk_callback_avx+0x154>
18079  .byte  196,65,44,84,245                    // vandps        %ymm13,%ymm10,%ymm14
18080  .byte  196,193,1,114,246,2                 // vpslld        $0x2,%xmm14,%xmm15
18081  .byte  196,67,125,25,246,1                 // vextractf128  $0x1,%ymm14,%xmm14
18082  .byte  196,193,9,114,246,2                 // vpslld        $0x2,%xmm14,%xmm14
18083  .byte  196,67,5,24,246,1                   // vinsertf128   $0x1,%xmm14,%ymm15,%ymm14
18084  .byte  196,65,60,84,237                    // vandps        %ymm13,%ymm8,%ymm13
18085  .byte  196,65,17,254,253                   // vpaddd        %xmm13,%xmm13,%xmm15
18086  .byte  196,67,125,25,237,1                 // vextractf128  $0x1,%ymm13,%xmm13
18087  .byte  196,65,17,254,237                   // vpaddd        %xmm13,%xmm13,%xmm13
18088  .byte  196,67,5,24,237,1                   // vinsertf128   $0x1,%xmm13,%ymm15,%ymm13
18089  .byte  196,65,44,84,212                    // vandps        %ymm12,%ymm10,%ymm10
18090  .byte  196,193,1,114,210,1                 // vpsrld        $0x1,%xmm10,%xmm15
18091  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
18092  .byte  196,193,41,114,210,1                // vpsrld        $0x1,%xmm10,%xmm10
18093  .byte  196,67,5,24,210,1                   // vinsertf128   $0x1,%xmm10,%ymm15,%ymm10
18094  .byte  196,65,60,84,196                    // vandps        %ymm12,%ymm8,%ymm8
18095  .byte  196,193,25,114,208,2                // vpsrld        $0x2,%xmm8,%xmm12
18096  .byte  196,67,125,25,192,1                 // vextractf128  $0x1,%ymm8,%xmm8
18097  .byte  196,193,57,114,208,2                // vpsrld        $0x2,%xmm8,%xmm8
18098  .byte  196,67,29,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm12,%ymm8
18099  .byte  196,65,20,86,219                    // vorps         %ymm11,%ymm13,%ymm11
18100  .byte  196,65,36,86,192                    // vorps         %ymm8,%ymm11,%ymm8
18101  .byte  196,65,52,86,206                    // vorps         %ymm14,%ymm9,%ymm9
18102  .byte  196,65,60,86,193                    // vorps         %ymm9,%ymm8,%ymm8
18103  .byte  196,65,60,86,194                    // vorps         %ymm10,%ymm8,%ymm8
18104  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
18105  .byte  196,98,125,24,13,79,118,0,0         // vbroadcastss  0x764f(%rip),%ymm9        # 7908 <_sk_callback_avx+0x158>
18106  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
18107  .byte  196,98,125,24,13,69,118,0,0         // vbroadcastss  0x7645(%rip),%ymm9        # 790c <_sk_callback_avx+0x15c>
18108  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
18109  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
18110  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
18111  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
18112  .byte  197,188,88,201                      // vaddps        %ymm1,%ymm8,%ymm1
18113  .byte  197,188,88,210                      // vaddps        %ymm2,%ymm8,%ymm2
18114  .byte  197,252,93,195                      // vminps        %ymm3,%ymm0,%ymm0
18115  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
18116  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
18117  .byte  197,244,93,203                      // vminps        %ymm3,%ymm1,%ymm1
18118  .byte  197,188,95,201                      // vmaxps        %ymm1,%ymm8,%ymm1
18119  .byte  197,236,93,211                      // vminps        %ymm3,%ymm2,%ymm2
18120  .byte  197,188,95,210                      // vmaxps        %ymm2,%ymm8,%ymm2
18121  .byte  72,173                              // lods          %ds:(%rsi),%rax
18122  .byte  255,224                             // jmpq          *%rax
18123
18124HIDDEN _sk_uniform_color_avx
18125.globl _sk_uniform_color_avx
18126FUNCTION(_sk_uniform_color_avx)
18127_sk_uniform_color_avx:
18128  .byte  72,173                              // lods          %ds:(%rsi),%rax
18129  .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
18130  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
18131  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
18132  .byte  196,226,125,24,88,12                // vbroadcastss  0xc(%rax),%ymm3
18133  .byte  72,173                              // lods          %ds:(%rsi),%rax
18134  .byte  255,224                             // jmpq          *%rax
18135
18136HIDDEN _sk_black_color_avx
18137.globl _sk_black_color_avx
18138FUNCTION(_sk_black_color_avx)
18139_sk_black_color_avx:
18140  .byte  72,173                              // lods          %ds:(%rsi),%rax
18141  .byte  196,226,125,24,29,229,117,0,0       // vbroadcastss  0x75e5(%rip),%ymm3        # 7910 <_sk_callback_avx+0x160>
18142  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
18143  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
18144  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
18145  .byte  255,224                             // jmpq          *%rax
18146
18147HIDDEN _sk_white_color_avx
18148.globl _sk_white_color_avx
18149FUNCTION(_sk_white_color_avx)
18150_sk_white_color_avx:
18151  .byte  72,173                              // lods          %ds:(%rsi),%rax
18152  .byte  196,226,125,24,5,208,117,0,0        // vbroadcastss  0x75d0(%rip),%ymm0        # 7914 <_sk_callback_avx+0x164>
18153  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
18154  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
18155  .byte  197,252,40,216                      // vmovaps       %ymm0,%ymm3
18156  .byte  255,224                             // jmpq          *%rax
18157
18158HIDDEN _sk_load_rgba_avx
18159.globl _sk_load_rgba_avx
18160FUNCTION(_sk_load_rgba_avx)
18161_sk_load_rgba_avx:
18162  .byte  72,173                              // lods          %ds:(%rsi),%rax
18163  .byte  197,252,16,0                        // vmovups       (%rax),%ymm0
18164  .byte  197,252,16,72,32                    // vmovups       0x20(%rax),%ymm1
18165  .byte  197,252,16,80,64                    // vmovups       0x40(%rax),%ymm2
18166  .byte  197,252,16,88,96                    // vmovups       0x60(%rax),%ymm3
18167  .byte  72,173                              // lods          %ds:(%rsi),%rax
18168  .byte  255,224                             // jmpq          *%rax
18169
18170HIDDEN _sk_store_rgba_avx
18171.globl _sk_store_rgba_avx
18172FUNCTION(_sk_store_rgba_avx)
18173_sk_store_rgba_avx:
18174  .byte  72,173                              // lods          %ds:(%rsi),%rax
18175  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
18176  .byte  197,252,17,72,32                    // vmovups       %ymm1,0x20(%rax)
18177  .byte  197,252,17,80,64                    // vmovups       %ymm2,0x40(%rax)
18178  .byte  197,252,17,88,96                    // vmovups       %ymm3,0x60(%rax)
18179  .byte  72,173                              // lods          %ds:(%rsi),%rax
18180  .byte  255,224                             // jmpq          *%rax
18181
18182HIDDEN _sk_clear_avx
18183.globl _sk_clear_avx
18184FUNCTION(_sk_clear_avx)
18185_sk_clear_avx:
18186  .byte  72,173                              // lods          %ds:(%rsi),%rax
18187  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
18188  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
18189  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
18190  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
18191  .byte  255,224                             // jmpq          *%rax
18192
18193HIDDEN _sk_srcatop_avx
18194.globl _sk_srcatop_avx
18195FUNCTION(_sk_srcatop_avx)
18196_sk_srcatop_avx:
18197  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
18198  .byte  196,98,125,24,5,115,117,0,0         // vbroadcastss  0x7573(%rip),%ymm8        # 7918 <_sk_callback_avx+0x168>
18199  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18200  .byte  197,60,89,204                       // vmulps        %ymm4,%ymm8,%ymm9
18201  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
18202  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
18203  .byte  197,60,89,205                       // vmulps        %ymm5,%ymm8,%ymm9
18204  .byte  197,180,88,201                      // vaddps        %ymm1,%ymm9,%ymm1
18205  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
18206  .byte  197,60,89,206                       // vmulps        %ymm6,%ymm8,%ymm9
18207  .byte  197,180,88,210                      // vaddps        %ymm2,%ymm9,%ymm2
18208  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
18209  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
18210  .byte  196,193,100,88,216                  // vaddps        %ymm8,%ymm3,%ymm3
18211  .byte  72,173                              // lods          %ds:(%rsi),%rax
18212  .byte  255,224                             // jmpq          *%rax
18213
18214HIDDEN _sk_dstatop_avx
18215.globl _sk_dstatop_avx
18216FUNCTION(_sk_dstatop_avx)
18217_sk_dstatop_avx:
18218  .byte  197,100,89,196                      // vmulps        %ymm4,%ymm3,%ymm8
18219  .byte  196,98,125,24,13,53,117,0,0         // vbroadcastss  0x7535(%rip),%ymm9        # 791c <_sk_callback_avx+0x16c>
18220  .byte  197,52,92,207                       // vsubps        %ymm7,%ymm9,%ymm9
18221  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
18222  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
18223  .byte  197,100,89,197                      // vmulps        %ymm5,%ymm3,%ymm8
18224  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
18225  .byte  197,188,88,201                      // vaddps        %ymm1,%ymm8,%ymm1
18226  .byte  197,100,89,198                      // vmulps        %ymm6,%ymm3,%ymm8
18227  .byte  197,180,89,210                      // vmulps        %ymm2,%ymm9,%ymm2
18228  .byte  197,188,88,210                      // vaddps        %ymm2,%ymm8,%ymm2
18229  .byte  197,100,89,199                      // vmulps        %ymm7,%ymm3,%ymm8
18230  .byte  197,180,89,219                      // vmulps        %ymm3,%ymm9,%ymm3
18231  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
18232  .byte  72,173                              // lods          %ds:(%rsi),%rax
18233  .byte  255,224                             // jmpq          *%rax
18234
18235HIDDEN _sk_srcin_avx
18236.globl _sk_srcin_avx
18237FUNCTION(_sk_srcin_avx)
18238_sk_srcin_avx:
18239  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
18240  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
18241  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
18242  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
18243  .byte  72,173                              // lods          %ds:(%rsi),%rax
18244  .byte  255,224                             // jmpq          *%rax
18245
18246HIDDEN _sk_dstin_avx
18247.globl _sk_dstin_avx
18248FUNCTION(_sk_dstin_avx)
18249_sk_dstin_avx:
18250  .byte  197,228,89,196                      // vmulps        %ymm4,%ymm3,%ymm0
18251  .byte  197,228,89,205                      // vmulps        %ymm5,%ymm3,%ymm1
18252  .byte  197,228,89,214                      // vmulps        %ymm6,%ymm3,%ymm2
18253  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
18254  .byte  72,173                              // lods          %ds:(%rsi),%rax
18255  .byte  255,224                             // jmpq          *%rax
18256
18257HIDDEN _sk_srcout_avx
18258.globl _sk_srcout_avx
18259FUNCTION(_sk_srcout_avx)
18260_sk_srcout_avx:
18261  .byte  196,98,125,24,5,212,116,0,0         // vbroadcastss  0x74d4(%rip),%ymm8        # 7920 <_sk_callback_avx+0x170>
18262  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
18263  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
18264  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
18265  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
18266  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
18267  .byte  72,173                              // lods          %ds:(%rsi),%rax
18268  .byte  255,224                             // jmpq          *%rax
18269
18270HIDDEN _sk_dstout_avx
18271.globl _sk_dstout_avx
18272FUNCTION(_sk_dstout_avx)
18273_sk_dstout_avx:
18274  .byte  196,226,125,24,5,183,116,0,0        // vbroadcastss  0x74b7(%rip),%ymm0        # 7924 <_sk_callback_avx+0x174>
18275  .byte  197,252,92,219                      // vsubps        %ymm3,%ymm0,%ymm3
18276  .byte  197,228,89,196                      // vmulps        %ymm4,%ymm3,%ymm0
18277  .byte  197,228,89,205                      // vmulps        %ymm5,%ymm3,%ymm1
18278  .byte  197,228,89,214                      // vmulps        %ymm6,%ymm3,%ymm2
18279  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
18280  .byte  72,173                              // lods          %ds:(%rsi),%rax
18281  .byte  255,224                             // jmpq          *%rax
18282
18283HIDDEN _sk_srcover_avx
18284.globl _sk_srcover_avx
18285FUNCTION(_sk_srcover_avx)
18286_sk_srcover_avx:
18287  .byte  196,98,125,24,5,154,116,0,0         // vbroadcastss  0x749a(%rip),%ymm8        # 7928 <_sk_callback_avx+0x178>
18288  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18289  .byte  197,60,89,204                       // vmulps        %ymm4,%ymm8,%ymm9
18290  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
18291  .byte  197,60,89,205                       // vmulps        %ymm5,%ymm8,%ymm9
18292  .byte  197,180,88,201                      // vaddps        %ymm1,%ymm9,%ymm1
18293  .byte  197,60,89,206                       // vmulps        %ymm6,%ymm8,%ymm9
18294  .byte  197,180,88,210                      // vaddps        %ymm2,%ymm9,%ymm2
18295  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
18296  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
18297  .byte  72,173                              // lods          %ds:(%rsi),%rax
18298  .byte  255,224                             // jmpq          *%rax
18299
18300HIDDEN _sk_dstover_avx
18301.globl _sk_dstover_avx
18302FUNCTION(_sk_dstover_avx)
18303_sk_dstover_avx:
18304  .byte  196,98,125,24,5,109,116,0,0         // vbroadcastss  0x746d(%rip),%ymm8        # 792c <_sk_callback_avx+0x17c>
18305  .byte  197,60,92,199                       // vsubps        %ymm7,%ymm8,%ymm8
18306  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
18307  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
18308  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
18309  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
18310  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
18311  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
18312  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
18313  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
18314  .byte  72,173                              // lods          %ds:(%rsi),%rax
18315  .byte  255,224                             // jmpq          *%rax
18316
18317HIDDEN _sk_modulate_avx
18318.globl _sk_modulate_avx
18319FUNCTION(_sk_modulate_avx)
18320_sk_modulate_avx:
18321  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
18322  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
18323  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
18324  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
18325  .byte  72,173                              // lods          %ds:(%rsi),%rax
18326  .byte  255,224                             // jmpq          *%rax
18327
18328HIDDEN _sk_multiply_avx
18329.globl _sk_multiply_avx
18330FUNCTION(_sk_multiply_avx)
18331_sk_multiply_avx:
18332  .byte  196,98,125,24,5,44,116,0,0          // vbroadcastss  0x742c(%rip),%ymm8        # 7930 <_sk_callback_avx+0x180>
18333  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
18334  .byte  197,52,89,208                       // vmulps        %ymm0,%ymm9,%ymm10
18335  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18336  .byte  197,60,89,220                       // vmulps        %ymm4,%ymm8,%ymm11
18337  .byte  196,65,36,88,210                    // vaddps        %ymm10,%ymm11,%ymm10
18338  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
18339  .byte  196,193,124,88,194                  // vaddps        %ymm10,%ymm0,%ymm0
18340  .byte  197,52,89,209                       // vmulps        %ymm1,%ymm9,%ymm10
18341  .byte  197,60,89,221                       // vmulps        %ymm5,%ymm8,%ymm11
18342  .byte  196,65,36,88,210                    // vaddps        %ymm10,%ymm11,%ymm10
18343  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
18344  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
18345  .byte  197,52,89,210                       // vmulps        %ymm2,%ymm9,%ymm10
18346  .byte  197,60,89,222                       // vmulps        %ymm6,%ymm8,%ymm11
18347  .byte  196,65,36,88,210                    // vaddps        %ymm10,%ymm11,%ymm10
18348  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
18349  .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
18350  .byte  197,52,89,203                       // vmulps        %ymm3,%ymm9,%ymm9
18351  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
18352  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
18353  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
18354  .byte  196,193,100,88,216                  // vaddps        %ymm8,%ymm3,%ymm3
18355  .byte  72,173                              // lods          %ds:(%rsi),%rax
18356  .byte  255,224                             // jmpq          *%rax
18357
18358HIDDEN _sk_plus__avx
18359.globl _sk_plus__avx
18360FUNCTION(_sk_plus__avx)
18361_sk_plus__avx:
18362  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
18363  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
18364  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
18365  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
18366  .byte  72,173                              // lods          %ds:(%rsi),%rax
18367  .byte  255,224                             // jmpq          *%rax
18368
18369HIDDEN _sk_screen_avx
18370.globl _sk_screen_avx
18371FUNCTION(_sk_screen_avx)
18372_sk_screen_avx:
18373  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
18374  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
18375  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
18376  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
18377  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
18378  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
18379  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
18380  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
18381  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
18382  .byte  197,100,88,199                      // vaddps        %ymm7,%ymm3,%ymm8
18383  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
18384  .byte  197,188,92,219                      // vsubps        %ymm3,%ymm8,%ymm3
18385  .byte  72,173                              // lods          %ds:(%rsi),%rax
18386  .byte  255,224                             // jmpq          *%rax
18387
18388HIDDEN _sk_xor__avx
18389.globl _sk_xor__avx
18390FUNCTION(_sk_xor__avx)
18391_sk_xor__avx:
18392  .byte  196,98,125,24,5,123,115,0,0         // vbroadcastss  0x737b(%rip),%ymm8        # 7934 <_sk_callback_avx+0x184>
18393  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
18394  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
18395  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18396  .byte  197,60,89,212                       // vmulps        %ymm4,%ymm8,%ymm10
18397  .byte  197,172,88,192                      // vaddps        %ymm0,%ymm10,%ymm0
18398  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
18399  .byte  197,60,89,213                       // vmulps        %ymm5,%ymm8,%ymm10
18400  .byte  197,172,88,201                      // vaddps        %ymm1,%ymm10,%ymm1
18401  .byte  197,180,89,210                      // vmulps        %ymm2,%ymm9,%ymm2
18402  .byte  197,60,89,214                       // vmulps        %ymm6,%ymm8,%ymm10
18403  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
18404  .byte  197,180,89,219                      // vmulps        %ymm3,%ymm9,%ymm3
18405  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
18406  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
18407  .byte  72,173                              // lods          %ds:(%rsi),%rax
18408  .byte  255,224                             // jmpq          *%rax
18409
18410HIDDEN _sk_darken_avx
18411.globl _sk_darken_avx
18412FUNCTION(_sk_darken_avx)
18413_sk_darken_avx:
18414  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
18415  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
18416  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
18417  .byte  196,193,124,95,193                  // vmaxps        %ymm9,%ymm0,%ymm0
18418  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
18419  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
18420  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
18421  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
18422  .byte  196,193,116,95,201                  // vmaxps        %ymm9,%ymm1,%ymm1
18423  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
18424  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
18425  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
18426  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
18427  .byte  196,193,108,95,209                  // vmaxps        %ymm9,%ymm2,%ymm2
18428  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
18429  .byte  196,98,125,24,5,251,114,0,0         // vbroadcastss  0x72fb(%rip),%ymm8        # 7938 <_sk_callback_avx+0x188>
18430  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18431  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
18432  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
18433  .byte  72,173                              // lods          %ds:(%rsi),%rax
18434  .byte  255,224                             // jmpq          *%rax
18435
18436HIDDEN _sk_lighten_avx
18437.globl _sk_lighten_avx
18438FUNCTION(_sk_lighten_avx)
18439_sk_lighten_avx:
18440  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
18441  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
18442  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
18443  .byte  196,193,124,93,193                  // vminps        %ymm9,%ymm0,%ymm0
18444  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
18445  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
18446  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
18447  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
18448  .byte  196,193,116,93,201                  // vminps        %ymm9,%ymm1,%ymm1
18449  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
18450  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
18451  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
18452  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
18453  .byte  196,193,108,93,209                  // vminps        %ymm9,%ymm2,%ymm2
18454  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
18455  .byte  196,98,125,24,5,167,114,0,0         // vbroadcastss  0x72a7(%rip),%ymm8        # 793c <_sk_callback_avx+0x18c>
18456  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18457  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
18458  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
18459  .byte  72,173                              // lods          %ds:(%rsi),%rax
18460  .byte  255,224                             // jmpq          *%rax
18461
18462HIDDEN _sk_difference_avx
18463.globl _sk_difference_avx
18464FUNCTION(_sk_difference_avx)
18465_sk_difference_avx:
18466  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
18467  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
18468  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
18469  .byte  196,193,124,93,193                  // vminps        %ymm9,%ymm0,%ymm0
18470  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
18471  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
18472  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
18473  .byte  197,244,89,207                      // vmulps        %ymm7,%ymm1,%ymm1
18474  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
18475  .byte  196,193,116,93,201                  // vminps        %ymm9,%ymm1,%ymm1
18476  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
18477  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
18478  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
18479  .byte  197,236,89,215                      // vmulps        %ymm7,%ymm2,%ymm2
18480  .byte  197,100,89,206                      // vmulps        %ymm6,%ymm3,%ymm9
18481  .byte  196,193,108,93,209                  // vminps        %ymm9,%ymm2,%ymm2
18482  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
18483  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
18484  .byte  196,98,125,24,5,71,114,0,0          // vbroadcastss  0x7247(%rip),%ymm8        # 7940 <_sk_callback_avx+0x190>
18485  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18486  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
18487  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
18488  .byte  72,173                              // lods          %ds:(%rsi),%rax
18489  .byte  255,224                             // jmpq          *%rax
18490
18491HIDDEN _sk_exclusion_avx
18492.globl _sk_exclusion_avx
18493FUNCTION(_sk_exclusion_avx)
18494_sk_exclusion_avx:
18495  .byte  197,124,88,196                      // vaddps        %ymm4,%ymm0,%ymm8
18496  .byte  197,252,89,196                      // vmulps        %ymm4,%ymm0,%ymm0
18497  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
18498  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
18499  .byte  197,116,88,197                      // vaddps        %ymm5,%ymm1,%ymm8
18500  .byte  197,244,89,205                      // vmulps        %ymm5,%ymm1,%ymm1
18501  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
18502  .byte  197,188,92,201                      // vsubps        %ymm1,%ymm8,%ymm1
18503  .byte  197,108,88,198                      // vaddps        %ymm6,%ymm2,%ymm8
18504  .byte  197,236,89,214                      // vmulps        %ymm6,%ymm2,%ymm2
18505  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
18506  .byte  197,188,92,210                      // vsubps        %ymm2,%ymm8,%ymm2
18507  .byte  196,98,125,24,5,2,114,0,0           // vbroadcastss  0x7202(%rip),%ymm8        # 7944 <_sk_callback_avx+0x194>
18508  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18509  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
18510  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
18511  .byte  72,173                              // lods          %ds:(%rsi),%rax
18512  .byte  255,224                             // jmpq          *%rax
18513
18514HIDDEN _sk_colorburn_avx
18515.globl _sk_colorburn_avx
18516FUNCTION(_sk_colorburn_avx)
18517_sk_colorburn_avx:
18518  .byte  196,98,125,24,5,237,113,0,0         // vbroadcastss  0x71ed(%rip),%ymm8        # 7948 <_sk_callback_avx+0x198>
18519  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
18520  .byte  197,52,89,216                       // vmulps        %ymm0,%ymm9,%ymm11
18521  .byte  196,65,44,87,210                    // vxorps        %ymm10,%ymm10,%ymm10
18522  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18523  .byte  197,60,89,228                       // vmulps        %ymm4,%ymm8,%ymm12
18524  .byte  197,68,92,236                       // vsubps        %ymm4,%ymm7,%ymm13
18525  .byte  197,20,89,235                       // vmulps        %ymm3,%ymm13,%ymm13
18526  .byte  197,20,94,232                       // vdivps        %ymm0,%ymm13,%ymm13
18527  .byte  196,65,68,93,237                    // vminps        %ymm13,%ymm7,%ymm13
18528  .byte  196,65,68,92,237                    // vsubps        %ymm13,%ymm7,%ymm13
18529  .byte  197,20,89,235                       // vmulps        %ymm3,%ymm13,%ymm13
18530  .byte  196,65,36,88,237                    // vaddps        %ymm13,%ymm11,%ymm13
18531  .byte  196,65,28,88,237                    // vaddps        %ymm13,%ymm12,%ymm13
18532  .byte  197,28,88,224                       // vaddps        %ymm0,%ymm12,%ymm12
18533  .byte  196,193,124,194,194,0               // vcmpeqps      %ymm10,%ymm0,%ymm0
18534  .byte  196,195,21,74,196,0                 // vblendvps     %ymm0,%ymm12,%ymm13,%ymm0
18535  .byte  197,92,194,231,0                    // vcmpeqps      %ymm7,%ymm4,%ymm12
18536  .byte  197,36,88,220                       // vaddps        %ymm4,%ymm11,%ymm11
18537  .byte  196,195,125,74,195,192              // vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
18538  .byte  197,52,89,217                       // vmulps        %ymm1,%ymm9,%ymm11
18539  .byte  197,60,89,229                       // vmulps        %ymm5,%ymm8,%ymm12
18540  .byte  197,68,92,237                       // vsubps        %ymm5,%ymm7,%ymm13
18541  .byte  197,20,89,235                       // vmulps        %ymm3,%ymm13,%ymm13
18542  .byte  197,20,94,233                       // vdivps        %ymm1,%ymm13,%ymm13
18543  .byte  196,65,68,93,237                    // vminps        %ymm13,%ymm7,%ymm13
18544  .byte  196,65,68,92,237                    // vsubps        %ymm13,%ymm7,%ymm13
18545  .byte  197,20,89,235                       // vmulps        %ymm3,%ymm13,%ymm13
18546  .byte  196,65,36,88,237                    // vaddps        %ymm13,%ymm11,%ymm13
18547  .byte  196,65,28,88,237                    // vaddps        %ymm13,%ymm12,%ymm13
18548  .byte  197,28,88,225                       // vaddps        %ymm1,%ymm12,%ymm12
18549  .byte  196,193,116,194,202,0               // vcmpeqps      %ymm10,%ymm1,%ymm1
18550  .byte  196,195,21,74,204,16                // vblendvps     %ymm1,%ymm12,%ymm13,%ymm1
18551  .byte  197,84,194,231,0                    // vcmpeqps      %ymm7,%ymm5,%ymm12
18552  .byte  197,36,88,221                       // vaddps        %ymm5,%ymm11,%ymm11
18553  .byte  196,195,117,74,203,192              // vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
18554  .byte  197,52,89,202                       // vmulps        %ymm2,%ymm9,%ymm9
18555  .byte  196,65,108,194,210,0                // vcmpeqps      %ymm10,%ymm2,%ymm10
18556  .byte  197,60,89,222                       // vmulps        %ymm6,%ymm8,%ymm11
18557  .byte  197,68,92,230                       // vsubps        %ymm6,%ymm7,%ymm12
18558  .byte  197,28,89,227                       // vmulps        %ymm3,%ymm12,%ymm12
18559  .byte  197,28,94,226                       // vdivps        %ymm2,%ymm12,%ymm12
18560  .byte  197,164,88,210                      // vaddps        %ymm2,%ymm11,%ymm2
18561  .byte  196,65,68,93,228                    // vminps        %ymm12,%ymm7,%ymm12
18562  .byte  196,65,68,92,228                    // vsubps        %ymm12,%ymm7,%ymm12
18563  .byte  197,28,89,227                       // vmulps        %ymm3,%ymm12,%ymm12
18564  .byte  196,65,52,88,228                    // vaddps        %ymm12,%ymm9,%ymm12
18565  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
18566  .byte  196,227,37,74,210,160               // vblendvps     %ymm10,%ymm2,%ymm11,%ymm2
18567  .byte  197,76,194,215,0                    // vcmpeqps      %ymm7,%ymm6,%ymm10
18568  .byte  197,52,88,206                       // vaddps        %ymm6,%ymm9,%ymm9
18569  .byte  196,195,109,74,209,160              // vblendvps     %ymm10,%ymm9,%ymm2,%ymm2
18570  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
18571  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
18572  .byte  72,173                              // lods          %ds:(%rsi),%rax
18573  .byte  255,224                             // jmpq          *%rax
18574
18575HIDDEN _sk_colordodge_avx
18576.globl _sk_colordodge_avx
18577FUNCTION(_sk_colordodge_avx)
18578_sk_colordodge_avx:
18579  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
18580  .byte  196,98,125,24,13,233,112,0,0        // vbroadcastss  0x70e9(%rip),%ymm9        # 794c <_sk_callback_avx+0x19c>
18581  .byte  197,52,92,215                       // vsubps        %ymm7,%ymm9,%ymm10
18582  .byte  197,44,89,216                       // vmulps        %ymm0,%ymm10,%ymm11
18583  .byte  197,52,92,203                       // vsubps        %ymm3,%ymm9,%ymm9
18584  .byte  197,100,89,228                      // vmulps        %ymm4,%ymm3,%ymm12
18585  .byte  197,100,92,232                      // vsubps        %ymm0,%ymm3,%ymm13
18586  .byte  196,65,28,94,229                    // vdivps        %ymm13,%ymm12,%ymm12
18587  .byte  197,52,89,236                       // vmulps        %ymm4,%ymm9,%ymm13
18588  .byte  196,65,68,93,228                    // vminps        %ymm12,%ymm7,%ymm12
18589  .byte  197,28,89,227                       // vmulps        %ymm3,%ymm12,%ymm12
18590  .byte  196,65,36,88,228                    // vaddps        %ymm12,%ymm11,%ymm12
18591  .byte  196,65,20,88,228                    // vaddps        %ymm12,%ymm13,%ymm12
18592  .byte  197,20,88,232                       // vaddps        %ymm0,%ymm13,%ymm13
18593  .byte  197,252,194,195,0                   // vcmpeqps      %ymm3,%ymm0,%ymm0
18594  .byte  196,195,29,74,197,0                 // vblendvps     %ymm0,%ymm13,%ymm12,%ymm0
18595  .byte  196,65,92,194,224,0                 // vcmpeqps      %ymm8,%ymm4,%ymm12
18596  .byte  197,36,88,220                       // vaddps        %ymm4,%ymm11,%ymm11
18597  .byte  196,195,125,74,195,192              // vblendvps     %ymm12,%ymm11,%ymm0,%ymm0
18598  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
18599  .byte  197,100,89,229                      // vmulps        %ymm5,%ymm3,%ymm12
18600  .byte  197,100,92,233                      // vsubps        %ymm1,%ymm3,%ymm13
18601  .byte  196,65,28,94,229                    // vdivps        %ymm13,%ymm12,%ymm12
18602  .byte  197,52,89,237                       // vmulps        %ymm5,%ymm9,%ymm13
18603  .byte  196,65,68,93,228                    // vminps        %ymm12,%ymm7,%ymm12
18604  .byte  197,28,89,227                       // vmulps        %ymm3,%ymm12,%ymm12
18605  .byte  196,65,36,88,228                    // vaddps        %ymm12,%ymm11,%ymm12
18606  .byte  196,65,20,88,228                    // vaddps        %ymm12,%ymm13,%ymm12
18607  .byte  197,20,88,233                       // vaddps        %ymm1,%ymm13,%ymm13
18608  .byte  197,244,194,203,0                   // vcmpeqps      %ymm3,%ymm1,%ymm1
18609  .byte  196,195,29,74,205,16                // vblendvps     %ymm1,%ymm13,%ymm12,%ymm1
18610  .byte  196,65,84,194,224,0                 // vcmpeqps      %ymm8,%ymm5,%ymm12
18611  .byte  197,36,88,221                       // vaddps        %ymm5,%ymm11,%ymm11
18612  .byte  196,195,117,74,203,192              // vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
18613  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
18614  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
18615  .byte  197,100,92,226                      // vsubps        %ymm2,%ymm3,%ymm12
18616  .byte  196,65,36,94,220                    // vdivps        %ymm12,%ymm11,%ymm11
18617  .byte  197,52,89,230                       // vmulps        %ymm6,%ymm9,%ymm12
18618  .byte  196,65,68,93,219                    // vminps        %ymm11,%ymm7,%ymm11
18619  .byte  197,36,89,219                       // vmulps        %ymm3,%ymm11,%ymm11
18620  .byte  196,65,44,88,219                    // vaddps        %ymm11,%ymm10,%ymm11
18621  .byte  196,65,28,88,219                    // vaddps        %ymm11,%ymm12,%ymm11
18622  .byte  197,28,88,226                       // vaddps        %ymm2,%ymm12,%ymm12
18623  .byte  197,236,194,211,0                   // vcmpeqps      %ymm3,%ymm2,%ymm2
18624  .byte  196,195,37,74,212,32                // vblendvps     %ymm2,%ymm12,%ymm11,%ymm2
18625  .byte  196,65,76,194,192,0                 // vcmpeqps      %ymm8,%ymm6,%ymm8
18626  .byte  197,44,88,214                       // vaddps        %ymm6,%ymm10,%ymm10
18627  .byte  196,195,109,74,210,128              // vblendvps     %ymm8,%ymm10,%ymm2,%ymm2
18628  .byte  197,52,89,199                       // vmulps        %ymm7,%ymm9,%ymm8
18629  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
18630  .byte  72,173                              // lods          %ds:(%rsi),%rax
18631  .byte  255,224                             // jmpq          *%rax
18632
18633HIDDEN _sk_hardlight_avx
18634.globl _sk_hardlight_avx
18635FUNCTION(_sk_hardlight_avx)
18636_sk_hardlight_avx:
18637  .byte  196,98,125,24,5,251,111,0,0         // vbroadcastss  0x6ffb(%rip),%ymm8        # 7950 <_sk_callback_avx+0x1a0>
18638  .byte  197,60,92,215                       // vsubps        %ymm7,%ymm8,%ymm10
18639  .byte  197,44,89,200                       // vmulps        %ymm0,%ymm10,%ymm9
18640  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18641  .byte  197,60,89,220                       // vmulps        %ymm4,%ymm8,%ymm11
18642  .byte  196,65,36,88,217                    // vaddps        %ymm9,%ymm11,%ymm11
18643  .byte  197,124,88,200                      // vaddps        %ymm0,%ymm0,%ymm9
18644  .byte  197,52,194,227,2                    // vcmpleps      %ymm3,%ymm9,%ymm12
18645  .byte  197,124,89,204                      // vmulps        %ymm4,%ymm0,%ymm9
18646  .byte  196,65,52,88,233                    // vaddps        %ymm9,%ymm9,%ymm13
18647  .byte  197,100,89,207                      // vmulps        %ymm7,%ymm3,%ymm9
18648  .byte  197,68,92,244                       // vsubps        %ymm4,%ymm7,%ymm14
18649  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
18650  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
18651  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
18652  .byte  197,180,92,192                      // vsubps        %ymm0,%ymm9,%ymm0
18653  .byte  196,195,125,74,197,192              // vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
18654  .byte  197,164,88,192                      // vaddps        %ymm0,%ymm11,%ymm0
18655  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
18656  .byte  197,60,89,229                       // vmulps        %ymm5,%ymm8,%ymm12
18657  .byte  196,65,28,88,219                    // vaddps        %ymm11,%ymm12,%ymm11
18658  .byte  197,116,88,225                      // vaddps        %ymm1,%ymm1,%ymm12
18659  .byte  197,28,194,227,2                    // vcmpleps      %ymm3,%ymm12,%ymm12
18660  .byte  197,116,89,237                      // vmulps        %ymm5,%ymm1,%ymm13
18661  .byte  196,65,20,88,237                    // vaddps        %ymm13,%ymm13,%ymm13
18662  .byte  197,68,92,245                       // vsubps        %ymm5,%ymm7,%ymm14
18663  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
18664  .byte  196,193,116,89,206                  // vmulps        %ymm14,%ymm1,%ymm1
18665  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
18666  .byte  197,180,92,201                      // vsubps        %ymm1,%ymm9,%ymm1
18667  .byte  196,195,117,74,205,192              // vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
18668  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
18669  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
18670  .byte  197,60,89,222                       // vmulps        %ymm6,%ymm8,%ymm11
18671  .byte  196,65,36,88,210                    // vaddps        %ymm10,%ymm11,%ymm10
18672  .byte  197,108,88,218                      // vaddps        %ymm2,%ymm2,%ymm11
18673  .byte  197,36,194,219,2                    // vcmpleps      %ymm3,%ymm11,%ymm11
18674  .byte  197,108,89,230                      // vmulps        %ymm6,%ymm2,%ymm12
18675  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
18676  .byte  197,68,92,238                       // vsubps        %ymm6,%ymm7,%ymm13
18677  .byte  197,228,92,210                      // vsubps        %ymm2,%ymm3,%ymm2
18678  .byte  196,193,108,89,213                  // vmulps        %ymm13,%ymm2,%ymm2
18679  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
18680  .byte  197,180,92,210                      // vsubps        %ymm2,%ymm9,%ymm2
18681  .byte  196,195,109,74,212,176              // vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
18682  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
18683  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
18684  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
18685  .byte  72,173                              // lods          %ds:(%rsi),%rax
18686  .byte  255,224                             // jmpq          *%rax
18687
18688HIDDEN _sk_overlay_avx
18689.globl _sk_overlay_avx
18690FUNCTION(_sk_overlay_avx)
18691_sk_overlay_avx:
18692  .byte  196,98,125,24,5,36,111,0,0          // vbroadcastss  0x6f24(%rip),%ymm8        # 7954 <_sk_callback_avx+0x1a4>
18693  .byte  197,60,92,215                       // vsubps        %ymm7,%ymm8,%ymm10
18694  .byte  197,44,89,200                       // vmulps        %ymm0,%ymm10,%ymm9
18695  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18696  .byte  197,60,89,220                       // vmulps        %ymm4,%ymm8,%ymm11
18697  .byte  196,65,36,88,217                    // vaddps        %ymm9,%ymm11,%ymm11
18698  .byte  197,92,88,204                       // vaddps        %ymm4,%ymm4,%ymm9
18699  .byte  197,52,194,231,2                    // vcmpleps      %ymm7,%ymm9,%ymm12
18700  .byte  197,124,89,204                      // vmulps        %ymm4,%ymm0,%ymm9
18701  .byte  196,65,52,88,233                    // vaddps        %ymm9,%ymm9,%ymm13
18702  .byte  197,100,89,207                      // vmulps        %ymm7,%ymm3,%ymm9
18703  .byte  197,68,92,244                       // vsubps        %ymm4,%ymm7,%ymm14
18704  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
18705  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
18706  .byte  197,252,88,192                      // vaddps        %ymm0,%ymm0,%ymm0
18707  .byte  197,180,92,192                      // vsubps        %ymm0,%ymm9,%ymm0
18708  .byte  196,195,125,74,197,192              // vblendvps     %ymm12,%ymm13,%ymm0,%ymm0
18709  .byte  197,164,88,192                      // vaddps        %ymm0,%ymm11,%ymm0
18710  .byte  197,44,89,217                       // vmulps        %ymm1,%ymm10,%ymm11
18711  .byte  197,60,89,229                       // vmulps        %ymm5,%ymm8,%ymm12
18712  .byte  196,65,28,88,219                    // vaddps        %ymm11,%ymm12,%ymm11
18713  .byte  197,84,88,229                       // vaddps        %ymm5,%ymm5,%ymm12
18714  .byte  197,28,194,231,2                    // vcmpleps      %ymm7,%ymm12,%ymm12
18715  .byte  197,116,89,237                      // vmulps        %ymm5,%ymm1,%ymm13
18716  .byte  196,65,20,88,237                    // vaddps        %ymm13,%ymm13,%ymm13
18717  .byte  197,68,92,245                       // vsubps        %ymm5,%ymm7,%ymm14
18718  .byte  197,228,92,201                      // vsubps        %ymm1,%ymm3,%ymm1
18719  .byte  196,193,116,89,206                  // vmulps        %ymm14,%ymm1,%ymm1
18720  .byte  197,244,88,201                      // vaddps        %ymm1,%ymm1,%ymm1
18721  .byte  197,180,92,201                      // vsubps        %ymm1,%ymm9,%ymm1
18722  .byte  196,195,117,74,205,192              // vblendvps     %ymm12,%ymm13,%ymm1,%ymm1
18723  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
18724  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
18725  .byte  197,60,89,222                       // vmulps        %ymm6,%ymm8,%ymm11
18726  .byte  196,65,36,88,210                    // vaddps        %ymm10,%ymm11,%ymm10
18727  .byte  197,76,88,222                       // vaddps        %ymm6,%ymm6,%ymm11
18728  .byte  197,36,194,223,2                    // vcmpleps      %ymm7,%ymm11,%ymm11
18729  .byte  197,108,89,230                      // vmulps        %ymm6,%ymm2,%ymm12
18730  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
18731  .byte  197,68,92,238                       // vsubps        %ymm6,%ymm7,%ymm13
18732  .byte  197,228,92,210                      // vsubps        %ymm2,%ymm3,%ymm2
18733  .byte  196,193,108,89,213                  // vmulps        %ymm13,%ymm2,%ymm2
18734  .byte  197,236,88,210                      // vaddps        %ymm2,%ymm2,%ymm2
18735  .byte  197,180,92,210                      // vsubps        %ymm2,%ymm9,%ymm2
18736  .byte  196,195,109,74,212,176              // vblendvps     %ymm11,%ymm12,%ymm2,%ymm2
18737  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
18738  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
18739  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
18740  .byte  72,173                              // lods          %ds:(%rsi),%rax
18741  .byte  255,224                             // jmpq          *%rax
18742
18743HIDDEN _sk_softlight_avx
18744.globl _sk_softlight_avx
18745FUNCTION(_sk_softlight_avx)
18746_sk_softlight_avx:
18747  .byte  197,252,17,84,36,200                // vmovups       %ymm2,-0x38(%rsp)
18748  .byte  197,252,40,209                      // vmovaps       %ymm1,%ymm2
18749  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
18750  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
18751  .byte  197,52,194,215,1                    // vcmpltps      %ymm7,%ymm9,%ymm10
18752  .byte  197,92,94,199                       // vdivps        %ymm7,%ymm4,%ymm8
18753  .byte  196,67,53,74,224,160                // vblendvps     %ymm10,%ymm8,%ymm9,%ymm12
18754  .byte  196,65,28,88,196                    // vaddps        %ymm12,%ymm12,%ymm8
18755  .byte  196,65,60,88,192                    // vaddps        %ymm8,%ymm8,%ymm8
18756  .byte  196,65,60,89,216                    // vmulps        %ymm8,%ymm8,%ymm11
18757  .byte  196,65,60,88,195                    // vaddps        %ymm11,%ymm8,%ymm8
18758  .byte  196,98,125,24,29,27,110,0,0         // vbroadcastss  0x6e1b(%rip),%ymm11        # 795c <_sk_callback_avx+0x1ac>
18759  .byte  196,65,28,88,235                    // vaddps        %ymm11,%ymm12,%ymm13
18760  .byte  196,65,20,89,192                    // vmulps        %ymm8,%ymm13,%ymm8
18761  .byte  196,98,125,24,45,12,110,0,0         // vbroadcastss  0x6e0c(%rip),%ymm13        # 7960 <_sk_callback_avx+0x1b0>
18762  .byte  196,65,28,89,245                    // vmulps        %ymm13,%ymm12,%ymm14
18763  .byte  196,65,12,88,192                    // vaddps        %ymm8,%ymm14,%ymm8
18764  .byte  196,65,124,82,244                   // vrsqrtps      %ymm12,%ymm14
18765  .byte  196,65,124,83,246                   // vrcpps        %ymm14,%ymm14
18766  .byte  196,65,12,92,244                    // vsubps        %ymm12,%ymm14,%ymm14
18767  .byte  197,92,88,252                       // vaddps        %ymm4,%ymm4,%ymm15
18768  .byte  196,65,4,88,255                     // vaddps        %ymm15,%ymm15,%ymm15
18769  .byte  197,4,194,255,2                     // vcmpleps      %ymm7,%ymm15,%ymm15
18770  .byte  196,67,13,74,240,240                // vblendvps     %ymm15,%ymm8,%ymm14,%ymm14
18771  .byte  197,116,88,249                      // vaddps        %ymm1,%ymm1,%ymm15
18772  .byte  196,98,125,24,5,202,109,0,0         // vbroadcastss  0x6dca(%rip),%ymm8        # 7958 <_sk_callback_avx+0x1a8>
18773  .byte  196,65,60,92,228                    // vsubps        %ymm12,%ymm8,%ymm12
18774  .byte  197,132,92,195                      // vsubps        %ymm3,%ymm15,%ymm0
18775  .byte  196,65,124,89,228                   // vmulps        %ymm12,%ymm0,%ymm12
18776  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
18777  .byte  196,193,124,89,198                  // vmulps        %ymm14,%ymm0,%ymm0
18778  .byte  197,100,89,244                      // vmulps        %ymm4,%ymm3,%ymm14
18779  .byte  197,140,88,192                      // vaddps        %ymm0,%ymm14,%ymm0
18780  .byte  197,28,88,227                       // vaddps        %ymm3,%ymm12,%ymm12
18781  .byte  197,28,89,228                       // vmulps        %ymm4,%ymm12,%ymm12
18782  .byte  197,4,194,243,2                     // vcmpleps      %ymm3,%ymm15,%ymm14
18783  .byte  196,195,125,74,196,224              // vblendvps     %ymm14,%ymm12,%ymm0,%ymm0
18784  .byte  197,252,17,68,36,168                // vmovups       %ymm0,-0x58(%rsp)
18785  .byte  197,212,94,199                      // vdivps        %ymm7,%ymm5,%ymm0
18786  .byte  196,227,53,74,192,160               // vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
18787  .byte  197,124,88,240                      // vaddps        %ymm0,%ymm0,%ymm14
18788  .byte  196,65,12,88,246                    // vaddps        %ymm14,%ymm14,%ymm14
18789  .byte  196,65,12,89,254                    // vmulps        %ymm14,%ymm14,%ymm15
18790  .byte  196,65,12,88,247                    // vaddps        %ymm15,%ymm14,%ymm14
18791  .byte  196,65,124,88,251                   // vaddps        %ymm11,%ymm0,%ymm15
18792  .byte  196,65,4,89,246                     // vmulps        %ymm14,%ymm15,%ymm14
18793  .byte  196,65,124,89,253                   // vmulps        %ymm13,%ymm0,%ymm15
18794  .byte  196,65,4,88,246                     // vaddps        %ymm14,%ymm15,%ymm14
18795  .byte  197,124,82,248                      // vrsqrtps      %ymm0,%ymm15
18796  .byte  196,65,124,83,255                   // vrcpps        %ymm15,%ymm15
18797  .byte  197,4,92,248                        // vsubps        %ymm0,%ymm15,%ymm15
18798  .byte  197,84,88,229                       // vaddps        %ymm5,%ymm5,%ymm12
18799  .byte  196,65,28,88,228                    // vaddps        %ymm12,%ymm12,%ymm12
18800  .byte  197,28,194,231,2                    // vcmpleps      %ymm7,%ymm12,%ymm12
18801  .byte  196,67,5,74,230,192                 // vblendvps     %ymm12,%ymm14,%ymm15,%ymm12
18802  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
18803  .byte  197,108,88,242                      // vaddps        %ymm2,%ymm2,%ymm14
18804  .byte  197,12,92,251                       // vsubps        %ymm3,%ymm14,%ymm15
18805  .byte  197,132,89,192                      // vmulps        %ymm0,%ymm15,%ymm0
18806  .byte  197,4,89,255                        // vmulps        %ymm7,%ymm15,%ymm15
18807  .byte  196,65,4,89,228                     // vmulps        %ymm12,%ymm15,%ymm12
18808  .byte  197,100,89,253                      // vmulps        %ymm5,%ymm3,%ymm15
18809  .byte  196,65,4,88,228                     // vaddps        %ymm12,%ymm15,%ymm12
18810  .byte  197,252,88,195                      // vaddps        %ymm3,%ymm0,%ymm0
18811  .byte  197,252,89,197                      // vmulps        %ymm5,%ymm0,%ymm0
18812  .byte  197,12,194,243,2                    // vcmpleps      %ymm3,%ymm14,%ymm14
18813  .byte  196,99,29,74,240,224                // vblendvps     %ymm14,%ymm0,%ymm12,%ymm14
18814  .byte  197,204,94,199                      // vdivps        %ymm7,%ymm6,%ymm0
18815  .byte  196,227,53,74,192,160               // vblendvps     %ymm10,%ymm0,%ymm9,%ymm0
18816  .byte  197,124,88,200                      // vaddps        %ymm0,%ymm0,%ymm9
18817  .byte  196,65,52,88,201                    // vaddps        %ymm9,%ymm9,%ymm9
18818  .byte  196,65,52,89,209                    // vmulps        %ymm9,%ymm9,%ymm10
18819  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
18820  .byte  196,65,124,88,211                   // vaddps        %ymm11,%ymm0,%ymm10
18821  .byte  196,65,44,89,201                    // vmulps        %ymm9,%ymm10,%ymm9
18822  .byte  196,65,124,89,213                   // vmulps        %ymm13,%ymm0,%ymm10
18823  .byte  196,65,44,88,201                    // vaddps        %ymm9,%ymm10,%ymm9
18824  .byte  197,124,82,208                      // vrsqrtps      %ymm0,%ymm10
18825  .byte  196,65,124,83,210                   // vrcpps        %ymm10,%ymm10
18826  .byte  197,44,92,208                       // vsubps        %ymm0,%ymm10,%ymm10
18827  .byte  197,76,88,222                       // vaddps        %ymm6,%ymm6,%ymm11
18828  .byte  196,65,36,88,219                    // vaddps        %ymm11,%ymm11,%ymm11
18829  .byte  197,36,194,223,2                    // vcmpleps      %ymm7,%ymm11,%ymm11
18830  .byte  196,67,45,74,201,176                // vblendvps     %ymm11,%ymm9,%ymm10,%ymm9
18831  .byte  197,124,16,100,36,200               // vmovups       -0x38(%rsp),%ymm12
18832  .byte  196,65,28,88,212                    // vaddps        %ymm12,%ymm12,%ymm10
18833  .byte  197,44,92,219                       // vsubps        %ymm3,%ymm10,%ymm11
18834  .byte  197,188,92,192                      // vsubps        %ymm0,%ymm8,%ymm0
18835  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
18836  .byte  197,36,89,223                       // vmulps        %ymm7,%ymm11,%ymm11
18837  .byte  196,65,36,89,201                    // vmulps        %ymm9,%ymm11,%ymm9
18838  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
18839  .byte  196,65,36,88,201                    // vaddps        %ymm9,%ymm11,%ymm9
18840  .byte  197,252,88,195                      // vaddps        %ymm3,%ymm0,%ymm0
18841  .byte  197,252,89,198                      // vmulps        %ymm6,%ymm0,%ymm0
18842  .byte  197,44,194,211,2                    // vcmpleps      %ymm3,%ymm10,%ymm10
18843  .byte  196,99,53,74,200,160                // vblendvps     %ymm10,%ymm0,%ymm9,%ymm9
18844  .byte  197,60,92,215                       // vsubps        %ymm7,%ymm8,%ymm10
18845  .byte  197,172,89,193                      // vmulps        %ymm1,%ymm10,%ymm0
18846  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18847  .byte  197,188,89,204                      // vmulps        %ymm4,%ymm8,%ymm1
18848  .byte  197,244,88,192                      // vaddps        %ymm0,%ymm1,%ymm0
18849  .byte  197,252,88,68,36,168                // vaddps        -0x58(%rsp),%ymm0,%ymm0
18850  .byte  197,172,89,202                      // vmulps        %ymm2,%ymm10,%ymm1
18851  .byte  197,188,89,213                      // vmulps        %ymm5,%ymm8,%ymm2
18852  .byte  197,236,88,201                      // vaddps        %ymm1,%ymm2,%ymm1
18853  .byte  196,193,116,88,206                  // vaddps        %ymm14,%ymm1,%ymm1
18854  .byte  196,193,44,89,212                   // vmulps        %ymm12,%ymm10,%ymm2
18855  .byte  197,60,89,214                       // vmulps        %ymm6,%ymm8,%ymm10
18856  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
18857  .byte  196,193,108,88,209                  // vaddps        %ymm9,%ymm2,%ymm2
18858  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
18859  .byte  197,188,88,219                      // vaddps        %ymm3,%ymm8,%ymm3
18860  .byte  72,173                              // lods          %ds:(%rsi),%rax
18861  .byte  255,224                             // jmpq          *%rax
18862
18863HIDDEN _sk_hue_avx
18864.globl _sk_hue_avx
18865FUNCTION(_sk_hue_avx)
18866_sk_hue_avx:
18867  .byte  197,252,17,84,36,200                // vmovups       %ymm2,-0x38(%rsp)
18868  .byte  197,124,40,193                      // vmovaps       %ymm1,%ymm8
18869  .byte  197,124,17,68,36,168                // vmovups       %ymm8,-0x58(%rsp)
18870  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
18871  .byte  197,116,89,203                      // vmulps        %ymm3,%ymm1,%ymm9
18872  .byte  197,60,89,211                       // vmulps        %ymm3,%ymm8,%ymm10
18873  .byte  197,108,89,219                      // vmulps        %ymm3,%ymm2,%ymm11
18874  .byte  197,84,95,198                       // vmaxps        %ymm6,%ymm5,%ymm8
18875  .byte  196,65,92,95,192                    // vmaxps        %ymm8,%ymm4,%ymm8
18876  .byte  197,84,93,230                       // vminps        %ymm6,%ymm5,%ymm12
18877  .byte  196,65,92,93,228                    // vminps        %ymm12,%ymm4,%ymm12
18878  .byte  196,65,60,92,196                    // vsubps        %ymm12,%ymm8,%ymm8
18879  .byte  197,60,89,227                       // vmulps        %ymm3,%ymm8,%ymm12
18880  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
18881  .byte  196,65,52,93,232                    // vminps        %ymm8,%ymm9,%ymm13
18882  .byte  196,65,44,95,195                    // vmaxps        %ymm11,%ymm10,%ymm8
18883  .byte  196,65,52,95,192                    // vmaxps        %ymm8,%ymm9,%ymm8
18884  .byte  196,65,60,92,245                    // vsubps        %ymm13,%ymm8,%ymm14
18885  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
18886  .byte  196,65,12,194,248,0                 // vcmpeqps      %ymm8,%ymm14,%ymm15
18887  .byte  196,65,52,92,205                    // vsubps        %ymm13,%ymm9,%ymm9
18888  .byte  196,65,28,89,201                    // vmulps        %ymm9,%ymm12,%ymm9
18889  .byte  196,65,52,94,206                    // vdivps        %ymm14,%ymm9,%ymm9
18890  .byte  196,67,53,74,200,240                // vblendvps     %ymm15,%ymm8,%ymm9,%ymm9
18891  .byte  196,65,44,92,213                    // vsubps        %ymm13,%ymm10,%ymm10
18892  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
18893  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
18894  .byte  196,67,45,74,208,240                // vblendvps     %ymm15,%ymm8,%ymm10,%ymm10
18895  .byte  196,65,36,92,221                    // vsubps        %ymm13,%ymm11,%ymm11
18896  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
18897  .byte  196,65,36,94,222                    // vdivps        %ymm14,%ymm11,%ymm11
18898  .byte  196,67,37,74,224,240                // vblendvps     %ymm15,%ymm8,%ymm11,%ymm12
18899  .byte  196,98,125,24,53,153,107,0,0        // vbroadcastss  0x6b99(%rip),%ymm14        # 7964 <_sk_callback_avx+0x1b4>
18900  .byte  196,65,92,89,222                    // vmulps        %ymm14,%ymm4,%ymm11
18901  .byte  196,98,125,24,61,143,107,0,0        // vbroadcastss  0x6b8f(%rip),%ymm15        # 7968 <_sk_callback_avx+0x1b8>
18902  .byte  196,65,84,89,239                    // vmulps        %ymm15,%ymm5,%ymm13
18903  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
18904  .byte  196,226,125,24,5,128,107,0,0        // vbroadcastss  0x6b80(%rip),%ymm0        # 796c <_sk_callback_avx+0x1bc>
18905  .byte  197,76,89,232                       // vmulps        %ymm0,%ymm6,%ymm13
18906  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
18907  .byte  196,65,52,89,238                    // vmulps        %ymm14,%ymm9,%ymm13
18908  .byte  196,193,44,89,215                   // vmulps        %ymm15,%ymm10,%ymm2
18909  .byte  197,148,88,210                      // vaddps        %ymm2,%ymm13,%ymm2
18910  .byte  197,28,89,232                       // vmulps        %ymm0,%ymm12,%ymm13
18911  .byte  196,193,108,88,213                  // vaddps        %ymm13,%ymm2,%ymm2
18912  .byte  197,36,89,219                       // vmulps        %ymm3,%ymm11,%ymm11
18913  .byte  197,164,92,210                      // vsubps        %ymm2,%ymm11,%ymm2
18914  .byte  197,52,88,202                       // vaddps        %ymm2,%ymm9,%ymm9
18915  .byte  197,44,88,218                       // vaddps        %ymm2,%ymm10,%ymm11
18916  .byte  197,28,88,226                       // vaddps        %ymm2,%ymm12,%ymm12
18917  .byte  196,193,36,93,212                   // vminps        %ymm12,%ymm11,%ymm2
18918  .byte  197,52,93,234                       // vminps        %ymm2,%ymm9,%ymm13
18919  .byte  196,193,52,89,214                   // vmulps        %ymm14,%ymm9,%ymm2
18920  .byte  196,65,36,89,215                    // vmulps        %ymm15,%ymm11,%ymm10
18921  .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
18922  .byte  197,156,89,192                      // vmulps        %ymm0,%ymm12,%ymm0
18923  .byte  197,124,88,210                      // vaddps        %ymm2,%ymm0,%ymm10
18924  .byte  196,193,52,92,194                   // vsubps        %ymm10,%ymm9,%ymm0
18925  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
18926  .byte  196,193,44,92,213                   // vsubps        %ymm13,%ymm10,%ymm2
18927  .byte  197,252,94,194                      // vdivps        %ymm2,%ymm0,%ymm0
18928  .byte  196,65,36,92,242                    // vsubps        %ymm10,%ymm11,%ymm14
18929  .byte  196,65,44,89,246                    // vmulps        %ymm14,%ymm10,%ymm14
18930  .byte  197,12,94,242                       // vdivps        %ymm2,%ymm14,%ymm14
18931  .byte  196,65,28,92,250                    // vsubps        %ymm10,%ymm12,%ymm15
18932  .byte  196,65,44,89,255                    // vmulps        %ymm15,%ymm10,%ymm15
18933  .byte  197,132,94,210                      // vdivps        %ymm2,%ymm15,%ymm2
18934  .byte  196,65,60,194,237,2                 // vcmpleps      %ymm13,%ymm8,%ymm13
18935  .byte  196,65,44,88,246                    // vaddps        %ymm14,%ymm10,%ymm14
18936  .byte  196,67,13,74,243,208                // vblendvps     %ymm13,%ymm11,%ymm14,%ymm14
18937  .byte  196,65,36,95,220                    // vmaxps        %ymm12,%ymm11,%ymm11
18938  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
18939  .byte  196,195,109,74,212,208              // vblendvps     %ymm13,%ymm12,%ymm2,%ymm2
18940  .byte  197,172,88,192                      // vaddps        %ymm0,%ymm10,%ymm0
18941  .byte  196,195,125,74,193,208              // vblendvps     %ymm13,%ymm9,%ymm0,%ymm0
18942  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
18943  .byte  196,65,52,95,203                    // vmaxps        %ymm11,%ymm9,%ymm9
18944  .byte  196,65,124,92,218                   // vsubps        %ymm10,%ymm0,%ymm11
18945  .byte  196,65,28,92,234                    // vsubps        %ymm10,%ymm12,%ymm13
18946  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
18947  .byte  196,65,28,194,249,1                 // vcmpltps      %ymm9,%ymm12,%ymm15
18948  .byte  196,65,52,92,202                    // vsubps        %ymm10,%ymm9,%ymm9
18949  .byte  196,65,36,94,217                    // vdivps        %ymm9,%ymm11,%ymm11
18950  .byte  196,65,44,88,219                    // vaddps        %ymm11,%ymm10,%ymm11
18951  .byte  196,195,125,74,195,240              // vblendvps     %ymm15,%ymm11,%ymm0,%ymm0
18952  .byte  196,65,12,92,218                    // vsubps        %ymm10,%ymm14,%ymm11
18953  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
18954  .byte  196,65,36,94,217                    // vdivps        %ymm9,%ymm11,%ymm11
18955  .byte  196,65,44,88,219                    // vaddps        %ymm11,%ymm10,%ymm11
18956  .byte  196,67,13,74,219,240                // vblendvps     %ymm15,%ymm11,%ymm14,%ymm11
18957  .byte  196,65,108,92,242                   // vsubps        %ymm10,%ymm2,%ymm14
18958  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
18959  .byte  196,65,20,94,201                    // vdivps        %ymm9,%ymm13,%ymm9
18960  .byte  196,65,44,88,201                    // vaddps        %ymm9,%ymm10,%ymm9
18961  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
18962  .byte  196,65,36,95,208                    // vmaxps        %ymm8,%ymm11,%ymm10
18963  .byte  196,195,109,74,209,240              // vblendvps     %ymm15,%ymm9,%ymm2,%ymm2
18964  .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
18965  .byte  196,98,125,24,5,89,106,0,0          // vbroadcastss  0x6a59(%rip),%ymm8        # 7970 <_sk_callback_avx+0x1c0>
18966  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
18967  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
18968  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
18969  .byte  197,60,89,220                       // vmulps        %ymm4,%ymm8,%ymm11
18970  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
18971  .byte  197,244,88,192                      // vaddps        %ymm0,%ymm1,%ymm0
18972  .byte  197,180,89,76,36,168                // vmulps        -0x58(%rsp),%ymm9,%ymm1
18973  .byte  197,60,89,221                       // vmulps        %ymm5,%ymm8,%ymm11
18974  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
18975  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
18976  .byte  197,52,89,76,36,200                 // vmulps        -0x38(%rsp),%ymm9,%ymm9
18977  .byte  197,60,89,198                       // vmulps        %ymm6,%ymm8,%ymm8
18978  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
18979  .byte  197,188,88,210                      // vaddps        %ymm2,%ymm8,%ymm2
18980  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
18981  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
18982  .byte  72,173                              // lods          %ds:(%rsi),%rax
18983  .byte  255,224                             // jmpq          *%rax
18984
18985HIDDEN _sk_saturation_avx
18986.globl _sk_saturation_avx
18987FUNCTION(_sk_saturation_avx)
18988_sk_saturation_avx:
18989  .byte  197,124,40,193                      // vmovaps       %ymm1,%ymm8
18990  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
18991  .byte  197,100,89,204                      // vmulps        %ymm4,%ymm3,%ymm9
18992  .byte  197,100,89,213                      // vmulps        %ymm5,%ymm3,%ymm10
18993  .byte  197,100,89,222                      // vmulps        %ymm6,%ymm3,%ymm11
18994  .byte  197,252,17,84,36,200                // vmovups       %ymm2,-0x38(%rsp)
18995  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
18996  .byte  197,252,17,68,36,168                // vmovups       %ymm0,-0x58(%rsp)
18997  .byte  197,124,95,194                      // vmaxps        %ymm2,%ymm0,%ymm8
18998  .byte  196,65,116,95,192                   // vmaxps        %ymm8,%ymm1,%ymm8
18999  .byte  197,124,93,226                      // vminps        %ymm2,%ymm0,%ymm12
19000  .byte  196,65,116,93,228                   // vminps        %ymm12,%ymm1,%ymm12
19001  .byte  196,65,60,92,196                    // vsubps        %ymm12,%ymm8,%ymm8
19002  .byte  197,60,89,231                       // vmulps        %ymm7,%ymm8,%ymm12
19003  .byte  196,65,44,93,195                    // vminps        %ymm11,%ymm10,%ymm8
19004  .byte  196,65,52,93,232                    // vminps        %ymm8,%ymm9,%ymm13
19005  .byte  196,65,44,95,195                    // vmaxps        %ymm11,%ymm10,%ymm8
19006  .byte  196,65,52,95,192                    // vmaxps        %ymm8,%ymm9,%ymm8
19007  .byte  196,65,60,92,245                    // vsubps        %ymm13,%ymm8,%ymm14
19008  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
19009  .byte  196,65,12,194,248,0                 // vcmpeqps      %ymm8,%ymm14,%ymm15
19010  .byte  196,65,52,92,205                    // vsubps        %ymm13,%ymm9,%ymm9
19011  .byte  196,65,28,89,201                    // vmulps        %ymm9,%ymm12,%ymm9
19012  .byte  196,65,52,94,206                    // vdivps        %ymm14,%ymm9,%ymm9
19013  .byte  196,67,53,74,200,240                // vblendvps     %ymm15,%ymm8,%ymm9,%ymm9
19014  .byte  196,65,44,92,213                    // vsubps        %ymm13,%ymm10,%ymm10
19015  .byte  196,65,28,89,210                    // vmulps        %ymm10,%ymm12,%ymm10
19016  .byte  196,65,44,94,214                    // vdivps        %ymm14,%ymm10,%ymm10
19017  .byte  196,67,45,74,208,240                // vblendvps     %ymm15,%ymm8,%ymm10,%ymm10
19018  .byte  196,65,36,92,221                    // vsubps        %ymm13,%ymm11,%ymm11
19019  .byte  196,65,28,89,219                    // vmulps        %ymm11,%ymm12,%ymm11
19020  .byte  196,65,36,94,222                    // vdivps        %ymm14,%ymm11,%ymm11
19021  .byte  196,67,37,74,224,240                // vblendvps     %ymm15,%ymm8,%ymm11,%ymm12
19022  .byte  196,98,125,24,53,103,105,0,0        // vbroadcastss  0x6967(%rip),%ymm14        # 7974 <_sk_callback_avx+0x1c4>
19023  .byte  196,65,92,89,222                    // vmulps        %ymm14,%ymm4,%ymm11
19024  .byte  196,98,125,24,61,93,105,0,0         // vbroadcastss  0x695d(%rip),%ymm15        # 7978 <_sk_callback_avx+0x1c8>
19025  .byte  196,65,84,89,239                    // vmulps        %ymm15,%ymm5,%ymm13
19026  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
19027  .byte  196,226,125,24,5,78,105,0,0         // vbroadcastss  0x694e(%rip),%ymm0        # 797c <_sk_callback_avx+0x1cc>
19028  .byte  197,76,89,232                       // vmulps        %ymm0,%ymm6,%ymm13
19029  .byte  196,65,36,88,221                    // vaddps        %ymm13,%ymm11,%ymm11
19030  .byte  196,65,52,89,238                    // vmulps        %ymm14,%ymm9,%ymm13
19031  .byte  196,193,44,89,215                   // vmulps        %ymm15,%ymm10,%ymm2
19032  .byte  197,148,88,210                      // vaddps        %ymm2,%ymm13,%ymm2
19033  .byte  197,28,89,232                       // vmulps        %ymm0,%ymm12,%ymm13
19034  .byte  196,193,108,88,213                  // vaddps        %ymm13,%ymm2,%ymm2
19035  .byte  197,36,89,219                       // vmulps        %ymm3,%ymm11,%ymm11
19036  .byte  197,164,92,210                      // vsubps        %ymm2,%ymm11,%ymm2
19037  .byte  197,52,88,202                       // vaddps        %ymm2,%ymm9,%ymm9
19038  .byte  197,44,88,218                       // vaddps        %ymm2,%ymm10,%ymm11
19039  .byte  197,28,88,226                       // vaddps        %ymm2,%ymm12,%ymm12
19040  .byte  196,193,36,93,212                   // vminps        %ymm12,%ymm11,%ymm2
19041  .byte  197,52,93,234                       // vminps        %ymm2,%ymm9,%ymm13
19042  .byte  196,193,52,89,214                   // vmulps        %ymm14,%ymm9,%ymm2
19043  .byte  196,65,36,89,215                    // vmulps        %ymm15,%ymm11,%ymm10
19044  .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
19045  .byte  197,156,89,192                      // vmulps        %ymm0,%ymm12,%ymm0
19046  .byte  197,124,88,210                      // vaddps        %ymm2,%ymm0,%ymm10
19047  .byte  196,193,52,92,194                   // vsubps        %ymm10,%ymm9,%ymm0
19048  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
19049  .byte  196,193,44,92,213                   // vsubps        %ymm13,%ymm10,%ymm2
19050  .byte  197,252,94,194                      // vdivps        %ymm2,%ymm0,%ymm0
19051  .byte  196,65,36,92,242                    // vsubps        %ymm10,%ymm11,%ymm14
19052  .byte  196,65,44,89,246                    // vmulps        %ymm14,%ymm10,%ymm14
19053  .byte  197,12,94,242                       // vdivps        %ymm2,%ymm14,%ymm14
19054  .byte  196,65,28,92,250                    // vsubps        %ymm10,%ymm12,%ymm15
19055  .byte  196,65,44,89,255                    // vmulps        %ymm15,%ymm10,%ymm15
19056  .byte  197,132,94,210                      // vdivps        %ymm2,%ymm15,%ymm2
19057  .byte  196,65,60,194,237,2                 // vcmpleps      %ymm13,%ymm8,%ymm13
19058  .byte  196,65,44,88,246                    // vaddps        %ymm14,%ymm10,%ymm14
19059  .byte  196,67,13,74,243,208                // vblendvps     %ymm13,%ymm11,%ymm14,%ymm14
19060  .byte  196,65,36,95,220                    // vmaxps        %ymm12,%ymm11,%ymm11
19061  .byte  197,172,88,210                      // vaddps        %ymm2,%ymm10,%ymm2
19062  .byte  196,195,109,74,212,208              // vblendvps     %ymm13,%ymm12,%ymm2,%ymm2
19063  .byte  197,172,88,192                      // vaddps        %ymm0,%ymm10,%ymm0
19064  .byte  196,195,125,74,193,208              // vblendvps     %ymm13,%ymm9,%ymm0,%ymm0
19065  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
19066  .byte  196,65,52,95,203                    // vmaxps        %ymm11,%ymm9,%ymm9
19067  .byte  196,65,124,92,218                   // vsubps        %ymm10,%ymm0,%ymm11
19068  .byte  196,65,28,92,234                    // vsubps        %ymm10,%ymm12,%ymm13
19069  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
19070  .byte  196,65,28,194,249,1                 // vcmpltps      %ymm9,%ymm12,%ymm15
19071  .byte  196,65,52,92,202                    // vsubps        %ymm10,%ymm9,%ymm9
19072  .byte  196,65,36,94,217                    // vdivps        %ymm9,%ymm11,%ymm11
19073  .byte  196,65,44,88,219                    // vaddps        %ymm11,%ymm10,%ymm11
19074  .byte  196,195,125,74,195,240              // vblendvps     %ymm15,%ymm11,%ymm0,%ymm0
19075  .byte  196,65,12,92,218                    // vsubps        %ymm10,%ymm14,%ymm11
19076  .byte  196,65,20,89,219                    // vmulps        %ymm11,%ymm13,%ymm11
19077  .byte  196,65,36,94,217                    // vdivps        %ymm9,%ymm11,%ymm11
19078  .byte  196,65,44,88,219                    // vaddps        %ymm11,%ymm10,%ymm11
19079  .byte  196,67,13,74,219,240                // vblendvps     %ymm15,%ymm11,%ymm14,%ymm11
19080  .byte  196,65,108,92,242                   // vsubps        %ymm10,%ymm2,%ymm14
19081  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
19082  .byte  196,65,20,94,201                    // vdivps        %ymm9,%ymm13,%ymm9
19083  .byte  196,65,44,88,201                    // vaddps        %ymm9,%ymm10,%ymm9
19084  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
19085  .byte  196,65,36,95,208                    // vmaxps        %ymm8,%ymm11,%ymm10
19086  .byte  196,195,109,74,209,240              // vblendvps     %ymm15,%ymm9,%ymm2,%ymm2
19087  .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
19088  .byte  196,98,125,24,5,39,104,0,0          // vbroadcastss  0x6827(%rip),%ymm8        # 7980 <_sk_callback_avx+0x1d0>
19089  .byte  197,60,92,207                       // vsubps        %ymm7,%ymm8,%ymm9
19090  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
19091  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
19092  .byte  197,60,89,220                       // vmulps        %ymm4,%ymm8,%ymm11
19093  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
19094  .byte  197,244,88,192                      // vaddps        %ymm0,%ymm1,%ymm0
19095  .byte  197,180,89,76,36,168                // vmulps        -0x58(%rsp),%ymm9,%ymm1
19096  .byte  197,60,89,221                       // vmulps        %ymm5,%ymm8,%ymm11
19097  .byte  197,164,88,201                      // vaddps        %ymm1,%ymm11,%ymm1
19098  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
19099  .byte  197,52,89,76,36,200                 // vmulps        -0x38(%rsp),%ymm9,%ymm9
19100  .byte  197,60,89,198                       // vmulps        %ymm6,%ymm8,%ymm8
19101  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
19102  .byte  197,188,88,210                      // vaddps        %ymm2,%ymm8,%ymm2
19103  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
19104  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
19105  .byte  72,173                              // lods          %ds:(%rsi),%rax
19106  .byte  255,224                             // jmpq          *%rax
19107
19108HIDDEN _sk_color_avx
19109.globl _sk_color_avx
19110FUNCTION(_sk_color_avx)
19111_sk_color_avx:
19112  .byte  197,252,17,84,36,136                // vmovups       %ymm2,-0x78(%rsp)
19113  .byte  197,252,17,76,36,200                // vmovups       %ymm1,-0x38(%rsp)
19114  .byte  197,252,17,68,36,168                // vmovups       %ymm0,-0x58(%rsp)
19115  .byte  197,124,89,199                      // vmulps        %ymm7,%ymm0,%ymm8
19116  .byte  197,116,89,207                      // vmulps        %ymm7,%ymm1,%ymm9
19117  .byte  196,98,125,24,45,189,103,0,0        // vbroadcastss  0x67bd(%rip),%ymm13        # 7984 <_sk_callback_avx+0x1d4>
19118  .byte  196,65,92,89,213                    // vmulps        %ymm13,%ymm4,%ymm10
19119  .byte  196,98,125,24,53,179,103,0,0        // vbroadcastss  0x67b3(%rip),%ymm14        # 7988 <_sk_callback_avx+0x1d8>
19120  .byte  196,65,84,89,222                    // vmulps        %ymm14,%ymm5,%ymm11
19121  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
19122  .byte  196,98,125,24,61,164,103,0,0        // vbroadcastss  0x67a4(%rip),%ymm15        # 798c <_sk_callback_avx+0x1dc>
19123  .byte  196,65,76,89,223                    // vmulps        %ymm15,%ymm6,%ymm11
19124  .byte  196,193,44,88,195                   // vaddps        %ymm11,%ymm10,%ymm0
19125  .byte  196,65,60,89,221                    // vmulps        %ymm13,%ymm8,%ymm11
19126  .byte  196,65,52,89,230                    // vmulps        %ymm14,%ymm9,%ymm12
19127  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
19128  .byte  197,108,89,231                      // vmulps        %ymm7,%ymm2,%ymm12
19129  .byte  196,65,28,89,215                    // vmulps        %ymm15,%ymm12,%ymm10
19130  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
19131  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
19132  .byte  196,193,124,92,194                  // vsubps        %ymm10,%ymm0,%ymm0
19133  .byte  197,60,88,192                       // vaddps        %ymm0,%ymm8,%ymm8
19134  .byte  197,52,88,208                       // vaddps        %ymm0,%ymm9,%ymm10
19135  .byte  197,28,88,216                       // vaddps        %ymm0,%ymm12,%ymm11
19136  .byte  196,193,44,93,195                   // vminps        %ymm11,%ymm10,%ymm0
19137  .byte  197,60,93,224                       // vminps        %ymm0,%ymm8,%ymm12
19138  .byte  196,193,60,89,197                   // vmulps        %ymm13,%ymm8,%ymm0
19139  .byte  196,65,44,89,206                    // vmulps        %ymm14,%ymm10,%ymm9
19140  .byte  196,193,124,88,193                  // vaddps        %ymm9,%ymm0,%ymm0
19141  .byte  196,65,36,89,207                    // vmulps        %ymm15,%ymm11,%ymm9
19142  .byte  197,52,88,200                       // vaddps        %ymm0,%ymm9,%ymm9
19143  .byte  196,193,60,92,193                   // vsubps        %ymm9,%ymm8,%ymm0
19144  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
19145  .byte  196,65,52,92,236                    // vsubps        %ymm12,%ymm9,%ymm13
19146  .byte  196,193,124,94,197                  // vdivps        %ymm13,%ymm0,%ymm0
19147  .byte  196,65,44,92,241                    // vsubps        %ymm9,%ymm10,%ymm14
19148  .byte  196,65,52,89,246                    // vmulps        %ymm14,%ymm9,%ymm14
19149  .byte  196,65,12,94,245                    // vdivps        %ymm13,%ymm14,%ymm14
19150  .byte  196,65,36,92,249                    // vsubps        %ymm9,%ymm11,%ymm15
19151  .byte  196,65,52,89,255                    // vmulps        %ymm15,%ymm9,%ymm15
19152  .byte  196,65,4,94,237                     // vdivps        %ymm13,%ymm15,%ymm13
19153  .byte  196,65,4,87,255                     // vxorps        %ymm15,%ymm15,%ymm15
19154  .byte  196,65,4,194,228,2                  // vcmpleps      %ymm12,%ymm15,%ymm12
19155  .byte  196,65,52,88,246                    // vaddps        %ymm14,%ymm9,%ymm14
19156  .byte  196,67,13,74,242,192                // vblendvps     %ymm12,%ymm10,%ymm14,%ymm14
19157  .byte  196,65,44,95,211                    // vmaxps        %ymm11,%ymm10,%ymm10
19158  .byte  196,65,52,88,237                    // vaddps        %ymm13,%ymm9,%ymm13
19159  .byte  196,67,21,74,219,192                // vblendvps     %ymm12,%ymm11,%ymm13,%ymm11
19160  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
19161  .byte  196,195,125,74,200,192              // vblendvps     %ymm12,%ymm8,%ymm0,%ymm1
19162  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
19163  .byte  196,65,60,95,194                    // vmaxps        %ymm10,%ymm8,%ymm8
19164  .byte  196,65,116,92,209                   // vsubps        %ymm9,%ymm1,%ymm10
19165  .byte  196,65,28,92,233                    // vsubps        %ymm9,%ymm12,%ymm13
19166  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
19167  .byte  196,193,28,194,192,1                // vcmpltps      %ymm8,%ymm12,%ymm0
19168  .byte  196,65,60,92,193                    // vsubps        %ymm9,%ymm8,%ymm8
19169  .byte  196,65,44,94,208                    // vdivps        %ymm8,%ymm10,%ymm10
19170  .byte  196,65,52,88,210                    // vaddps        %ymm10,%ymm9,%ymm10
19171  .byte  196,195,117,74,202,0                // vblendvps     %ymm0,%ymm10,%ymm1,%ymm1
19172  .byte  196,65,12,92,209                    // vsubps        %ymm9,%ymm14,%ymm10
19173  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
19174  .byte  196,65,44,94,208                    // vdivps        %ymm8,%ymm10,%ymm10
19175  .byte  196,65,52,88,210                    // vaddps        %ymm10,%ymm9,%ymm10
19176  .byte  196,67,13,74,210,0                  // vblendvps     %ymm0,%ymm10,%ymm14,%ymm10
19177  .byte  196,65,36,92,241                    // vsubps        %ymm9,%ymm11,%ymm14
19178  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
19179  .byte  196,65,20,94,192                    // vdivps        %ymm8,%ymm13,%ymm8
19180  .byte  196,65,52,88,192                    // vaddps        %ymm8,%ymm9,%ymm8
19181  .byte  196,193,116,95,207                  // vmaxps        %ymm15,%ymm1,%ymm1
19182  .byte  196,65,44,95,207                    // vmaxps        %ymm15,%ymm10,%ymm9
19183  .byte  196,195,37,74,192,0                 // vblendvps     %ymm0,%ymm8,%ymm11,%ymm0
19184  .byte  196,65,124,95,199                   // vmaxps        %ymm15,%ymm0,%ymm8
19185  .byte  196,226,125,24,5,107,102,0,0        // vbroadcastss  0x666b(%rip),%ymm0        # 7990 <_sk_callback_avx+0x1e0>
19186  .byte  197,124,92,215                      // vsubps        %ymm7,%ymm0,%ymm10
19187  .byte  197,172,89,84,36,168                // vmulps        -0x58(%rsp),%ymm10,%ymm2
19188  .byte  197,124,92,219                      // vsubps        %ymm3,%ymm0,%ymm11
19189  .byte  197,164,89,196                      // vmulps        %ymm4,%ymm11,%ymm0
19190  .byte  197,252,88,194                      // vaddps        %ymm2,%ymm0,%ymm0
19191  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
19192  .byte  197,172,89,76,36,200                // vmulps        -0x38(%rsp),%ymm10,%ymm1
19193  .byte  197,164,89,213                      // vmulps        %ymm5,%ymm11,%ymm2
19194  .byte  197,236,88,201                      // vaddps        %ymm1,%ymm2,%ymm1
19195  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
19196  .byte  197,172,89,84,36,136                // vmulps        -0x78(%rsp),%ymm10,%ymm2
19197  .byte  197,36,89,206                       // vmulps        %ymm6,%ymm11,%ymm9
19198  .byte  197,180,88,210                      // vaddps        %ymm2,%ymm9,%ymm2
19199  .byte  196,193,108,88,208                  // vaddps        %ymm8,%ymm2,%ymm2
19200  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
19201  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
19202  .byte  72,173                              // lods          %ds:(%rsi),%rax
19203  .byte  255,224                             // jmpq          *%rax
19204
19205HIDDEN _sk_luminosity_avx
19206.globl _sk_luminosity_avx
19207FUNCTION(_sk_luminosity_avx)
19208_sk_luminosity_avx:
19209  .byte  197,124,40,226                      // vmovaps       %ymm2,%ymm12
19210  .byte  197,124,17,100,36,168               // vmovups       %ymm12,-0x58(%rsp)
19211  .byte  197,252,17,76,36,200                // vmovups       %ymm1,-0x38(%rsp)
19212  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
19213  .byte  197,100,89,196                      // vmulps        %ymm4,%ymm3,%ymm8
19214  .byte  197,100,89,205                      // vmulps        %ymm5,%ymm3,%ymm9
19215  .byte  196,98,125,24,45,253,101,0,0        // vbroadcastss  0x65fd(%rip),%ymm13        # 7994 <_sk_callback_avx+0x1e4>
19216  .byte  196,65,108,89,213                   // vmulps        %ymm13,%ymm2,%ymm10
19217  .byte  196,98,125,24,53,243,101,0,0        // vbroadcastss  0x65f3(%rip),%ymm14        # 7998 <_sk_callback_avx+0x1e8>
19218  .byte  196,65,116,89,222                   // vmulps        %ymm14,%ymm1,%ymm11
19219  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
19220  .byte  196,98,125,24,61,228,101,0,0        // vbroadcastss  0x65e4(%rip),%ymm15        # 799c <_sk_callback_avx+0x1ec>
19221  .byte  196,65,28,89,223                    // vmulps        %ymm15,%ymm12,%ymm11
19222  .byte  196,193,44,88,195                   // vaddps        %ymm11,%ymm10,%ymm0
19223  .byte  196,65,60,89,221                    // vmulps        %ymm13,%ymm8,%ymm11
19224  .byte  196,65,52,89,230                    // vmulps        %ymm14,%ymm9,%ymm12
19225  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
19226  .byte  197,100,89,230                      // vmulps        %ymm6,%ymm3,%ymm12
19227  .byte  196,65,28,89,215                    // vmulps        %ymm15,%ymm12,%ymm10
19228  .byte  196,65,36,88,210                    // vaddps        %ymm10,%ymm11,%ymm10
19229  .byte  197,252,89,199                      // vmulps        %ymm7,%ymm0,%ymm0
19230  .byte  196,193,124,92,194                  // vsubps        %ymm10,%ymm0,%ymm0
19231  .byte  197,60,88,192                       // vaddps        %ymm0,%ymm8,%ymm8
19232  .byte  197,52,88,208                       // vaddps        %ymm0,%ymm9,%ymm10
19233  .byte  197,28,88,216                       // vaddps        %ymm0,%ymm12,%ymm11
19234  .byte  196,193,44,93,195                   // vminps        %ymm11,%ymm10,%ymm0
19235  .byte  197,60,93,224                       // vminps        %ymm0,%ymm8,%ymm12
19236  .byte  196,193,60,89,197                   // vmulps        %ymm13,%ymm8,%ymm0
19237  .byte  196,65,44,89,206                    // vmulps        %ymm14,%ymm10,%ymm9
19238  .byte  196,193,124,88,193                  // vaddps        %ymm9,%ymm0,%ymm0
19239  .byte  196,65,36,89,207                    // vmulps        %ymm15,%ymm11,%ymm9
19240  .byte  197,52,88,200                       // vaddps        %ymm0,%ymm9,%ymm9
19241  .byte  196,193,60,92,193                   // vsubps        %ymm9,%ymm8,%ymm0
19242  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
19243  .byte  196,65,52,92,236                    // vsubps        %ymm12,%ymm9,%ymm13
19244  .byte  196,193,124,94,197                  // vdivps        %ymm13,%ymm0,%ymm0
19245  .byte  196,65,44,92,241                    // vsubps        %ymm9,%ymm10,%ymm14
19246  .byte  196,65,52,89,246                    // vmulps        %ymm14,%ymm9,%ymm14
19247  .byte  196,65,12,94,245                    // vdivps        %ymm13,%ymm14,%ymm14
19248  .byte  196,65,36,92,249                    // vsubps        %ymm9,%ymm11,%ymm15
19249  .byte  196,65,52,89,255                    // vmulps        %ymm15,%ymm9,%ymm15
19250  .byte  196,65,4,94,237                     // vdivps        %ymm13,%ymm15,%ymm13
19251  .byte  196,65,4,87,255                     // vxorps        %ymm15,%ymm15,%ymm15
19252  .byte  196,65,4,194,228,2                  // vcmpleps      %ymm12,%ymm15,%ymm12
19253  .byte  196,65,52,88,246                    // vaddps        %ymm14,%ymm9,%ymm14
19254  .byte  196,67,13,74,242,192                // vblendvps     %ymm12,%ymm10,%ymm14,%ymm14
19255  .byte  196,65,44,95,211                    // vmaxps        %ymm11,%ymm10,%ymm10
19256  .byte  196,65,52,88,237                    // vaddps        %ymm13,%ymm9,%ymm13
19257  .byte  196,67,21,74,219,192                // vblendvps     %ymm12,%ymm11,%ymm13,%ymm11
19258  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
19259  .byte  196,195,125,74,200,192              // vblendvps     %ymm12,%ymm8,%ymm0,%ymm1
19260  .byte  197,100,89,231                      // vmulps        %ymm7,%ymm3,%ymm12
19261  .byte  196,65,60,95,194                    // vmaxps        %ymm10,%ymm8,%ymm8
19262  .byte  196,65,116,92,209                   // vsubps        %ymm9,%ymm1,%ymm10
19263  .byte  196,65,28,92,233                    // vsubps        %ymm9,%ymm12,%ymm13
19264  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
19265  .byte  196,193,28,194,192,1                // vcmpltps      %ymm8,%ymm12,%ymm0
19266  .byte  196,65,60,92,193                    // vsubps        %ymm9,%ymm8,%ymm8
19267  .byte  196,65,44,94,208                    // vdivps        %ymm8,%ymm10,%ymm10
19268  .byte  196,65,52,88,210                    // vaddps        %ymm10,%ymm9,%ymm10
19269  .byte  196,195,117,74,202,0                // vblendvps     %ymm0,%ymm10,%ymm1,%ymm1
19270  .byte  196,65,12,92,209                    // vsubps        %ymm9,%ymm14,%ymm10
19271  .byte  196,65,20,89,210                    // vmulps        %ymm10,%ymm13,%ymm10
19272  .byte  196,65,44,94,208                    // vdivps        %ymm8,%ymm10,%ymm10
19273  .byte  196,65,52,88,210                    // vaddps        %ymm10,%ymm9,%ymm10
19274  .byte  196,67,13,74,210,0                  // vblendvps     %ymm0,%ymm10,%ymm14,%ymm10
19275  .byte  196,65,36,92,241                    // vsubps        %ymm9,%ymm11,%ymm14
19276  .byte  196,65,20,89,238                    // vmulps        %ymm14,%ymm13,%ymm13
19277  .byte  196,65,20,94,192                    // vdivps        %ymm8,%ymm13,%ymm8
19278  .byte  196,65,52,88,192                    // vaddps        %ymm8,%ymm9,%ymm8
19279  .byte  196,193,116,95,207                  // vmaxps        %ymm15,%ymm1,%ymm1
19280  .byte  196,65,44,95,207                    // vmaxps        %ymm15,%ymm10,%ymm9
19281  .byte  196,195,37,74,192,0                 // vblendvps     %ymm0,%ymm8,%ymm11,%ymm0
19282  .byte  196,65,124,95,199                   // vmaxps        %ymm15,%ymm0,%ymm8
19283  .byte  196,226,125,24,5,171,100,0,0        // vbroadcastss  0x64ab(%rip),%ymm0        # 79a0 <_sk_callback_avx+0x1f0>
19284  .byte  197,124,92,215                      // vsubps        %ymm7,%ymm0,%ymm10
19285  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
19286  .byte  197,124,92,219                      // vsubps        %ymm3,%ymm0,%ymm11
19287  .byte  197,164,89,196                      // vmulps        %ymm4,%ymm11,%ymm0
19288  .byte  197,252,88,194                      // vaddps        %ymm2,%ymm0,%ymm0
19289  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
19290  .byte  197,172,89,76,36,200                // vmulps        -0x38(%rsp),%ymm10,%ymm1
19291  .byte  197,164,89,213                      // vmulps        %ymm5,%ymm11,%ymm2
19292  .byte  197,236,88,201                      // vaddps        %ymm1,%ymm2,%ymm1
19293  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
19294  .byte  197,172,89,84,36,168                // vmulps        -0x58(%rsp),%ymm10,%ymm2
19295  .byte  197,36,89,206                       // vmulps        %ymm6,%ymm11,%ymm9
19296  .byte  197,180,88,210                      // vaddps        %ymm2,%ymm9,%ymm2
19297  .byte  196,193,108,88,208                  // vaddps        %ymm8,%ymm2,%ymm2
19298  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
19299  .byte  196,193,100,92,220                  // vsubps        %ymm12,%ymm3,%ymm3
19300  .byte  72,173                              // lods          %ds:(%rsi),%rax
19301  .byte  255,224                             // jmpq          *%rax
19302
19303HIDDEN _sk_srcover_rgba_8888_avx
19304.globl _sk_srcover_rgba_8888_avx
19305FUNCTION(_sk_srcover_rgba_8888_avx)
19306_sk_srcover_rgba_8888_avx:
19307  .byte  73,137,201                          // mov           %rcx,%r9
19308  .byte  72,173                              // lods          %ds:(%rsi),%rax
19309  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
19310  .byte  76,3,16                             // add           (%rax),%r10
19311  .byte  77,133,192                          // test          %r8,%r8
19312  .byte  15,133,43,1,0,0                     // jne           1684 <_sk_srcover_rgba_8888_avx+0x144>
19313  .byte  196,193,124,16,58                   // vmovups       (%r10),%ymm7
19314  .byte  197,124,40,13,58,106,0,0            // vmovaps       0x6a3a(%rip),%ymm9        # 7fa0 <_sk_callback_avx+0x7f0>
19315  .byte  196,193,68,84,225                   // vandps        %ymm9,%ymm7,%ymm4
19316  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
19317  .byte  197,209,114,215,8                   // vpsrld        $0x8,%xmm7,%xmm5
19318  .byte  196,195,125,25,248,1                // vextractf128  $0x1,%ymm7,%xmm8
19319  .byte  196,193,73,114,208,8                // vpsrld        $0x8,%xmm8,%xmm6
19320  .byte  196,227,85,24,238,1                 // vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
19321  .byte  196,193,84,84,233                   // vandps        %ymm9,%ymm5,%ymm5
19322  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
19323  .byte  197,169,114,215,16                  // vpsrld        $0x10,%xmm7,%xmm10
19324  .byte  196,193,73,114,208,16               // vpsrld        $0x10,%xmm8,%xmm6
19325  .byte  196,227,45,24,246,1                 // vinsertf128   $0x1,%xmm6,%ymm10,%ymm6
19326  .byte  196,193,76,84,241                   // vandps        %ymm9,%ymm6,%ymm6
19327  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
19328  .byte  197,177,114,215,24                  // vpsrld        $0x18,%xmm7,%xmm9
19329  .byte  196,193,65,114,208,24               // vpsrld        $0x18,%xmm8,%xmm7
19330  .byte  196,227,53,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm9,%ymm7
19331  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
19332  .byte  196,98,125,24,5,221,99,0,0          // vbroadcastss  0x63dd(%rip),%ymm8        # 79a4 <_sk_callback_avx+0x1f4>
19333  .byte  197,60,92,195                       // vsubps        %ymm3,%ymm8,%ymm8
19334  .byte  196,98,125,24,13,212,99,0,0         // vbroadcastss  0x63d4(%rip),%ymm9        # 79a8 <_sk_callback_avx+0x1f8>
19335  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
19336  .byte  197,60,89,212                       // vmulps        %ymm4,%ymm8,%ymm10
19337  .byte  196,193,124,88,194                  // vaddps        %ymm10,%ymm0,%ymm0
19338  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
19339  .byte  197,60,89,213                       // vmulps        %ymm5,%ymm8,%ymm10
19340  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
19341  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
19342  .byte  197,60,89,214                       // vmulps        %ymm6,%ymm8,%ymm10
19343  .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
19344  .byte  196,193,100,89,217                  // vmulps        %ymm9,%ymm3,%ymm3
19345  .byte  197,60,89,199                       // vmulps        %ymm7,%ymm8,%ymm8
19346  .byte  196,193,100,88,216                  // vaddps        %ymm8,%ymm3,%ymm3
19347  .byte  197,125,91,192                      // vcvtps2dq     %ymm0,%ymm8
19348  .byte  197,125,91,201                      // vcvtps2dq     %ymm1,%ymm9
19349  .byte  196,193,41,114,241,8                // vpslld        $0x8,%xmm9,%xmm10
19350  .byte  196,67,125,25,201,1                 // vextractf128  $0x1,%ymm9,%xmm9
19351  .byte  196,193,49,114,241,8                // vpslld        $0x8,%xmm9,%xmm9
19352  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
19353  .byte  196,65,53,86,192                    // vorpd         %ymm8,%ymm9,%ymm8
19354  .byte  197,125,91,202                      // vcvtps2dq     %ymm2,%ymm9
19355  .byte  196,193,41,114,241,16               // vpslld        $0x10,%xmm9,%xmm10
19356  .byte  196,67,125,25,201,1                 // vextractf128  $0x1,%ymm9,%xmm9
19357  .byte  196,193,49,114,241,16               // vpslld        $0x10,%xmm9,%xmm9
19358  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
19359  .byte  197,125,91,211                      // vcvtps2dq     %ymm3,%ymm10
19360  .byte  196,193,33,114,242,24               // vpslld        $0x18,%xmm10,%xmm11
19361  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
19362  .byte  196,193,41,114,242,24               // vpslld        $0x18,%xmm10,%xmm10
19363  .byte  196,67,37,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
19364  .byte  196,65,53,86,202                    // vorpd         %ymm10,%ymm9,%ymm9
19365  .byte  196,65,61,86,193                    // vorpd         %ymm9,%ymm8,%ymm8
19366  .byte  77,133,192                          // test          %r8,%r8
19367  .byte  117,87                              // jne           16cf <_sk_srcover_rgba_8888_avx+0x18f>
19368  .byte  196,65,124,17,2                     // vmovups       %ymm8,(%r10)
19369  .byte  72,173                              // lods          %ds:(%rsi),%rax
19370  .byte  76,137,201                          // mov           %r9,%rcx
19371  .byte  255,224                             // jmpq          *%rax
19372  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
19373  .byte  68,41,193                           // sub           %r8d,%ecx
19374  .byte  192,225,3                           // shl           $0x3,%cl
19375  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
19376  .byte  72,211,232                          // shr           %cl,%rax
19377  .byte  196,225,249,110,224                 // vmovq         %rax,%xmm4
19378  .byte  196,226,121,48,228                  // vpmovzxbw     %xmm4,%xmm4
19379  .byte  196,226,89,0,45,52,103,0,0          // vpshufb       0x6734(%rip),%xmm4,%xmm5        # 7de0 <_sk_callback_avx+0x630>
19380  .byte  196,226,121,33,237                  // vpmovsxbd     %xmm5,%xmm5
19381  .byte  196,226,89,0,37,54,103,0,0          // vpshufb       0x6736(%rip),%xmm4,%xmm4        # 7df0 <_sk_callback_avx+0x640>
19382  .byte  196,226,121,33,228                  // vpmovsxbd     %xmm4,%xmm4
19383  .byte  196,227,85,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
19384  .byte  196,194,93,44,58                    // vmaskmovps    (%r10),%ymm4,%ymm7
19385  .byte  233,143,254,255,255                 // jmpq          155e <_sk_srcover_rgba_8888_avx+0x1e>
19386  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
19387  .byte  68,41,193                           // sub           %r8d,%ecx
19388  .byte  192,225,3                           // shl           $0x3,%cl
19389  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
19390  .byte  72,211,232                          // shr           %cl,%rax
19391  .byte  196,97,249,110,200                  // vmovq         %rax,%xmm9
19392  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
19393  .byte  196,98,49,0,21,233,102,0,0          // vpshufb       0x66e9(%rip),%xmm9,%xmm10        # 7de0 <_sk_callback_avx+0x630>
19394  .byte  196,66,121,33,210                   // vpmovsxbd     %xmm10,%xmm10
19395  .byte  196,98,49,0,13,235,102,0,0          // vpshufb       0x66eb(%rip),%xmm9,%xmm9        # 7df0 <_sk_callback_avx+0x640>
19396  .byte  196,66,121,33,201                   // vpmovsxbd     %xmm9,%xmm9
19397  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
19398  .byte  196,66,53,46,2                      // vmaskmovps    %ymm8,%ymm9,(%r10)
19399  .byte  233,99,255,255,255                  // jmpq          167d <_sk_srcover_rgba_8888_avx+0x13d>
19400
19401HIDDEN _sk_clamp_0_avx
19402.globl _sk_clamp_0_avx
19403FUNCTION(_sk_clamp_0_avx)
19404_sk_clamp_0_avx:
19405  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
19406  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
19407  .byte  196,193,116,95,200                  // vmaxps        %ymm8,%ymm1,%ymm1
19408  .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
19409  .byte  196,193,100,95,216                  // vmaxps        %ymm8,%ymm3,%ymm3
19410  .byte  72,173                              // lods          %ds:(%rsi),%rax
19411  .byte  255,224                             // jmpq          *%rax
19412
19413HIDDEN _sk_clamp_1_avx
19414.globl _sk_clamp_1_avx
19415FUNCTION(_sk_clamp_1_avx)
19416_sk_clamp_1_avx:
19417  .byte  196,98,125,24,5,108,98,0,0          // vbroadcastss  0x626c(%rip),%ymm8        # 79ac <_sk_callback_avx+0x1fc>
19418  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
19419  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
19420  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
19421  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
19422  .byte  72,173                              // lods          %ds:(%rsi),%rax
19423  .byte  255,224                             // jmpq          *%rax
19424
19425HIDDEN _sk_clamp_a_avx
19426.globl _sk_clamp_a_avx
19427FUNCTION(_sk_clamp_a_avx)
19428_sk_clamp_a_avx:
19429  .byte  196,98,125,24,5,79,98,0,0           // vbroadcastss  0x624f(%rip),%ymm8        # 79b0 <_sk_callback_avx+0x200>
19430  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
19431  .byte  197,252,93,195                      // vminps        %ymm3,%ymm0,%ymm0
19432  .byte  197,244,93,203                      // vminps        %ymm3,%ymm1,%ymm1
19433  .byte  197,236,93,211                      // vminps        %ymm3,%ymm2,%ymm2
19434  .byte  72,173                              // lods          %ds:(%rsi),%rax
19435  .byte  255,224                             // jmpq          *%rax
19436
19437HIDDEN _sk_clamp_a_dst_avx
19438.globl _sk_clamp_a_dst_avx
19439FUNCTION(_sk_clamp_a_dst_avx)
19440_sk_clamp_a_dst_avx:
19441  .byte  196,98,125,24,5,53,98,0,0           // vbroadcastss  0x6235(%rip),%ymm8        # 79b4 <_sk_callback_avx+0x204>
19442  .byte  196,193,68,93,248                   // vminps        %ymm8,%ymm7,%ymm7
19443  .byte  197,220,93,231                      // vminps        %ymm7,%ymm4,%ymm4
19444  .byte  197,212,93,239                      // vminps        %ymm7,%ymm5,%ymm5
19445  .byte  197,204,93,247                      // vminps        %ymm7,%ymm6,%ymm6
19446  .byte  72,173                              // lods          %ds:(%rsi),%rax
19447  .byte  255,224                             // jmpq          *%rax
19448
19449HIDDEN _sk_set_rgb_avx
19450.globl _sk_set_rgb_avx
19451FUNCTION(_sk_set_rgb_avx)
19452_sk_set_rgb_avx:
19453  .byte  72,173                              // lods          %ds:(%rsi),%rax
19454  .byte  196,226,125,24,0                    // vbroadcastss  (%rax),%ymm0
19455  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
19456  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
19457  .byte  72,173                              // lods          %ds:(%rsi),%rax
19458  .byte  255,224                             // jmpq          *%rax
19459
19460HIDDEN _sk_swap_rb_avx
19461.globl _sk_swap_rb_avx
19462FUNCTION(_sk_swap_rb_avx)
19463_sk_swap_rb_avx:
19464  .byte  197,124,40,192                      // vmovaps       %ymm0,%ymm8
19465  .byte  72,173                              // lods          %ds:(%rsi),%rax
19466  .byte  197,252,40,194                      // vmovaps       %ymm2,%ymm0
19467  .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
19468  .byte  255,224                             // jmpq          *%rax
19469
19470HIDDEN _sk_move_src_dst_avx
19471.globl _sk_move_src_dst_avx
19472FUNCTION(_sk_move_src_dst_avx)
19473_sk_move_src_dst_avx:
19474  .byte  72,173                              // lods          %ds:(%rsi),%rax
19475  .byte  197,252,40,224                      // vmovaps       %ymm0,%ymm4
19476  .byte  197,252,40,233                      // vmovaps       %ymm1,%ymm5
19477  .byte  197,252,40,242                      // vmovaps       %ymm2,%ymm6
19478  .byte  197,252,40,251                      // vmovaps       %ymm3,%ymm7
19479  .byte  255,224                             // jmpq          *%rax
19480
19481HIDDEN _sk_move_dst_src_avx
19482.globl _sk_move_dst_src_avx
19483FUNCTION(_sk_move_dst_src_avx)
19484_sk_move_dst_src_avx:
19485  .byte  72,173                              // lods          %ds:(%rsi),%rax
19486  .byte  197,252,40,196                      // vmovaps       %ymm4,%ymm0
19487  .byte  197,252,40,205                      // vmovaps       %ymm5,%ymm1
19488  .byte  197,252,40,214                      // vmovaps       %ymm6,%ymm2
19489  .byte  197,252,40,223                      // vmovaps       %ymm7,%ymm3
19490  .byte  255,224                             // jmpq          *%rax
19491
19492HIDDEN _sk_premul_avx
19493.globl _sk_premul_avx
19494FUNCTION(_sk_premul_avx)
19495_sk_premul_avx:
19496  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
19497  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
19498  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
19499  .byte  72,173                              // lods          %ds:(%rsi),%rax
19500  .byte  255,224                             // jmpq          *%rax
19501
19502HIDDEN _sk_premul_dst_avx
19503.globl _sk_premul_dst_avx
19504FUNCTION(_sk_premul_dst_avx)
19505_sk_premul_dst_avx:
19506  .byte  197,220,89,231                      // vmulps        %ymm7,%ymm4,%ymm4
19507  .byte  197,212,89,239                      // vmulps        %ymm7,%ymm5,%ymm5
19508  .byte  197,204,89,247                      // vmulps        %ymm7,%ymm6,%ymm6
19509  .byte  72,173                              // lods          %ds:(%rsi),%rax
19510  .byte  255,224                             // jmpq          *%rax
19511
19512HIDDEN _sk_unpremul_avx
19513.globl _sk_unpremul_avx
19514FUNCTION(_sk_unpremul_avx)
19515_sk_unpremul_avx:
19516  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
19517  .byte  196,65,100,194,200,0                // vcmpeqps      %ymm8,%ymm3,%ymm9
19518  .byte  196,98,125,24,21,161,97,0,0         // vbroadcastss  0x61a1(%rip),%ymm10        # 79b8 <_sk_callback_avx+0x208>
19519  .byte  197,44,94,211                       // vdivps        %ymm3,%ymm10,%ymm10
19520  .byte  196,67,45,74,192,144                // vblendvps     %ymm9,%ymm8,%ymm10,%ymm8
19521  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
19522  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
19523  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
19524  .byte  72,173                              // lods          %ds:(%rsi),%rax
19525  .byte  255,224                             // jmpq          *%rax
19526
19527HIDDEN _sk_from_srgb_avx
19528.globl _sk_from_srgb_avx
19529FUNCTION(_sk_from_srgb_avx)
19530_sk_from_srgb_avx:
19531  .byte  196,98,125,24,5,130,97,0,0          // vbroadcastss  0x6182(%rip),%ymm8        # 79bc <_sk_callback_avx+0x20c>
19532  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
19533  .byte  197,124,89,208                      // vmulps        %ymm0,%ymm0,%ymm10
19534  .byte  196,98,125,24,29,116,97,0,0         // vbroadcastss  0x6174(%rip),%ymm11        # 79c0 <_sk_callback_avx+0x210>
19535  .byte  196,65,124,89,227                   // vmulps        %ymm11,%ymm0,%ymm12
19536  .byte  196,98,125,24,45,106,97,0,0         // vbroadcastss  0x616a(%rip),%ymm13        # 79c4 <_sk_callback_avx+0x214>
19537  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
19538  .byte  196,65,44,89,212                    // vmulps        %ymm12,%ymm10,%ymm10
19539  .byte  196,98,125,24,37,91,97,0,0          // vbroadcastss  0x615b(%rip),%ymm12        # 79c8 <_sk_callback_avx+0x218>
19540  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
19541  .byte  196,98,125,24,53,81,97,0,0          // vbroadcastss  0x6151(%rip),%ymm14        # 79cc <_sk_callback_avx+0x21c>
19542  .byte  196,193,124,194,198,1               // vcmpltps      %ymm14,%ymm0,%ymm0
19543  .byte  196,195,45,74,193,0                 // vblendvps     %ymm0,%ymm9,%ymm10,%ymm0
19544  .byte  196,65,116,89,200                   // vmulps        %ymm8,%ymm1,%ymm9
19545  .byte  197,116,89,209                      // vmulps        %ymm1,%ymm1,%ymm10
19546  .byte  196,65,116,89,251                   // vmulps        %ymm11,%ymm1,%ymm15
19547  .byte  196,65,4,88,253                     // vaddps        %ymm13,%ymm15,%ymm15
19548  .byte  196,65,44,89,215                    // vmulps        %ymm15,%ymm10,%ymm10
19549  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
19550  .byte  196,193,116,194,206,1               // vcmpltps      %ymm14,%ymm1,%ymm1
19551  .byte  196,195,45,74,201,16                // vblendvps     %ymm1,%ymm9,%ymm10,%ymm1
19552  .byte  196,65,108,89,192                   // vmulps        %ymm8,%ymm2,%ymm8
19553  .byte  197,108,89,202                      // vmulps        %ymm2,%ymm2,%ymm9
19554  .byte  196,65,108,89,211                   // vmulps        %ymm11,%ymm2,%ymm10
19555  .byte  196,65,44,88,213                    // vaddps        %ymm13,%ymm10,%ymm10
19556  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
19557  .byte  196,65,52,88,204                    // vaddps        %ymm12,%ymm9,%ymm9
19558  .byte  196,193,108,194,214,1               // vcmpltps      %ymm14,%ymm2,%ymm2
19559  .byte  196,195,53,74,208,32                // vblendvps     %ymm2,%ymm8,%ymm9,%ymm2
19560  .byte  72,173                              // lods          %ds:(%rsi),%rax
19561  .byte  255,224                             // jmpq          *%rax
19562
19563HIDDEN _sk_from_srgb_dst_avx
19564.globl _sk_from_srgb_dst_avx
19565FUNCTION(_sk_from_srgb_dst_avx)
19566_sk_from_srgb_dst_avx:
19567  .byte  196,98,125,24,5,234,96,0,0          // vbroadcastss  0x60ea(%rip),%ymm8        # 79d0 <_sk_callback_avx+0x220>
19568  .byte  196,65,92,89,200                    // vmulps        %ymm8,%ymm4,%ymm9
19569  .byte  197,92,89,212                       // vmulps        %ymm4,%ymm4,%ymm10
19570  .byte  196,98,125,24,29,220,96,0,0         // vbroadcastss  0x60dc(%rip),%ymm11        # 79d4 <_sk_callback_avx+0x224>
19571  .byte  196,65,92,89,227                    // vmulps        %ymm11,%ymm4,%ymm12
19572  .byte  196,98,125,24,45,210,96,0,0         // vbroadcastss  0x60d2(%rip),%ymm13        # 79d8 <_sk_callback_avx+0x228>
19573  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
19574  .byte  196,65,44,89,212                    // vmulps        %ymm12,%ymm10,%ymm10
19575  .byte  196,98,125,24,37,195,96,0,0         // vbroadcastss  0x60c3(%rip),%ymm12        # 79dc <_sk_callback_avx+0x22c>
19576  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
19577  .byte  196,98,125,24,53,185,96,0,0         // vbroadcastss  0x60b9(%rip),%ymm14        # 79e0 <_sk_callback_avx+0x230>
19578  .byte  196,193,92,194,230,1                // vcmpltps      %ymm14,%ymm4,%ymm4
19579  .byte  196,195,45,74,225,64                // vblendvps     %ymm4,%ymm9,%ymm10,%ymm4
19580  .byte  196,65,84,89,200                    // vmulps        %ymm8,%ymm5,%ymm9
19581  .byte  197,84,89,213                       // vmulps        %ymm5,%ymm5,%ymm10
19582  .byte  196,65,84,89,251                    // vmulps        %ymm11,%ymm5,%ymm15
19583  .byte  196,65,4,88,253                     // vaddps        %ymm13,%ymm15,%ymm15
19584  .byte  196,65,44,89,215                    // vmulps        %ymm15,%ymm10,%ymm10
19585  .byte  196,65,44,88,212                    // vaddps        %ymm12,%ymm10,%ymm10
19586  .byte  196,193,84,194,238,1                // vcmpltps      %ymm14,%ymm5,%ymm5
19587  .byte  196,195,45,74,233,80                // vblendvps     %ymm5,%ymm9,%ymm10,%ymm5
19588  .byte  196,65,76,89,192                    // vmulps        %ymm8,%ymm6,%ymm8
19589  .byte  197,76,89,206                       // vmulps        %ymm6,%ymm6,%ymm9
19590  .byte  196,65,76,89,211                    // vmulps        %ymm11,%ymm6,%ymm10
19591  .byte  196,65,44,88,213                    // vaddps        %ymm13,%ymm10,%ymm10
19592  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
19593  .byte  196,65,52,88,204                    // vaddps        %ymm12,%ymm9,%ymm9
19594  .byte  196,193,76,194,246,1                // vcmpltps      %ymm14,%ymm6,%ymm6
19595  .byte  196,195,53,74,240,96                // vblendvps     %ymm6,%ymm8,%ymm9,%ymm6
19596  .byte  72,173                              // lods          %ds:(%rsi),%rax
19597  .byte  255,224                             // jmpq          *%rax
19598
19599HIDDEN _sk_to_srgb_avx
19600.globl _sk_to_srgb_avx
19601FUNCTION(_sk_to_srgb_avx)
19602_sk_to_srgb_avx:
19603  .byte  197,124,82,200                      // vrsqrtps      %ymm0,%ymm9
19604  .byte  196,98,125,24,5,78,96,0,0           // vbroadcastss  0x604e(%rip),%ymm8        # 79e4 <_sk_callback_avx+0x234>
19605  .byte  196,65,124,89,208                   // vmulps        %ymm8,%ymm0,%ymm10
19606  .byte  196,98,125,24,29,68,96,0,0          // vbroadcastss  0x6044(%rip),%ymm11        # 79e8 <_sk_callback_avx+0x238>
19607  .byte  196,65,52,89,227                    // vmulps        %ymm11,%ymm9,%ymm12
19608  .byte  196,98,125,24,45,58,96,0,0          // vbroadcastss  0x603a(%rip),%ymm13        # 79ec <_sk_callback_avx+0x23c>
19609  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
19610  .byte  196,65,52,89,228                    // vmulps        %ymm12,%ymm9,%ymm12
19611  .byte  196,98,125,24,53,43,96,0,0          // vbroadcastss  0x602b(%rip),%ymm14        # 79f0 <_sk_callback_avx+0x240>
19612  .byte  196,65,28,88,230                    // vaddps        %ymm14,%ymm12,%ymm12
19613  .byte  196,98,125,24,61,33,96,0,0          // vbroadcastss  0x6021(%rip),%ymm15        # 79f4 <_sk_callback_avx+0x244>
19614  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
19615  .byte  196,65,124,83,201                   // vrcpps        %ymm9,%ymm9
19616  .byte  196,65,52,89,204                    // vmulps        %ymm12,%ymm9,%ymm9
19617  .byte  196,98,125,24,37,13,96,0,0          // vbroadcastss  0x600d(%rip),%ymm12        # 79f8 <_sk_callback_avx+0x248>
19618  .byte  196,193,124,194,196,1               // vcmpltps      %ymm12,%ymm0,%ymm0
19619  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
19620  .byte  197,124,82,201                      // vrsqrtps      %ymm1,%ymm9
19621  .byte  196,65,52,89,211                    // vmulps        %ymm11,%ymm9,%ymm10
19622  .byte  196,65,44,88,213                    // vaddps        %ymm13,%ymm10,%ymm10
19623  .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
19624  .byte  196,65,44,88,214                    // vaddps        %ymm14,%ymm10,%ymm10
19625  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
19626  .byte  196,65,124,83,201                   // vrcpps        %ymm9,%ymm9
19627  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
19628  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
19629  .byte  196,193,116,194,204,1               // vcmpltps      %ymm12,%ymm1,%ymm1
19630  .byte  196,195,53,74,202,16                // vblendvps     %ymm1,%ymm10,%ymm9,%ymm1
19631  .byte  197,124,82,202                      // vrsqrtps      %ymm2,%ymm9
19632  .byte  196,65,52,89,211                    // vmulps        %ymm11,%ymm9,%ymm10
19633  .byte  196,65,44,88,213                    // vaddps        %ymm13,%ymm10,%ymm10
19634  .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
19635  .byte  196,65,44,88,214                    // vaddps        %ymm14,%ymm10,%ymm10
19636  .byte  196,65,52,88,207                    // vaddps        %ymm15,%ymm9,%ymm9
19637  .byte  196,65,124,83,201                   // vrcpps        %ymm9,%ymm9
19638  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
19639  .byte  196,65,108,89,192                   // vmulps        %ymm8,%ymm2,%ymm8
19640  .byte  196,193,108,194,212,1               // vcmpltps      %ymm12,%ymm2,%ymm2
19641  .byte  196,195,53,74,208,32                // vblendvps     %ymm2,%ymm8,%ymm9,%ymm2
19642  .byte  72,173                              // lods          %ds:(%rsi),%rax
19643  .byte  255,224                             // jmpq          *%rax
19644
19645HIDDEN _sk_rgb_to_hsl_avx
19646.globl _sk_rgb_to_hsl_avx
19647FUNCTION(_sk_rgb_to_hsl_avx)
19648_sk_rgb_to_hsl_avx:
19649  .byte  197,124,95,193                      // vmaxps        %ymm1,%ymm0,%ymm8
19650  .byte  197,60,95,194                       // vmaxps        %ymm2,%ymm8,%ymm8
19651  .byte  197,124,93,201                      // vminps        %ymm1,%ymm0,%ymm9
19652  .byte  197,52,93,202                       // vminps        %ymm2,%ymm9,%ymm9
19653  .byte  196,65,60,92,209                    // vsubps        %ymm9,%ymm8,%ymm10
19654  .byte  196,98,125,24,29,115,95,0,0         // vbroadcastss  0x5f73(%rip),%ymm11        # 79fc <_sk_callback_avx+0x24c>
19655  .byte  196,65,36,94,218                    // vdivps        %ymm10,%ymm11,%ymm11
19656  .byte  197,116,92,226                      // vsubps        %ymm2,%ymm1,%ymm12
19657  .byte  196,65,28,89,227                    // vmulps        %ymm11,%ymm12,%ymm12
19658  .byte  197,116,194,234,1                   // vcmpltps      %ymm2,%ymm1,%ymm13
19659  .byte  197,60,194,241,0                    // vcmpeqps      %ymm1,%ymm8,%ymm14
19660  .byte  197,236,92,208                      // vsubps        %ymm0,%ymm2,%ymm2
19661  .byte  196,193,108,89,211                  // vmulps        %ymm11,%ymm2,%ymm2
19662  .byte  197,252,92,201                      // vsubps        %ymm1,%ymm0,%ymm1
19663  .byte  196,193,116,89,203                  // vmulps        %ymm11,%ymm1,%ymm1
19664  .byte  196,98,125,24,29,76,95,0,0          // vbroadcastss  0x5f4c(%rip),%ymm11        # 7a08 <_sk_callback_avx+0x258>
19665  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
19666  .byte  196,98,125,24,29,58,95,0,0          // vbroadcastss  0x5f3a(%rip),%ymm11        # 7a04 <_sk_callback_avx+0x254>
19667  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
19668  .byte  196,227,117,74,202,224              // vblendvps     %ymm14,%ymm2,%ymm1,%ymm1
19669  .byte  196,226,125,24,21,34,95,0,0         // vbroadcastss  0x5f22(%rip),%ymm2        # 7a00 <_sk_callback_avx+0x250>
19670  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
19671  .byte  196,227,13,74,210,208               // vblendvps     %ymm13,%ymm2,%ymm14,%ymm2
19672  .byte  197,188,194,192,0                   // vcmpeqps      %ymm0,%ymm8,%ymm0
19673  .byte  196,193,108,88,212                  // vaddps        %ymm12,%ymm2,%ymm2
19674  .byte  196,227,117,74,194,0                // vblendvps     %ymm0,%ymm2,%ymm1,%ymm0
19675  .byte  196,193,60,88,201                   // vaddps        %ymm9,%ymm8,%ymm1
19676  .byte  196,98,125,24,37,9,95,0,0           // vbroadcastss  0x5f09(%rip),%ymm12        # 7a10 <_sk_callback_avx+0x260>
19677  .byte  196,193,116,89,212                  // vmulps        %ymm12,%ymm1,%ymm2
19678  .byte  197,28,194,226,1                    // vcmpltps      %ymm2,%ymm12,%ymm12
19679  .byte  196,65,36,92,216                    // vsubps        %ymm8,%ymm11,%ymm11
19680  .byte  196,65,36,92,217                    // vsubps        %ymm9,%ymm11,%ymm11
19681  .byte  196,195,117,74,203,192              // vblendvps     %ymm12,%ymm11,%ymm1,%ymm1
19682  .byte  196,65,60,194,193,0                 // vcmpeqps      %ymm9,%ymm8,%ymm8
19683  .byte  197,172,94,201                      // vdivps        %ymm1,%ymm10,%ymm1
19684  .byte  196,195,125,74,198,128              // vblendvps     %ymm8,%ymm14,%ymm0,%ymm0
19685  .byte  196,195,117,74,206,128              // vblendvps     %ymm8,%ymm14,%ymm1,%ymm1
19686  .byte  196,98,125,24,5,204,94,0,0          // vbroadcastss  0x5ecc(%rip),%ymm8        # 7a0c <_sk_callback_avx+0x25c>
19687  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
19688  .byte  72,173                              // lods          %ds:(%rsi),%rax
19689  .byte  255,224                             // jmpq          *%rax
19690
19691HIDDEN _sk_hsl_to_rgb_avx
19692.globl _sk_hsl_to_rgb_avx
19693FUNCTION(_sk_hsl_to_rgb_avx)
19694_sk_hsl_to_rgb_avx:
19695  .byte  72,131,236,56                       // sub           $0x38,%rsp
19696  .byte  197,252,17,60,36                    // vmovups       %ymm7,(%rsp)
19697  .byte  197,252,17,116,36,224               // vmovups       %ymm6,-0x20(%rsp)
19698  .byte  197,252,17,108,36,192               // vmovups       %ymm5,-0x40(%rsp)
19699  .byte  197,252,17,100,36,160               // vmovups       %ymm4,-0x60(%rsp)
19700  .byte  197,252,17,92,36,128                // vmovups       %ymm3,-0x80(%rsp)
19701  .byte  197,252,40,225                      // vmovaps       %ymm1,%ymm4
19702  .byte  197,252,40,216                      // vmovaps       %ymm0,%ymm3
19703  .byte  196,98,125,24,5,153,94,0,0          // vbroadcastss  0x5e99(%rip),%ymm8        # 7a14 <_sk_callback_avx+0x264>
19704  .byte  197,60,194,202,2                    // vcmpleps      %ymm2,%ymm8,%ymm9
19705  .byte  197,92,89,210                       // vmulps        %ymm2,%ymm4,%ymm10
19706  .byte  196,65,92,92,218                    // vsubps        %ymm10,%ymm4,%ymm11
19707  .byte  196,67,45,74,203,144                // vblendvps     %ymm9,%ymm11,%ymm10,%ymm9
19708  .byte  197,52,88,210                       // vaddps        %ymm2,%ymm9,%ymm10
19709  .byte  197,108,88,202                      // vaddps        %ymm2,%ymm2,%ymm9
19710  .byte  196,65,52,92,202                    // vsubps        %ymm10,%ymm9,%ymm9
19711  .byte  196,98,125,24,29,115,94,0,0         // vbroadcastss  0x5e73(%rip),%ymm11        # 7a18 <_sk_callback_avx+0x268>
19712  .byte  196,65,100,88,219                   // vaddps        %ymm11,%ymm3,%ymm11
19713  .byte  196,67,125,8,227,1                  // vroundps      $0x1,%ymm11,%ymm12
19714  .byte  196,65,36,92,252                    // vsubps        %ymm12,%ymm11,%ymm15
19715  .byte  196,65,44,92,217                    // vsubps        %ymm9,%ymm10,%ymm11
19716  .byte  196,98,125,24,37,93,94,0,0          // vbroadcastss  0x5e5d(%rip),%ymm12        # 7a20 <_sk_callback_avx+0x270>
19717  .byte  196,193,4,89,196                    // vmulps        %ymm12,%ymm15,%ymm0
19718  .byte  196,98,125,24,45,83,94,0,0          // vbroadcastss  0x5e53(%rip),%ymm13        # 7a24 <_sk_callback_avx+0x274>
19719  .byte  197,20,92,240                       // vsubps        %ymm0,%ymm13,%ymm14
19720  .byte  196,65,36,89,246                    // vmulps        %ymm14,%ymm11,%ymm14
19721  .byte  196,65,52,88,246                    // vaddps        %ymm14,%ymm9,%ymm14
19722  .byte  196,226,125,24,13,52,94,0,0         // vbroadcastss  0x5e34(%rip),%ymm1        # 7a1c <_sk_callback_avx+0x26c>
19723  .byte  196,193,116,194,255,2               // vcmpleps      %ymm15,%ymm1,%ymm7
19724  .byte  196,195,13,74,249,112               // vblendvps     %ymm7,%ymm9,%ymm14,%ymm7
19725  .byte  196,65,60,194,247,2                 // vcmpleps      %ymm15,%ymm8,%ymm14
19726  .byte  196,227,45,74,255,224               // vblendvps     %ymm14,%ymm7,%ymm10,%ymm7
19727  .byte  196,98,125,24,53,31,94,0,0          // vbroadcastss  0x5e1f(%rip),%ymm14        # 7a28 <_sk_callback_avx+0x278>
19728  .byte  196,65,12,194,255,2                 // vcmpleps      %ymm15,%ymm14,%ymm15
19729  .byte  196,193,124,89,195                  // vmulps        %ymm11,%ymm0,%ymm0
19730  .byte  197,180,88,192                      // vaddps        %ymm0,%ymm9,%ymm0
19731  .byte  196,99,125,74,255,240               // vblendvps     %ymm15,%ymm7,%ymm0,%ymm15
19732  .byte  196,227,125,8,195,1                 // vroundps      $0x1,%ymm3,%ymm0
19733  .byte  197,228,92,192                      // vsubps        %ymm0,%ymm3,%ymm0
19734  .byte  196,193,124,89,252                  // vmulps        %ymm12,%ymm0,%ymm7
19735  .byte  197,148,92,247                      // vsubps        %ymm7,%ymm13,%ymm6
19736  .byte  197,164,89,246                      // vmulps        %ymm6,%ymm11,%ymm6
19737  .byte  197,180,88,246                      // vaddps        %ymm6,%ymm9,%ymm6
19738  .byte  197,244,194,232,2                   // vcmpleps      %ymm0,%ymm1,%ymm5
19739  .byte  196,195,77,74,233,80                // vblendvps     %ymm5,%ymm9,%ymm6,%ymm5
19740  .byte  197,188,194,240,2                   // vcmpleps      %ymm0,%ymm8,%ymm6
19741  .byte  196,227,45,74,237,96                // vblendvps     %ymm6,%ymm5,%ymm10,%ymm5
19742  .byte  197,140,194,192,2                   // vcmpleps      %ymm0,%ymm14,%ymm0
19743  .byte  197,164,89,247                      // vmulps        %ymm7,%ymm11,%ymm6
19744  .byte  197,180,88,246                      // vaddps        %ymm6,%ymm9,%ymm6
19745  .byte  196,227,77,74,237,0                 // vblendvps     %ymm0,%ymm5,%ymm6,%ymm5
19746  .byte  196,226,125,24,5,193,93,0,0         // vbroadcastss  0x5dc1(%rip),%ymm0        # 7a2c <_sk_callback_avx+0x27c>
19747  .byte  197,228,88,192                      // vaddps        %ymm0,%ymm3,%ymm0
19748  .byte  196,227,125,8,216,1                 // vroundps      $0x1,%ymm0,%ymm3
19749  .byte  197,252,92,195                      // vsubps        %ymm3,%ymm0,%ymm0
19750  .byte  197,244,194,200,2                   // vcmpleps      %ymm0,%ymm1,%ymm1
19751  .byte  196,193,124,89,220                  // vmulps        %ymm12,%ymm0,%ymm3
19752  .byte  197,148,92,243                      // vsubps        %ymm3,%ymm13,%ymm6
19753  .byte  197,164,89,246                      // vmulps        %ymm6,%ymm11,%ymm6
19754  .byte  197,180,88,246                      // vaddps        %ymm6,%ymm9,%ymm6
19755  .byte  196,195,77,74,201,16                // vblendvps     %ymm1,%ymm9,%ymm6,%ymm1
19756  .byte  197,188,194,240,2                   // vcmpleps      %ymm0,%ymm8,%ymm6
19757  .byte  196,227,45,74,201,96                // vblendvps     %ymm6,%ymm1,%ymm10,%ymm1
19758  .byte  197,140,194,192,2                   // vcmpleps      %ymm0,%ymm14,%ymm0
19759  .byte  197,164,89,219                      // vmulps        %ymm3,%ymm11,%ymm3
19760  .byte  197,180,88,219                      // vaddps        %ymm3,%ymm9,%ymm3
19761  .byte  196,227,101,74,217,0                // vblendvps     %ymm0,%ymm1,%ymm3,%ymm3
19762  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
19763  .byte  197,220,194,224,0                   // vcmpeqps      %ymm0,%ymm4,%ymm4
19764  .byte  196,227,5,74,194,64                 // vblendvps     %ymm4,%ymm2,%ymm15,%ymm0
19765  .byte  196,227,85,74,202,64                // vblendvps     %ymm4,%ymm2,%ymm5,%ymm1
19766  .byte  196,227,101,74,210,64               // vblendvps     %ymm4,%ymm2,%ymm3,%ymm2
19767  .byte  72,173                              // lods          %ds:(%rsi),%rax
19768  .byte  197,252,16,92,36,128                // vmovups       -0x80(%rsp),%ymm3
19769  .byte  197,252,16,100,36,160               // vmovups       -0x60(%rsp),%ymm4
19770  .byte  197,252,16,108,36,192               // vmovups       -0x40(%rsp),%ymm5
19771  .byte  197,252,16,116,36,224               // vmovups       -0x20(%rsp),%ymm6
19772  .byte  197,252,16,60,36                    // vmovups       (%rsp),%ymm7
19773  .byte  72,131,196,56                       // add           $0x38,%rsp
19774  .byte  255,224                             // jmpq          *%rax
19775
19776HIDDEN _sk_scale_1_float_avx
19777.globl _sk_scale_1_float_avx
19778FUNCTION(_sk_scale_1_float_avx)
19779_sk_scale_1_float_avx:
19780  .byte  72,173                              // lods          %ds:(%rsi),%rax
19781  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
19782  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
19783  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
19784  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
19785  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
19786  .byte  72,173                              // lods          %ds:(%rsi),%rax
19787  .byte  255,224                             // jmpq          *%rax
19788
19789HIDDEN _sk_scale_u8_avx
19790.globl _sk_scale_u8_avx
19791FUNCTION(_sk_scale_u8_avx)
19792_sk_scale_u8_avx:
19793  .byte  72,173                              // lods          %ds:(%rsi),%rax
19794  .byte  76,139,24                           // mov           (%rax),%r11
19795  .byte  77,133,192                          // test          %r8,%r8
19796  .byte  117,74                              // jne           1d62 <_sk_scale_u8_avx+0x54>
19797  .byte  196,66,121,48,4,19                  // vpmovzxbw     (%r11,%rdx,1),%xmm8
19798  .byte  197,57,219,5,218,96,0,0             // vpand         0x60da(%rip),%xmm8,%xmm8        # 7e00 <_sk_callback_avx+0x650>
19799  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
19800  .byte  196,65,57,105,201                   // vpunpckhwd    %xmm9,%xmm8,%xmm9
19801  .byte  196,66,121,51,192                   // vpmovzxwd     %xmm8,%xmm8
19802  .byte  196,67,61,24,193,1                  // vinsertf128   $0x1,%xmm9,%ymm8,%ymm8
19803  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
19804  .byte  196,98,125,24,13,231,92,0,0         // vbroadcastss  0x5ce7(%rip),%ymm9        # 7a30 <_sk_callback_avx+0x280>
19805  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
19806  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
19807  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
19808  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
19809  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
19810  .byte  72,173                              // lods          %ds:(%rsi),%rax
19811  .byte  255,224                             // jmpq          *%rax
19812  .byte  69,137,193                          // mov           %r8d,%r9d
19813  .byte  65,128,225,7                        // and           $0x7,%r9b
19814  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
19815  .byte  65,254,201                          // dec           %r9b
19816  .byte  65,128,249,6                        // cmp           $0x6,%r9b
19817  .byte  119,167                             // ja            1d1e <_sk_scale_u8_avx+0x10>
19818  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
19819  .byte  76,141,21,122,0,0,0                 // lea           0x7a(%rip),%r10        # 1dfc <_sk_scale_u8_avx+0xee>
19820  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
19821  .byte  76,1,208                            // add           %r10,%rax
19822  .byte  255,224                             // jmpq          *%rax
19823  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
19824  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
19825  .byte  235,136                             // jmp           1d1e <_sk_scale_u8_avx+0x10>
19826  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
19827  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
19828  .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
19829  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
19830  .byte  197,121,110,200                     // vmovd         %eax,%xmm9
19831  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
19832  .byte  196,67,57,14,193,3                  // vpblendw      $0x3,%xmm9,%xmm8,%xmm8
19833  .byte  233,95,255,255,255                  // jmpq          1d1e <_sk_scale_u8_avx+0x10>
19834  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
19835  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
19836  .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
19837  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
19838  .byte  197,57,196,192,5                    // vpinsrw       $0x5,%eax,%xmm8,%xmm8
19839  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
19840  .byte  197,57,196,192,4                    // vpinsrw       $0x4,%eax,%xmm8,%xmm8
19841  .byte  196,65,121,110,12,19                // vmovd         (%r11,%rdx,1),%xmm9
19842  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
19843  .byte  196,67,49,14,192,240                // vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
19844  .byte  233,35,255,255,255                  // jmpq          1d1e <_sk_scale_u8_avx+0x10>
19845  .byte  144                                 // nop
19846  .byte  143                                 // (bad)
19847  .byte  255                                 // (bad)
19848  .byte  255                                 // (bad)
19849  .byte  255,170,255,255,255,154             // ljmp          *-0x65000001(%rdx)
19850  .byte  255                                 // (bad)
19851  .byte  255                                 // (bad)
19852  .byte  255                                 // (bad)
19853  .byte  233,255,255,255,222                 // jmpq          ffffffffdf001e0c <_sk_callback_avx+0xffffffffdeffa65c>
19854  .byte  255                                 // (bad)
19855  .byte  255                                 // (bad)
19856  .byte  255,211                             // callq         *%rbx
19857  .byte  255                                 // (bad)
19858  .byte  255                                 // (bad)
19859  .byte  255,195                             // inc           %ebx
19860  .byte  255                                 // (bad)
19861  .byte  255                                 // (bad)
19862  .byte  255                                 // .byte         0xff
19863
19864HIDDEN _sk_lerp_1_float_avx
19865.globl _sk_lerp_1_float_avx
19866FUNCTION(_sk_lerp_1_float_avx)
19867_sk_lerp_1_float_avx:
19868  .byte  72,173                              // lods          %ds:(%rsi),%rax
19869  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
19870  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
19871  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
19872  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
19873  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
19874  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
19875  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
19876  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
19877  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
19878  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
19879  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
19880  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
19881  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
19882  .byte  72,173                              // lods          %ds:(%rsi),%rax
19883  .byte  255,224                             // jmpq          *%rax
19884
19885HIDDEN _sk_lerp_u8_avx
19886.globl _sk_lerp_u8_avx
19887FUNCTION(_sk_lerp_u8_avx)
19888_sk_lerp_u8_avx:
19889  .byte  72,173                              // lods          %ds:(%rsi),%rax
19890  .byte  76,139,24                           // mov           (%rax),%r11
19891  .byte  77,133,192                          // test          %r8,%r8
19892  .byte  117,110                             // jne           1ecf <_sk_lerp_u8_avx+0x78>
19893  .byte  196,66,121,48,4,19                  // vpmovzxbw     (%r11,%rdx,1),%xmm8
19894  .byte  197,57,219,5,161,95,0,0             // vpand         0x5fa1(%rip),%xmm8,%xmm8        # 7e10 <_sk_callback_avx+0x660>
19895  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
19896  .byte  196,65,57,105,201                   // vpunpckhwd    %xmm9,%xmm8,%xmm9
19897  .byte  196,66,121,51,192                   // vpmovzxwd     %xmm8,%xmm8
19898  .byte  196,67,61,24,193,1                  // vinsertf128   $0x1,%xmm9,%ymm8,%ymm8
19899  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
19900  .byte  196,98,125,24,13,162,91,0,0         // vbroadcastss  0x5ba2(%rip),%ymm9        # 7a34 <_sk_callback_avx+0x284>
19901  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
19902  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
19903  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
19904  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
19905  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
19906  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
19907  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
19908  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
19909  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
19910  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
19911  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
19912  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
19913  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
19914  .byte  72,173                              // lods          %ds:(%rsi),%rax
19915  .byte  255,224                             // jmpq          *%rax
19916  .byte  69,137,193                          // mov           %r8d,%r9d
19917  .byte  65,128,225,7                        // and           $0x7,%r9b
19918  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
19919  .byte  65,254,201                          // dec           %r9b
19920  .byte  65,128,249,6                        // cmp           $0x6,%r9b
19921  .byte  119,131                             // ja            1e67 <_sk_lerp_u8_avx+0x10>
19922  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
19923  .byte  76,141,21,125,0,0,0                 // lea           0x7d(%rip),%r10        # 1f6c <_sk_lerp_u8_avx+0x115>
19924  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
19925  .byte  76,1,208                            // add           %r10,%rax
19926  .byte  255,224                             // jmpq          *%rax
19927  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
19928  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
19929  .byte  233,97,255,255,255                  // jmpq          1e67 <_sk_lerp_u8_avx+0x10>
19930  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
19931  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
19932  .byte  197,57,196,192,2                    // vpinsrw       $0x2,%eax,%xmm8,%xmm8
19933  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
19934  .byte  197,121,110,200                     // vmovd         %eax,%xmm9
19935  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
19936  .byte  196,67,57,14,193,3                  // vpblendw      $0x3,%xmm9,%xmm8,%xmm8
19937  .byte  233,56,255,255,255                  // jmpq          1e67 <_sk_lerp_u8_avx+0x10>
19938  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
19939  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
19940  .byte  197,57,196,192,6                    // vpinsrw       $0x6,%eax,%xmm8,%xmm8
19941  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
19942  .byte  197,57,196,192,5                    // vpinsrw       $0x5,%eax,%xmm8,%xmm8
19943  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
19944  .byte  197,57,196,192,4                    // vpinsrw       $0x4,%eax,%xmm8,%xmm8
19945  .byte  196,65,121,110,12,19                // vmovd         (%r11,%rdx,1),%xmm9
19946  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
19947  .byte  196,67,49,14,192,240                // vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
19948  .byte  233,252,254,255,255                 // jmpq          1e67 <_sk_lerp_u8_avx+0x10>
19949  .byte  144                                 // nop
19950  .byte  140,255                             // mov           %?,%edi
19951  .byte  255                                 // (bad)
19952  .byte  255,170,255,255,255,154             // ljmp          *-0x65000001(%rdx)
19953  .byte  255                                 // (bad)
19954  .byte  255                                 // (bad)
19955  .byte  255                                 // (bad)
19956  .byte  233,255,255,255,222                 // jmpq          ffffffffdf001f7c <_sk_callback_avx+0xffffffffdeffa7cc>
19957  .byte  255                                 // (bad)
19958  .byte  255                                 // (bad)
19959  .byte  255,211                             // callq         *%rbx
19960  .byte  255                                 // (bad)
19961  .byte  255                                 // (bad)
19962  .byte  255,195                             // inc           %ebx
19963  .byte  255                                 // (bad)
19964  .byte  255                                 // (bad)
19965  .byte  255                                 // .byte         0xff
19966
19967HIDDEN _sk_lerp_565_avx
19968.globl _sk_lerp_565_avx
19969FUNCTION(_sk_lerp_565_avx)
19970_sk_lerp_565_avx:
19971  .byte  72,173                              // lods          %ds:(%rsi),%rax
19972  .byte  76,139,24                           // mov           (%rax),%r11
19973  .byte  77,133,192                          // test          %r8,%r8
19974  .byte  15,133,208,0,0,0                    // jne           2066 <_sk_lerp_565_avx+0xde>
19975  .byte  196,65,122,111,4,83                 // vmovdqu       (%r11,%rdx,2),%xmm8
19976  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
19977  .byte  196,65,57,105,201                   // vpunpckhwd    %xmm9,%xmm8,%xmm9
19978  .byte  196,66,121,51,192                   // vpmovzxwd     %xmm8,%xmm8
19979  .byte  196,67,61,24,193,1                  // vinsertf128   $0x1,%xmm9,%ymm8,%ymm8
19980  .byte  196,98,125,24,13,126,90,0,0         // vbroadcastss  0x5a7e(%rip),%ymm9        # 7a38 <_sk_callback_avx+0x288>
19981  .byte  196,65,60,84,201                    // vandps        %ymm9,%ymm8,%ymm9
19982  .byte  196,65,124,91,201                   // vcvtdq2ps     %ymm9,%ymm9
19983  .byte  196,98,125,24,21,111,90,0,0         // vbroadcastss  0x5a6f(%rip),%ymm10        # 7a3c <_sk_callback_avx+0x28c>
19984  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
19985  .byte  196,98,125,24,21,101,90,0,0         // vbroadcastss  0x5a65(%rip),%ymm10        # 7a40 <_sk_callback_avx+0x290>
19986  .byte  196,65,60,84,210                    // vandps        %ymm10,%ymm8,%ymm10
19987  .byte  196,65,124,91,210                   // vcvtdq2ps     %ymm10,%ymm10
19988  .byte  196,98,125,24,29,86,90,0,0          // vbroadcastss  0x5a56(%rip),%ymm11        # 7a44 <_sk_callback_avx+0x294>
19989  .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
19990  .byte  196,98,125,24,29,76,90,0,0          // vbroadcastss  0x5a4c(%rip),%ymm11        # 7a48 <_sk_callback_avx+0x298>
19991  .byte  196,65,60,84,195                    // vandps        %ymm11,%ymm8,%ymm8
19992  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
19993  .byte  196,98,125,24,29,61,90,0,0          // vbroadcastss  0x5a3d(%rip),%ymm11        # 7a4c <_sk_callback_avx+0x29c>
19994  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
19995  .byte  197,252,92,196                      // vsubps        %ymm4,%ymm0,%ymm0
19996  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
19997  .byte  197,252,88,196                      // vaddps        %ymm4,%ymm0,%ymm0
19998  .byte  197,244,92,205                      // vsubps        %ymm5,%ymm1,%ymm1
19999  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
20000  .byte  197,244,88,205                      // vaddps        %ymm5,%ymm1,%ymm1
20001  .byte  197,236,92,214                      // vsubps        %ymm6,%ymm2,%ymm2
20002  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
20003  .byte  197,236,88,214                      // vaddps        %ymm6,%ymm2,%ymm2
20004  .byte  197,228,92,223                      // vsubps        %ymm7,%ymm3,%ymm3
20005  .byte  196,65,100,89,201                   // vmulps        %ymm9,%ymm3,%ymm9
20006  .byte  197,52,88,207                       // vaddps        %ymm7,%ymm9,%ymm9
20007  .byte  196,65,100,89,210                   // vmulps        %ymm10,%ymm3,%ymm10
20008  .byte  197,44,88,215                       // vaddps        %ymm7,%ymm10,%ymm10
20009  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
20010  .byte  197,228,88,223                      // vaddps        %ymm7,%ymm3,%ymm3
20011  .byte  197,172,95,219                      // vmaxps        %ymm3,%ymm10,%ymm3
20012  .byte  197,180,95,219                      // vmaxps        %ymm3,%ymm9,%ymm3
20013  .byte  72,173                              // lods          %ds:(%rsi),%rax
20014  .byte  255,224                             // jmpq          *%rax
20015  .byte  69,137,193                          // mov           %r8d,%r9d
20016  .byte  65,128,225,7                        // and           $0x7,%r9b
20017  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
20018  .byte  65,254,201                          // dec           %r9b
20019  .byte  65,128,249,6                        // cmp           $0x6,%r9b
20020  .byte  15,135,29,255,255,255               // ja            1f9c <_sk_lerp_565_avx+0x14>
20021  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
20022  .byte  76,141,21,102,0,0,0                 // lea           0x66(%rip),%r10        # 20f0 <_sk_lerp_565_avx+0x168>
20023  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
20024  .byte  76,1,208                            // add           %r10,%rax
20025  .byte  255,224                             // jmpq          *%rax
20026  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
20027  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
20028  .byte  233,251,254,255,255                 // jmpq          1f9c <_sk_lerp_565_avx+0x14>
20029  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
20030  .byte  196,65,57,196,68,83,4,2             // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm8,%xmm8
20031  .byte  196,65,121,110,12,83                // vmovd         (%r11,%rdx,2),%xmm9
20032  .byte  196,67,57,14,193,3                  // vpblendw      $0x3,%xmm9,%xmm8,%xmm8
20033  .byte  233,221,254,255,255                 // jmpq          1f9c <_sk_lerp_565_avx+0x14>
20034  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
20035  .byte  196,65,57,196,68,83,12,6            // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm8,%xmm8
20036  .byte  196,65,57,196,68,83,10,5            // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm8,%xmm8
20037  .byte  196,65,57,196,68,83,8,4             // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm8,%xmm8
20038  .byte  196,65,122,126,12,83                // vmovq         (%r11,%rdx,2),%xmm9
20039  .byte  196,67,49,14,192,240                // vpblendw      $0xf0,%xmm8,%xmm9,%xmm8
20040  .byte  233,175,254,255,255                 // jmpq          1f9c <_sk_lerp_565_avx+0x14>
20041  .byte  15,31,0                             // nopl          (%rax)
20042  .byte  163,255,255,255,190,255,255,255,177 // movabs        %eax,0xb1ffffffbeffffff
20043  .byte  255                                 // (bad)
20044  .byte  255                                 // (bad)
20045  .byte  255                                 // (bad)
20046  .byte  236                                 // in            (%dx),%al
20047  .byte  255                                 // (bad)
20048  .byte  255                                 // (bad)
20049  .byte  255,228                             // jmpq          *%rsp
20050  .byte  255                                 // (bad)
20051  .byte  255                                 // (bad)
20052  .byte  255                                 // (bad)
20053  .byte  220,255                             // fdivr         %st,%st(7)
20054  .byte  255                                 // (bad)
20055  .byte  255,207                             // dec           %edi
20056  .byte  255                                 // (bad)
20057  .byte  255                                 // (bad)
20058  .byte  255                                 // .byte         0xff
20059
20060HIDDEN _sk_load_tables_avx
20061.globl _sk_load_tables_avx
20062FUNCTION(_sk_load_tables_avx)
20063_sk_load_tables_avx:
20064  .byte  83                                  // push          %rbx
20065  .byte  197,252,17,124,36,208               // vmovups       %ymm7,-0x30(%rsp)
20066  .byte  73,137,201                          // mov           %rcx,%r9
20067  .byte  72,173                              // lods          %ds:(%rsi),%rax
20068  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
20069  .byte  76,3,16                             // add           (%rax),%r10
20070  .byte  77,133,192                          // test          %r8,%r8
20071  .byte  15,133,248,1,0,0                    // jne           2324 <_sk_load_tables_avx+0x218>
20072  .byte  196,65,124,16,18                    // vmovups       (%r10),%ymm10
20073  .byte  197,124,40,13,135,94,0,0            // vmovaps       0x5e87(%rip),%ymm9        # 7fc0 <_sk_callback_avx+0x810>
20074  .byte  196,193,44,84,201                   // vandps        %ymm9,%ymm10,%ymm1
20075  .byte  196,227,125,25,200,1                // vextractf128  $0x1,%ymm1,%xmm0
20076  .byte  196,193,249,126,195                 // vmovq         %xmm0,%r11
20077  .byte  69,137,218                          // mov           %r11d,%r10d
20078  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
20079  .byte  196,161,122,16,20,147               // vmovss        (%rbx,%r10,4),%xmm2
20080  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
20081  .byte  73,193,235,32                       // shr           $0x20,%r11
20082  .byte  196,163,105,33,4,155,16             // vinsertps     $0x10,(%rbx,%r11,4),%xmm2,%xmm0
20083  .byte  68,137,209                          // mov           %r10d,%ecx
20084  .byte  196,227,121,33,4,139,32             // vinsertps     $0x20,(%rbx,%rcx,4),%xmm0,%xmm0
20085  .byte  196,193,249,126,203                 // vmovq         %xmm1,%r11
20086  .byte  73,193,234,32                       // shr           $0x20,%r10
20087  .byte  196,35,121,33,44,147,48             // vinsertps     $0x30,(%rbx,%r10,4),%xmm0,%xmm13
20088  .byte  68,137,217                          // mov           %r11d,%ecx
20089  .byte  197,250,16,20,139                   // vmovss        (%rbx,%rcx,4),%xmm2
20090  .byte  196,227,249,22,201,1                // vpextrq       $0x1,%xmm1,%rcx
20091  .byte  73,193,235,32                       // shr           $0x20,%r11
20092  .byte  196,163,105,33,12,155,16            // vinsertps     $0x10,(%rbx,%r11,4),%xmm2,%xmm1
20093  .byte  65,137,202                          // mov           %ecx,%r10d
20094  .byte  72,193,233,32                       // shr           $0x20,%rcx
20095  .byte  196,163,113,33,12,147,32            // vinsertps     $0x20,(%rbx,%r10,4),%xmm1,%xmm1
20096  .byte  76,139,80,16                        // mov           0x10(%rax),%r10
20097  .byte  196,99,113,33,36,139,48             // vinsertps     $0x30,(%rbx,%rcx,4),%xmm1,%xmm12
20098  .byte  196,193,105,114,210,8               // vpsrld        $0x8,%xmm10,%xmm2
20099  .byte  196,67,125,25,208,1                 // vextractf128  $0x1,%ymm10,%xmm8
20100  .byte  196,193,121,114,208,8               // vpsrld        $0x8,%xmm8,%xmm0
20101  .byte  196,227,109,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm2,%ymm0
20102  .byte  196,193,124,84,209                  // vandps        %ymm9,%ymm0,%ymm2
20103  .byte  196,227,125,25,208,1                // vextractf128  $0x1,%ymm2,%xmm0
20104  .byte  196,225,249,126,193                 // vmovq         %xmm0,%rcx
20105  .byte  137,203                             // mov           %ecx,%ebx
20106  .byte  196,193,122,16,12,154               // vmovss        (%r10,%rbx,4),%xmm1
20107  .byte  196,227,249,22,195,1                // vpextrq       $0x1,%xmm0,%rbx
20108  .byte  72,193,233,32                       // shr           $0x20,%rcx
20109  .byte  196,67,113,33,52,138,16             // vinsertps     $0x10,(%r10,%rcx,4),%xmm1,%xmm14
20110  .byte  137,217                             // mov           %ebx,%ecx
20111  .byte  196,193,122,16,28,138               // vmovss        (%r10,%rcx,4),%xmm3
20112  .byte  196,225,249,126,209                 // vmovq         %xmm2,%rcx
20113  .byte  72,193,235,32                       // shr           $0x20,%rbx
20114  .byte  196,193,122,16,12,154               // vmovss        (%r10,%rbx,4),%xmm1
20115  .byte  137,203                             // mov           %ecx,%ebx
20116  .byte  196,193,122,16,4,154                // vmovss        (%r10,%rbx,4),%xmm0
20117  .byte  196,227,249,22,211,1                // vpextrq       $0x1,%xmm2,%rbx
20118  .byte  72,193,233,32                       // shr           $0x20,%rcx
20119  .byte  196,67,121,33,28,138,16             // vinsertps     $0x10,(%r10,%rcx,4),%xmm0,%xmm11
20120  .byte  137,217                             // mov           %ebx,%ecx
20121  .byte  196,65,122,16,60,138                // vmovss        (%r10,%rcx,4),%xmm15
20122  .byte  196,195,29,24,197,1                 // vinsertf128   $0x1,%xmm13,%ymm12,%ymm0
20123  .byte  72,193,235,32                       // shr           $0x20,%rbx
20124  .byte  196,227,9,33,219,32                 // vinsertps     $0x20,%xmm3,%xmm14,%xmm3
20125  .byte  196,227,97,33,249,48                // vinsertps     $0x30,%xmm1,%xmm3,%xmm7
20126  .byte  196,65,122,16,52,154                // vmovss        (%r10,%rbx,4),%xmm14
20127  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
20128  .byte  196,193,97,114,210,16               // vpsrld        $0x10,%xmm10,%xmm3
20129  .byte  196,193,105,114,208,16              // vpsrld        $0x10,%xmm8,%xmm2
20130  .byte  196,227,101,24,210,1                // vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
20131  .byte  196,65,108,84,201                   // vandps        %ymm9,%ymm2,%ymm9
20132  .byte  196,99,125,25,202,1                 // vextractf128  $0x1,%ymm9,%xmm2
20133  .byte  196,225,249,126,209                 // vmovq         %xmm2,%rcx
20134  .byte  137,203                             // mov           %ecx,%ebx
20135  .byte  197,250,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm3
20136  .byte  196,227,249,22,211,1                // vpextrq       $0x1,%xmm2,%rbx
20137  .byte  72,193,233,32                       // shr           $0x20,%rcx
20138  .byte  196,99,97,33,36,136,16              // vinsertps     $0x10,(%rax,%rcx,4),%xmm3,%xmm12
20139  .byte  137,217                             // mov           %ebx,%ecx
20140  .byte  197,250,16,28,136                   // vmovss        (%rax,%rcx,4),%xmm3
20141  .byte  196,97,249,126,201                  // vmovq         %xmm9,%rcx
20142  .byte  72,193,235,32                       // shr           $0x20,%rbx
20143  .byte  197,250,16,20,152                   // vmovss        (%rax,%rbx,4),%xmm2
20144  .byte  137,203                             // mov           %ecx,%ebx
20145  .byte  197,250,16,12,152                   // vmovss        (%rax,%rbx,4),%xmm1
20146  .byte  196,99,249,22,203,1                 // vpextrq       $0x1,%xmm9,%rbx
20147  .byte  72,193,233,32                       // shr           $0x20,%rcx
20148  .byte  196,99,113,33,12,136,16             // vinsertps     $0x10,(%rax,%rcx,4),%xmm1,%xmm9
20149  .byte  137,217                             // mov           %ebx,%ecx
20150  .byte  197,122,16,44,136                   // vmovss        (%rax,%rcx,4),%xmm13
20151  .byte  196,195,33,33,207,32                // vinsertps     $0x20,%xmm15,%xmm11,%xmm1
20152  .byte  72,193,235,32                       // shr           $0x20,%rbx
20153  .byte  197,122,16,28,152                   // vmovss        (%rax,%rbx,4),%xmm11
20154  .byte  196,195,113,33,206,48               // vinsertps     $0x30,%xmm14,%xmm1,%xmm1
20155  .byte  196,227,117,24,207,1                // vinsertf128   $0x1,%xmm7,%ymm1,%ymm1
20156  .byte  196,227,25,33,219,32                // vinsertps     $0x20,%xmm3,%xmm12,%xmm3
20157  .byte  196,227,97,33,210,48                // vinsertps     $0x30,%xmm2,%xmm3,%xmm2
20158  .byte  196,195,49,33,221,32                // vinsertps     $0x20,%xmm13,%xmm9,%xmm3
20159  .byte  196,195,97,33,219,48                // vinsertps     $0x30,%xmm11,%xmm3,%xmm3
20160  .byte  196,227,101,24,210,1                // vinsertf128   $0x1,%xmm2,%ymm3,%ymm2
20161  .byte  196,193,97,114,210,24               // vpsrld        $0x18,%xmm10,%xmm3
20162  .byte  196,193,65,114,208,24               // vpsrld        $0x18,%xmm8,%xmm7
20163  .byte  196,227,101,24,223,1                // vinsertf128   $0x1,%xmm7,%ymm3,%ymm3
20164  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
20165  .byte  196,226,125,24,61,62,87,0,0         // vbroadcastss  0x573e(%rip),%ymm7        # 7a50 <_sk_callback_avx+0x2a0>
20166  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
20167  .byte  72,173                              // lods          %ds:(%rsi),%rax
20168  .byte  76,137,201                          // mov           %r9,%rcx
20169  .byte  197,252,16,124,36,208               // vmovups       -0x30(%rsp),%ymm7
20170  .byte  91                                  // pop           %rbx
20171  .byte  255,224                             // jmpq          *%rax
20172  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
20173  .byte  68,41,193                           // sub           %r8d,%ecx
20174  .byte  192,225,3                           // shl           $0x3,%cl
20175  .byte  73,199,195,255,255,255,255          // mov           $0xffffffffffffffff,%r11
20176  .byte  73,211,235                          // shr           %cl,%r11
20177  .byte  196,193,249,110,195                 // vmovq         %r11,%xmm0
20178  .byte  196,226,121,48,192                  // vpmovzxbw     %xmm0,%xmm0
20179  .byte  196,226,121,0,13,212,90,0,0         // vpshufb       0x5ad4(%rip),%xmm0,%xmm1        # 7e20 <_sk_callback_avx+0x670>
20180  .byte  196,226,121,33,201                  // vpmovsxbd     %xmm1,%xmm1
20181  .byte  196,226,121,0,5,214,90,0,0          // vpshufb       0x5ad6(%rip),%xmm0,%xmm0        # 7e30 <_sk_callback_avx+0x680>
20182  .byte  196,226,121,33,192                  // vpmovsxbd     %xmm0,%xmm0
20183  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
20184  .byte  196,66,125,44,18                    // vmaskmovps    (%r10),%ymm0,%ymm10
20185  .byte  233,194,253,255,255                 // jmpq          2131 <_sk_load_tables_avx+0x25>
20186
20187HIDDEN _sk_load_tables_u16_be_avx
20188.globl _sk_load_tables_u16_be_avx
20189FUNCTION(_sk_load_tables_u16_be_avx)
20190_sk_load_tables_u16_be_avx:
20191  .byte  72,173                              // lods          %ds:(%rsi),%rax
20192  .byte  76,139,8                            // mov           (%rax),%r9
20193  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
20194  .byte  77,133,192                          // test          %r8,%r8
20195  .byte  197,252,17,124,36,200               // vmovups       %ymm7,-0x38(%rsp)
20196  .byte  15,133,84,2,0,0                     // jne           25df <_sk_load_tables_u16_be_avx+0x270>
20197  .byte  196,1,121,16,4,81                   // vmovupd       (%r9,%r10,2),%xmm8
20198  .byte  196,129,121,16,84,81,16             // vmovupd       0x10(%r9,%r10,2),%xmm2
20199  .byte  196,129,121,16,92,81,32             // vmovupd       0x20(%r9,%r10,2),%xmm3
20200  .byte  196,1,122,111,76,81,48              // vmovdqu       0x30(%r9,%r10,2),%xmm9
20201  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
20202  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
20203  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
20204  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
20205  .byte  197,121,97,202                      // vpunpcklwd    %xmm2,%xmm0,%xmm9
20206  .byte  197,121,105,194                     // vpunpckhwd    %xmm2,%xmm0,%xmm8
20207  .byte  197,241,97,195                      // vpunpcklwd    %xmm3,%xmm1,%xmm0
20208  .byte  197,113,105,219                     // vpunpckhwd    %xmm3,%xmm1,%xmm11
20209  .byte  197,177,108,200                     // vpunpcklqdq   %xmm0,%xmm9,%xmm1
20210  .byte  197,49,109,224                      // vpunpckhqdq   %xmm0,%xmm9,%xmm12
20211  .byte  197,121,111,21,104,90,0,0           // vmovdqa       0x5a68(%rip),%xmm10        # 7e40 <_sk_callback_avx+0x690>
20212  .byte  196,193,113,219,202                 // vpand         %xmm10,%xmm1,%xmm1
20213  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
20214  .byte  196,193,113,105,209                 // vpunpckhwd    %xmm9,%xmm1,%xmm2
20215  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
20216  .byte  69,137,202                          // mov           %r9d,%r10d
20217  .byte  76,139,88,8                         // mov           0x8(%rax),%r11
20218  .byte  196,129,122,16,28,147               // vmovss        (%r11,%r10,4),%xmm3
20219  .byte  196,195,249,22,210,1                // vpextrq       $0x1,%xmm2,%r10
20220  .byte  73,193,233,32                       // shr           $0x20,%r9
20221  .byte  196,3,97,33,44,139,16               // vinsertps     $0x10,(%r11,%r9,4),%xmm3,%xmm13
20222  .byte  69,137,209                          // mov           %r10d,%r9d
20223  .byte  73,193,234,32                       // shr           $0x20,%r10
20224  .byte  196,226,121,51,201                  // vpmovzxwd     %xmm1,%xmm1
20225  .byte  196,129,122,16,28,139               // vmovss        (%r11,%r9,4),%xmm3
20226  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
20227  .byte  196,129,122,16,4,147                // vmovss        (%r11,%r10,4),%xmm0
20228  .byte  69,137,202                          // mov           %r9d,%r10d
20229  .byte  73,193,233,30                       // shr           $0x1e,%r9
20230  .byte  196,129,122,16,20,147               // vmovss        (%r11,%r10,4),%xmm2
20231  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
20232  .byte  196,131,105,33,12,11,16             // vinsertps     $0x10,(%r11,%r9,1),%xmm2,%xmm1
20233  .byte  69,137,209                          // mov           %r10d,%r9d
20234  .byte  73,193,234,30                       // shr           $0x1e,%r10
20235  .byte  196,129,122,16,20,139               // vmovss        (%r11,%r9,4),%xmm2
20236  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
20237  .byte  196,227,17,33,219,32                // vinsertps     $0x20,%xmm3,%xmm13,%xmm3
20238  .byte  196,99,97,33,232,48                 // vinsertps     $0x30,%xmm0,%xmm3,%xmm13
20239  .byte  196,99,113,33,242,32                // vinsertps     $0x20,%xmm2,%xmm1,%xmm14
20240  .byte  196,1,122,16,60,19                  // vmovss        (%r11,%r10,1),%xmm15
20241  .byte  196,193,25,219,210                  // vpand         %xmm10,%xmm12,%xmm2
20242  .byte  196,193,105,105,193                 // vpunpckhwd    %xmm9,%xmm2,%xmm0
20243  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
20244  .byte  69,137,211                          // mov           %r10d,%r11d
20245  .byte  196,129,122,16,12,153               // vmovss        (%r9,%r11,4),%xmm1
20246  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
20247  .byte  73,193,234,32                       // shr           $0x20,%r10
20248  .byte  196,3,113,33,36,145,16              // vinsertps     $0x10,(%r9,%r10,4),%xmm1,%xmm12
20249  .byte  69,137,218                          // mov           %r11d,%r10d
20250  .byte  73,193,235,32                       // shr           $0x20,%r11
20251  .byte  196,226,121,51,194                  // vpmovzxwd     %xmm2,%xmm0
20252  .byte  196,129,122,16,20,145               // vmovss        (%r9,%r10,4),%xmm2
20253  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
20254  .byte  196,129,122,16,28,153               // vmovss        (%r9,%r11,4),%xmm3
20255  .byte  69,137,211                          // mov           %r10d,%r11d
20256  .byte  73,193,234,30                       // shr           $0x1e,%r10
20257  .byte  196,129,122,16,12,153               // vmovss        (%r9,%r11,4),%xmm1
20258  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
20259  .byte  196,131,113,33,12,17,16             // vinsertps     $0x10,(%r9,%r10,1),%xmm1,%xmm1
20260  .byte  69,137,218                          // mov           %r11d,%r10d
20261  .byte  196,129,122,16,60,145               // vmovss        (%r9,%r10,4),%xmm7
20262  .byte  196,195,9,33,199,48                 // vinsertps     $0x30,%xmm15,%xmm14,%xmm0
20263  .byte  196,65,57,108,243                   // vpunpcklqdq   %xmm11,%xmm8,%xmm14
20264  .byte  196,195,125,24,197,1                // vinsertf128   $0x1,%xmm13,%ymm0,%ymm0
20265  .byte  73,193,235,30                       // shr           $0x1e,%r11
20266  .byte  196,227,25,33,210,32                // vinsertps     $0x20,%xmm2,%xmm12,%xmm2
20267  .byte  196,227,105,33,219,48               // vinsertps     $0x30,%xmm3,%xmm2,%xmm3
20268  .byte  196,99,113,33,239,32                // vinsertps     $0x20,%xmm7,%xmm1,%xmm13
20269  .byte  196,1,122,16,60,25                  // vmovss        (%r9,%r11,1),%xmm15
20270  .byte  76,139,80,24                        // mov           0x18(%rax),%r10
20271  .byte  196,193,9,219,250                   // vpand         %xmm10,%xmm14,%xmm7
20272  .byte  196,193,65,105,209                  // vpunpckhwd    %xmm9,%xmm7,%xmm2
20273  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
20274  .byte  68,137,200                          // mov           %r9d,%eax
20275  .byte  196,193,122,16,12,130               // vmovss        (%r10,%rax,4),%xmm1
20276  .byte  196,227,249,22,208,1                // vpextrq       $0x1,%xmm2,%rax
20277  .byte  73,193,233,32                       // shr           $0x20,%r9
20278  .byte  196,3,113,33,20,138,16              // vinsertps     $0x10,(%r10,%r9,4),%xmm1,%xmm10
20279  .byte  65,137,193                          // mov           %eax,%r9d
20280  .byte  72,193,232,32                       // shr           $0x20,%rax
20281  .byte  196,226,121,51,207                  // vpmovzxwd     %xmm7,%xmm1
20282  .byte  196,1,122,16,52,138                 // vmovss        (%r10,%r9,4),%xmm14
20283  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
20284  .byte  196,65,122,16,36,130                // vmovss        (%r10,%rax,4),%xmm12
20285  .byte  68,137,200                          // mov           %r9d,%eax
20286  .byte  73,193,233,30                       // shr           $0x1e,%r9
20287  .byte  196,193,122,16,20,130               // vmovss        (%r10,%rax,4),%xmm2
20288  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
20289  .byte  196,131,105,33,20,10,16             // vinsertps     $0x10,(%r10,%r9,1),%xmm2,%xmm2
20290  .byte  68,137,216                          // mov           %r11d,%eax
20291  .byte  196,193,122,16,60,130               // vmovss        (%r10,%rax,4),%xmm7
20292  .byte  196,195,17,33,207,48                // vinsertps     $0x30,%xmm15,%xmm13,%xmm1
20293  .byte  73,193,235,30                       // shr           $0x1e,%r11
20294  .byte  196,1,122,16,44,26                  // vmovss        (%r10,%r11,1),%xmm13
20295  .byte  196,227,117,24,203,1                // vinsertf128   $0x1,%xmm3,%ymm1,%ymm1
20296  .byte  196,195,41,33,222,32                // vinsertps     $0x20,%xmm14,%xmm10,%xmm3
20297  .byte  196,195,97,33,220,48                // vinsertps     $0x30,%xmm12,%xmm3,%xmm3
20298  .byte  196,227,105,33,215,32               // vinsertps     $0x20,%xmm7,%xmm2,%xmm2
20299  .byte  196,195,105,33,213,48               // vinsertps     $0x30,%xmm13,%xmm2,%xmm2
20300  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
20301  .byte  196,193,57,109,219                  // vpunpckhqdq   %xmm11,%xmm8,%xmm3
20302  .byte  197,193,113,243,8                   // vpsllw        $0x8,%xmm3,%xmm7
20303  .byte  197,225,113,211,8                   // vpsrlw        $0x8,%xmm3,%xmm3
20304  .byte  197,193,235,219                     // vpor          %xmm3,%xmm7,%xmm3
20305  .byte  196,193,97,105,249                  // vpunpckhwd    %xmm9,%xmm3,%xmm7
20306  .byte  196,226,121,51,219                  // vpmovzxwd     %xmm3,%xmm3
20307  .byte  196,227,101,24,223,1                // vinsertf128   $0x1,%xmm7,%ymm3,%ymm3
20308  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
20309  .byte  196,226,125,24,61,131,84,0,0        // vbroadcastss  0x5483(%rip),%ymm7        # 7a54 <_sk_callback_avx+0x2a4>
20310  .byte  197,228,89,223                      // vmulps        %ymm7,%ymm3,%ymm3
20311  .byte  72,173                              // lods          %ds:(%rsi),%rax
20312  .byte  197,252,16,124,36,200               // vmovups       -0x38(%rsp),%ymm7
20313  .byte  255,224                             // jmpq          *%rax
20314  .byte  196,1,123,16,4,81                   // vmovsd        (%r9,%r10,2),%xmm8
20315  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
20316  .byte  73,131,248,1                        // cmp           $0x1,%r8
20317  .byte  116,85                              // je            2645 <_sk_load_tables_u16_be_avx+0x2d6>
20318  .byte  196,1,57,22,68,81,8                 // vmovhpd       0x8(%r9,%r10,2),%xmm8,%xmm8
20319  .byte  73,131,248,3                        // cmp           $0x3,%r8
20320  .byte  114,72                              // jb            2645 <_sk_load_tables_u16_be_avx+0x2d6>
20321  .byte  196,129,123,16,84,81,16             // vmovsd        0x10(%r9,%r10,2),%xmm2
20322  .byte  73,131,248,3                        // cmp           $0x3,%r8
20323  .byte  116,72                              // je            2652 <_sk_load_tables_u16_be_avx+0x2e3>
20324  .byte  196,129,105,22,84,81,24             // vmovhpd       0x18(%r9,%r10,2),%xmm2,%xmm2
20325  .byte  73,131,248,5                        // cmp           $0x5,%r8
20326  .byte  114,59                              // jb            2652 <_sk_load_tables_u16_be_avx+0x2e3>
20327  .byte  196,129,123,16,92,81,32             // vmovsd        0x20(%r9,%r10,2),%xmm3
20328  .byte  73,131,248,5                        // cmp           $0x5,%r8
20329  .byte  15,132,126,253,255,255              // je            23a6 <_sk_load_tables_u16_be_avx+0x37>
20330  .byte  196,129,97,22,92,81,40              // vmovhpd       0x28(%r9,%r10,2),%xmm3,%xmm3
20331  .byte  73,131,248,7                        // cmp           $0x7,%r8
20332  .byte  15,130,109,253,255,255              // jb            23a6 <_sk_load_tables_u16_be_avx+0x37>
20333  .byte  196,1,122,126,76,81,48              // vmovq         0x30(%r9,%r10,2),%xmm9
20334  .byte  233,97,253,255,255                  // jmpq          23a6 <_sk_load_tables_u16_be_avx+0x37>
20335  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
20336  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
20337  .byte  233,84,253,255,255                  // jmpq          23a6 <_sk_load_tables_u16_be_avx+0x37>
20338  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
20339  .byte  233,75,253,255,255                  // jmpq          23a6 <_sk_load_tables_u16_be_avx+0x37>
20340
20341HIDDEN _sk_load_tables_rgb_u16_be_avx
20342.globl _sk_load_tables_rgb_u16_be_avx
20343FUNCTION(_sk_load_tables_rgb_u16_be_avx)
20344_sk_load_tables_rgb_u16_be_avx:
20345  .byte  72,173                              // lods          %ds:(%rsi),%rax
20346  .byte  76,139,8                            // mov           (%rax),%r9
20347  .byte  76,141,20,82                        // lea           (%rdx,%rdx,2),%r10
20348  .byte  77,133,192                          // test          %r8,%r8
20349  .byte  197,252,17,124,36,200               // vmovups       %ymm7,-0x38(%rsp)
20350  .byte  197,252,17,116,36,168               // vmovups       %ymm6,-0x58(%rsp)
20351  .byte  15,133,71,2,0,0                     // jne           28c0 <_sk_load_tables_rgb_u16_be_avx+0x265>
20352  .byte  196,129,122,111,4,81                // vmovdqu       (%r9,%r10,2),%xmm0
20353  .byte  196,129,122,111,84,81,12            // vmovdqu       0xc(%r9,%r10,2),%xmm2
20354  .byte  196,129,122,111,76,81,24            // vmovdqu       0x18(%r9,%r10,2),%xmm1
20355  .byte  196,129,122,111,92,81,32            // vmovdqu       0x20(%r9,%r10,2),%xmm3
20356  .byte  197,225,115,219,4                   // vpsrldq       $0x4,%xmm3,%xmm3
20357  .byte  197,185,115,216,6                   // vpsrldq       $0x6,%xmm0,%xmm8
20358  .byte  197,177,115,218,6                   // vpsrldq       $0x6,%xmm2,%xmm9
20359  .byte  197,161,115,217,6                   // vpsrldq       $0x6,%xmm1,%xmm11
20360  .byte  197,169,115,219,6                   // vpsrldq       $0x6,%xmm3,%xmm10
20361  .byte  197,249,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm0
20362  .byte  196,193,57,97,209                   // vpunpcklwd    %xmm9,%xmm8,%xmm2
20363  .byte  197,241,97,203                      // vpunpcklwd    %xmm3,%xmm1,%xmm1
20364  .byte  196,193,33,97,218                   // vpunpcklwd    %xmm10,%xmm11,%xmm3
20365  .byte  197,121,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm8
20366  .byte  197,249,105,194                     // vpunpckhwd    %xmm2,%xmm0,%xmm0
20367  .byte  197,241,97,211                      // vpunpcklwd    %xmm3,%xmm1,%xmm2
20368  .byte  197,241,105,203                     // vpunpckhwd    %xmm3,%xmm1,%xmm1
20369  .byte  197,185,108,218                     // vpunpcklqdq   %xmm2,%xmm8,%xmm3
20370  .byte  197,57,109,218                      // vpunpckhqdq   %xmm2,%xmm8,%xmm11
20371  .byte  197,121,108,193                     // vpunpcklqdq   %xmm1,%xmm0,%xmm8
20372  .byte  197,121,111,13,109,87,0,0           // vmovdqa       0x576d(%rip),%xmm9        # 7e50 <_sk_callback_avx+0x6a0>
20373  .byte  196,193,97,219,193                  // vpand         %xmm9,%xmm3,%xmm0
20374  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
20375  .byte  196,193,121,105,202                 // vpunpckhwd    %xmm10,%xmm0,%xmm1
20376  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
20377  .byte  69,137,202                          // mov           %r9d,%r10d
20378  .byte  76,139,88,8                         // mov           0x8(%rax),%r11
20379  .byte  196,129,122,16,20,147               // vmovss        (%r11,%r10,4),%xmm2
20380  .byte  196,195,249,22,202,1                // vpextrq       $0x1,%xmm1,%r10
20381  .byte  73,193,233,32                       // shr           $0x20,%r9
20382  .byte  196,3,105,33,36,139,16              // vinsertps     $0x10,(%r11,%r9,4),%xmm2,%xmm12
20383  .byte  69,137,209                          // mov           %r10d,%r9d
20384  .byte  73,193,234,32                       // shr           $0x20,%r10
20385  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
20386  .byte  196,129,122,16,20,139               // vmovss        (%r11,%r9,4),%xmm2
20387  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
20388  .byte  196,129,122,16,12,147               // vmovss        (%r11,%r10,4),%xmm1
20389  .byte  69,137,202                          // mov           %r9d,%r10d
20390  .byte  73,193,233,30                       // shr           $0x1e,%r9
20391  .byte  196,129,122,16,28,147               // vmovss        (%r11,%r10,4),%xmm3
20392  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
20393  .byte  196,131,97,33,28,11,16              // vinsertps     $0x10,(%r11,%r9,1),%xmm3,%xmm3
20394  .byte  69,137,209                          // mov           %r10d,%r9d
20395  .byte  73,193,234,30                       // shr           $0x1e,%r10
20396  .byte  196,129,122,16,4,139                // vmovss        (%r11,%r9,4),%xmm0
20397  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
20398  .byte  196,227,25,33,210,32                // vinsertps     $0x20,%xmm2,%xmm12,%xmm2
20399  .byte  196,227,105,33,201,48               // vinsertps     $0x30,%xmm1,%xmm2,%xmm1
20400  .byte  196,129,122,16,20,19                // vmovss        (%r11,%r10,1),%xmm2
20401  .byte  196,65,33,219,225                   // vpand         %xmm9,%xmm11,%xmm12
20402  .byte  196,65,25,105,218                   // vpunpckhwd    %xmm10,%xmm12,%xmm11
20403  .byte  196,65,249,126,218                  // vmovq         %xmm11,%r10
20404  .byte  69,137,211                          // mov           %r10d,%r11d
20405  .byte  196,1,122,16,44,153                 // vmovss        (%r9,%r11,4),%xmm13
20406  .byte  196,67,249,22,219,1                 // vpextrq       $0x1,%xmm11,%r11
20407  .byte  73,193,234,32                       // shr           $0x20,%r10
20408  .byte  196,3,17,33,28,145,16               // vinsertps     $0x10,(%r9,%r10,4),%xmm13,%xmm11
20409  .byte  69,137,218                          // mov           %r11d,%r10d
20410  .byte  73,193,235,32                       // shr           $0x20,%r11
20411  .byte  196,66,121,51,244                   // vpmovzxwd     %xmm12,%xmm14
20412  .byte  196,1,122,16,44,145                 // vmovss        (%r9,%r10,4),%xmm13
20413  .byte  196,65,249,126,242                  // vmovq         %xmm14,%r10
20414  .byte  196,1,122,16,36,153                 // vmovss        (%r9,%r11,4),%xmm12
20415  .byte  69,137,211                          // mov           %r10d,%r11d
20416  .byte  73,193,234,30                       // shr           $0x1e,%r10
20417  .byte  196,1,122,16,60,153                 // vmovss        (%r9,%r11,4),%xmm15
20418  .byte  196,67,249,22,243,1                 // vpextrq       $0x1,%xmm14,%r11
20419  .byte  196,3,1,33,52,17,16                 // vinsertps     $0x10,(%r9,%r10,1),%xmm15,%xmm14
20420  .byte  69,137,218                          // mov           %r11d,%r10d
20421  .byte  196,1,122,16,60,145                 // vmovss        (%r9,%r10,4),%xmm15
20422  .byte  196,227,97,33,192,32                // vinsertps     $0x20,%xmm0,%xmm3,%xmm0
20423  .byte  196,227,121,33,194,48               // vinsertps     $0x30,%xmm2,%xmm0,%xmm0
20424  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
20425  .byte  73,193,235,30                       // shr           $0x1e,%r11
20426  .byte  196,129,122,16,52,25                // vmovss        (%r9,%r11,1),%xmm6
20427  .byte  76,139,80,24                        // mov           0x18(%rax),%r10
20428  .byte  196,65,57,219,193                   // vpand         %xmm9,%xmm8,%xmm8
20429  .byte  196,193,57,105,210                  // vpunpckhwd    %xmm10,%xmm8,%xmm2
20430  .byte  196,193,249,126,209                 // vmovq         %xmm2,%r9
20431  .byte  68,137,200                          // mov           %r9d,%eax
20432  .byte  196,193,122,16,12,130               // vmovss        (%r10,%rax,4),%xmm1
20433  .byte  196,227,249,22,208,1                // vpextrq       $0x1,%xmm2,%rax
20434  .byte  73,193,233,32                       // shr           $0x20,%r9
20435  .byte  196,3,113,33,12,138,16              // vinsertps     $0x10,(%r10,%r9,4),%xmm1,%xmm9
20436  .byte  65,137,193                          // mov           %eax,%r9d
20437  .byte  72,193,232,32                       // shr           $0x20,%rax
20438  .byte  196,194,121,51,200                  // vpmovzxwd     %xmm8,%xmm1
20439  .byte  196,1,122,16,4,138                  // vmovss        (%r10,%r9,4),%xmm8
20440  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
20441  .byte  196,65,122,16,20,130                // vmovss        (%r10,%rax,4),%xmm10
20442  .byte  68,137,200                          // mov           %r9d,%eax
20443  .byte  73,193,233,30                       // shr           $0x1e,%r9
20444  .byte  196,193,122,16,20,130               // vmovss        (%r10,%rax,4),%xmm2
20445  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
20446  .byte  196,131,105,33,20,10,16             // vinsertps     $0x10,(%r10,%r9,1),%xmm2,%xmm2
20447  .byte  68,137,216                          // mov           %r11d,%eax
20448  .byte  196,193,122,16,60,130               // vmovss        (%r10,%rax,4),%xmm7
20449  .byte  196,195,33,33,205,32                // vinsertps     $0x20,%xmm13,%xmm11,%xmm1
20450  .byte  73,193,235,30                       // shr           $0x1e,%r11
20451  .byte  196,1,122,16,28,26                  // vmovss        (%r10,%r11,1),%xmm11
20452  .byte  196,195,113,33,204,48               // vinsertps     $0x30,%xmm12,%xmm1,%xmm1
20453  .byte  196,195,9,33,223,32                 // vinsertps     $0x20,%xmm15,%xmm14,%xmm3
20454  .byte  196,227,97,33,222,48                // vinsertps     $0x30,%xmm6,%xmm3,%xmm3
20455  .byte  196,227,101,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
20456  .byte  196,195,49,33,216,32                // vinsertps     $0x20,%xmm8,%xmm9,%xmm3
20457  .byte  196,195,97,33,218,48                // vinsertps     $0x30,%xmm10,%xmm3,%xmm3
20458  .byte  196,227,105,33,215,32               // vinsertps     $0x20,%xmm7,%xmm2,%xmm2
20459  .byte  196,195,105,33,211,48               // vinsertps     $0x30,%xmm11,%xmm2,%xmm2
20460  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
20461  .byte  72,173                              // lods          %ds:(%rsi),%rax
20462  .byte  196,226,125,24,29,166,81,0,0        // vbroadcastss  0x51a6(%rip),%ymm3        # 7a58 <_sk_callback_avx+0x2a8>
20463  .byte  197,252,16,116,36,168               // vmovups       -0x58(%rsp),%ymm6
20464  .byte  197,252,16,124,36,200               // vmovups       -0x38(%rsp),%ymm7
20465  .byte  255,224                             // jmpq          *%rax
20466  .byte  196,129,121,110,4,81                // vmovd         (%r9,%r10,2),%xmm0
20467  .byte  196,129,121,196,68,81,4,2           // vpinsrw       $0x2,0x4(%r9,%r10,2),%xmm0,%xmm0
20468  .byte  73,131,248,1                        // cmp           $0x1,%r8
20469  .byte  117,5                               // jne           28d9 <_sk_load_tables_rgb_u16_be_avx+0x27e>
20470  .byte  233,212,253,255,255                 // jmpq          26ad <_sk_load_tables_rgb_u16_be_avx+0x52>
20471  .byte  196,129,121,110,76,81,6             // vmovd         0x6(%r9,%r10,2),%xmm1
20472  .byte  196,1,113,196,68,81,10,2            // vpinsrw       $0x2,0xa(%r9,%r10,2),%xmm1,%xmm8
20473  .byte  73,131,248,3                        // cmp           $0x3,%r8
20474  .byte  114,26                              // jb            2908 <_sk_load_tables_rgb_u16_be_avx+0x2ad>
20475  .byte  196,129,121,110,76,81,12            // vmovd         0xc(%r9,%r10,2),%xmm1
20476  .byte  196,129,113,196,84,81,16,2          // vpinsrw       $0x2,0x10(%r9,%r10,2),%xmm1,%xmm2
20477  .byte  73,131,248,3                        // cmp           $0x3,%r8
20478  .byte  117,10                              // jne           290d <_sk_load_tables_rgb_u16_be_avx+0x2b2>
20479  .byte  233,165,253,255,255                 // jmpq          26ad <_sk_load_tables_rgb_u16_be_avx+0x52>
20480  .byte  233,160,253,255,255                 // jmpq          26ad <_sk_load_tables_rgb_u16_be_avx+0x52>
20481  .byte  196,129,121,110,76,81,18            // vmovd         0x12(%r9,%r10,2),%xmm1
20482  .byte  196,1,113,196,76,81,22,2            // vpinsrw       $0x2,0x16(%r9,%r10,2),%xmm1,%xmm9
20483  .byte  73,131,248,5                        // cmp           $0x5,%r8
20484  .byte  114,26                              // jb            293c <_sk_load_tables_rgb_u16_be_avx+0x2e1>
20485  .byte  196,129,121,110,76,81,24            // vmovd         0x18(%r9,%r10,2),%xmm1
20486  .byte  196,129,113,196,76,81,28,2          // vpinsrw       $0x2,0x1c(%r9,%r10,2),%xmm1,%xmm1
20487  .byte  73,131,248,5                        // cmp           $0x5,%r8
20488  .byte  117,10                              // jne           2941 <_sk_load_tables_rgb_u16_be_avx+0x2e6>
20489  .byte  233,113,253,255,255                 // jmpq          26ad <_sk_load_tables_rgb_u16_be_avx+0x52>
20490  .byte  233,108,253,255,255                 // jmpq          26ad <_sk_load_tables_rgb_u16_be_avx+0x52>
20491  .byte  196,129,121,110,92,81,30            // vmovd         0x1e(%r9,%r10,2),%xmm3
20492  .byte  196,1,97,196,92,81,34,2             // vpinsrw       $0x2,0x22(%r9,%r10,2),%xmm3,%xmm11
20493  .byte  73,131,248,7                        // cmp           $0x7,%r8
20494  .byte  114,20                              // jb            296a <_sk_load_tables_rgb_u16_be_avx+0x30f>
20495  .byte  196,129,121,110,92,81,36            // vmovd         0x24(%r9,%r10,2),%xmm3
20496  .byte  196,129,97,196,92,81,40,2           // vpinsrw       $0x2,0x28(%r9,%r10,2),%xmm3,%xmm3
20497  .byte  233,67,253,255,255                  // jmpq          26ad <_sk_load_tables_rgb_u16_be_avx+0x52>
20498  .byte  233,62,253,255,255                  // jmpq          26ad <_sk_load_tables_rgb_u16_be_avx+0x52>
20499
20500HIDDEN _sk_byte_tables_avx
20501.globl _sk_byte_tables_avx
20502FUNCTION(_sk_byte_tables_avx)
20503_sk_byte_tables_avx:
20504  .byte  72,173                              // lods          %ds:(%rsi),%rax
20505  .byte  196,98,125,24,5,226,80,0,0          // vbroadcastss  0x50e2(%rip),%ymm8        # 7a5c <_sk_callback_avx+0x2ac>
20506  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
20507  .byte  197,125,91,200                      // vcvtps2dq     %ymm0,%ymm9
20508  .byte  196,65,249,126,201                  // vmovq         %xmm9,%r9
20509  .byte  69,137,202                          // mov           %r9d,%r10d
20510  .byte  76,139,24                           // mov           (%rax),%r11
20511  .byte  196,131,121,32,4,19,0               // vpinsrb       $0x0,(%r11,%r10,1),%xmm0,%xmm0
20512  .byte  196,67,249,22,202,1                 // vpextrq       $0x1,%xmm9,%r10
20513  .byte  73,193,233,32                       // shr           $0x20,%r9
20514  .byte  196,3,121,32,20,11,1                // vpinsrb       $0x1,(%r11,%r9,1),%xmm0,%xmm10
20515  .byte  69,137,209                          // mov           %r10d,%r9d
20516  .byte  73,193,234,32                       // shr           $0x20,%r10
20517  .byte  196,99,125,25,200,1                 // vextractf128  $0x1,%ymm9,%xmm0
20518  .byte  71,15,182,12,11                     // movzbl        (%r11,%r9,1),%r9d
20519  .byte  196,67,41,32,201,2                  // vpinsrb       $0x2,%r9d,%xmm10,%xmm9
20520  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
20521  .byte  71,15,182,20,19                     // movzbl        (%r11,%r10,1),%r10d
20522  .byte  196,67,49,32,202,3                  // vpinsrb       $0x3,%r10d,%xmm9,%xmm9
20523  .byte  69,137,202                          // mov           %r9d,%r10d
20524  .byte  196,3,121,32,20,19,0                // vpinsrb       $0x0,(%r11,%r10,1),%xmm0,%xmm10
20525  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
20526  .byte  73,193,233,32                       // shr           $0x20,%r9
20527  .byte  196,131,41,32,4,11,1                // vpinsrb       $0x1,(%r11,%r9,1),%xmm10,%xmm0
20528  .byte  69,137,209                          // mov           %r10d,%r9d
20529  .byte  73,193,234,32                       // shr           $0x20,%r10
20530  .byte  71,15,182,12,11                     // movzbl        (%r11,%r9,1),%r9d
20531  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
20532  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
20533  .byte  71,15,182,20,19                     // movzbl        (%r11,%r10,1),%r10d
20534  .byte  196,67,121,32,210,3                 // vpinsrb       $0x3,%r10d,%xmm0,%xmm10
20535  .byte  196,193,116,89,192                  // vmulps        %ymm8,%ymm1,%ymm0
20536  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
20537  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
20538  .byte  69,137,211                          // mov           %r10d,%r11d
20539  .byte  196,131,121,32,12,25,0              // vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm1
20540  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
20541  .byte  73,193,234,32                       // shr           $0x20,%r10
20542  .byte  196,131,113,32,12,17,1              // vpinsrb       $0x1,(%r9,%r10,1),%xmm1,%xmm1
20543  .byte  69,137,218                          // mov           %r11d,%r10d
20544  .byte  73,193,235,32                       // shr           $0x20,%r11
20545  .byte  196,227,125,25,192,1                // vextractf128  $0x1,%ymm0,%xmm0
20546  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
20547  .byte  196,195,113,32,202,2                // vpinsrb       $0x2,%r10d,%xmm1,%xmm1
20548  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
20549  .byte  71,15,182,28,25                     // movzbl        (%r9,%r11,1),%r11d
20550  .byte  196,67,113,32,227,3                 // vpinsrb       $0x3,%r11d,%xmm1,%xmm12
20551  .byte  69,137,211                          // mov           %r10d,%r11d
20552  .byte  196,131,121,32,12,25,0              // vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm1
20553  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
20554  .byte  73,193,234,32                       // shr           $0x20,%r10
20555  .byte  196,131,113,32,4,17,1               // vpinsrb       $0x1,(%r9,%r10,1),%xmm1,%xmm0
20556  .byte  69,137,218                          // mov           %r11d,%r10d
20557  .byte  73,193,235,32                       // shr           $0x20,%r11
20558  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
20559  .byte  196,195,121,32,194,2                // vpinsrb       $0x2,%r10d,%xmm0,%xmm0
20560  .byte  71,15,182,12,25                     // movzbl        (%r9,%r11,1),%r9d
20561  .byte  196,67,121,32,233,3                 // vpinsrb       $0x3,%r9d,%xmm0,%xmm13
20562  .byte  76,139,72,16                        // mov           0x10(%rax),%r9
20563  .byte  196,193,108,89,200                  // vmulps        %ymm8,%ymm2,%ymm1
20564  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
20565  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
20566  .byte  69,137,211                          // mov           %r10d,%r11d
20567  .byte  196,131,121,32,20,25,0              // vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm2
20568  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
20569  .byte  73,193,234,32                       // shr           $0x20,%r10
20570  .byte  196,131,105,32,20,17,1              // vpinsrb       $0x1,(%r9,%r10,1),%xmm2,%xmm2
20571  .byte  69,137,218                          // mov           %r11d,%r10d
20572  .byte  73,193,235,32                       // shr           $0x20,%r11
20573  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
20574  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
20575  .byte  196,195,105,32,210,2                // vpinsrb       $0x2,%r10d,%xmm2,%xmm2
20576  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
20577  .byte  71,15,182,28,25                     // movzbl        (%r9,%r11,1),%r11d
20578  .byte  196,67,105,32,219,3                 // vpinsrb       $0x3,%r11d,%xmm2,%xmm11
20579  .byte  69,137,211                          // mov           %r10d,%r11d
20580  .byte  196,131,121,32,20,25,0              // vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm2
20581  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
20582  .byte  73,193,234,32                       // shr           $0x20,%r10
20583  .byte  196,131,105,32,12,17,1              // vpinsrb       $0x1,(%r9,%r10,1),%xmm2,%xmm1
20584  .byte  69,137,218                          // mov           %r11d,%r10d
20585  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
20586  .byte  196,195,113,32,202,2                // vpinsrb       $0x2,%r10d,%xmm1,%xmm1
20587  .byte  73,193,235,32                       // shr           $0x20,%r11
20588  .byte  71,15,182,12,25                     // movzbl        (%r9,%r11,1),%r9d
20589  .byte  196,67,113,32,241,3                 // vpinsrb       $0x3,%r9d,%xmm1,%xmm14
20590  .byte  76,139,80,24                        // mov           0x18(%rax),%r10
20591  .byte  196,193,100,89,200                  // vmulps        %ymm8,%ymm3,%ymm1
20592  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
20593  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
20594  .byte  68,137,200                          // mov           %r9d,%eax
20595  .byte  196,195,121,32,28,2,0               // vpinsrb       $0x0,(%r10,%rax,1),%xmm0,%xmm3
20596  .byte  196,227,249,22,200,1                // vpextrq       $0x1,%xmm1,%rax
20597  .byte  73,193,233,32                       // shr           $0x20,%r9
20598  .byte  196,131,97,32,28,10,1               // vpinsrb       $0x1,(%r10,%r9,1),%xmm3,%xmm3
20599  .byte  65,137,193                          // mov           %eax,%r9d
20600  .byte  72,193,232,32                       // shr           $0x20,%rax
20601  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
20602  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
20603  .byte  196,195,97,32,217,2                 // vpinsrb       $0x2,%r9d,%xmm3,%xmm3
20604  .byte  196,193,249,126,201                 // vmovq         %xmm1,%r9
20605  .byte  65,15,182,4,2                       // movzbl        (%r10,%rax,1),%eax
20606  .byte  196,99,97,32,192,3                  // vpinsrb       $0x3,%eax,%xmm3,%xmm8
20607  .byte  68,137,200                          // mov           %r9d,%eax
20608  .byte  196,195,121,32,4,2,0                // vpinsrb       $0x0,(%r10,%rax,1),%xmm0,%xmm0
20609  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
20610  .byte  73,193,233,32                       // shr           $0x20,%r9
20611  .byte  196,131,121,32,4,10,1               // vpinsrb       $0x1,(%r10,%r9,1),%xmm0,%xmm0
20612  .byte  68,137,216                          // mov           %r11d,%eax
20613  .byte  65,15,182,4,2                       // movzbl        (%r10,%rax,1),%eax
20614  .byte  196,99,121,32,248,2                 // vpinsrb       $0x2,%eax,%xmm0,%xmm15
20615  .byte  73,193,235,32                       // shr           $0x20,%r11
20616  .byte  67,15,182,4,26                      // movzbl        (%r10,%r11,1),%eax
20617  .byte  196,194,121,49,193                  // vpmovzxbd     %xmm9,%xmm0
20618  .byte  196,194,121,49,202                  // vpmovzxbd     %xmm10,%xmm1
20619  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
20620  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
20621  .byte  196,194,121,49,204                  // vpmovzxbd     %xmm12,%xmm1
20622  .byte  196,194,121,49,213                  // vpmovzxbd     %xmm13,%xmm2
20623  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
20624  .byte  196,98,125,24,13,140,78,0,0         // vbroadcastss  0x4e8c(%rip),%ymm9        # 7a60 <_sk_callback_avx+0x2b0>
20625  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
20626  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
20627  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
20628  .byte  196,194,121,49,211                  // vpmovzxbd     %xmm11,%xmm2
20629  .byte  196,194,121,49,222                  // vpmovzxbd     %xmm14,%xmm3
20630  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
20631  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
20632  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
20633  .byte  196,66,121,49,192                   // vpmovzxbd     %xmm8,%xmm8
20634  .byte  196,227,1,32,216,3                  // vpinsrb       $0x3,%eax,%xmm15,%xmm3
20635  .byte  196,226,121,49,219                  // vpmovzxbd     %xmm3,%xmm3
20636  .byte  196,227,61,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
20637  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
20638  .byte  196,193,100,89,217                  // vmulps        %ymm9,%ymm3,%ymm3
20639  .byte  72,173                              // lods          %ds:(%rsi),%rax
20640  .byte  255,224                             // jmpq          *%rax
20641
20642HIDDEN _sk_byte_tables_rgb_avx
20643.globl _sk_byte_tables_rgb_avx
20644FUNCTION(_sk_byte_tables_rgb_avx)
20645_sk_byte_tables_rgb_avx:
20646  .byte  72,173                              // lods          %ds:(%rsi),%rax
20647  .byte  68,139,72,24                        // mov           0x18(%rax),%r9d
20648  .byte  65,255,201                          // dec           %r9d
20649  .byte  196,65,121,110,193                  // vmovd         %r9d,%xmm8
20650  .byte  196,65,121,112,192,0                // vpshufd       $0x0,%xmm8,%xmm8
20651  .byte  196,67,61,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
20652  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
20653  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
20654  .byte  197,125,91,200                      // vcvtps2dq     %ymm0,%ymm9
20655  .byte  196,65,249,126,201                  // vmovq         %xmm9,%r9
20656  .byte  69,137,202                          // mov           %r9d,%r10d
20657  .byte  76,139,24                           // mov           (%rax),%r11
20658  .byte  196,131,121,32,4,19,0               // vpinsrb       $0x0,(%r11,%r10,1),%xmm0,%xmm0
20659  .byte  196,67,249,22,202,1                 // vpextrq       $0x1,%xmm9,%r10
20660  .byte  73,193,233,32                       // shr           $0x20,%r9
20661  .byte  196,3,121,32,20,11,1                // vpinsrb       $0x1,(%r11,%r9,1),%xmm0,%xmm10
20662  .byte  69,137,209                          // mov           %r10d,%r9d
20663  .byte  73,193,234,32                       // shr           $0x20,%r10
20664  .byte  196,99,125,25,200,1                 // vextractf128  $0x1,%ymm9,%xmm0
20665  .byte  71,15,182,12,11                     // movzbl        (%r11,%r9,1),%r9d
20666  .byte  196,67,41,32,201,2                  // vpinsrb       $0x2,%r9d,%xmm10,%xmm9
20667  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
20668  .byte  71,15,182,20,19                     // movzbl        (%r11,%r10,1),%r10d
20669  .byte  196,67,49,32,202,3                  // vpinsrb       $0x3,%r10d,%xmm9,%xmm9
20670  .byte  69,137,202                          // mov           %r9d,%r10d
20671  .byte  196,3,121,32,20,19,0                // vpinsrb       $0x0,(%r11,%r10,1),%xmm0,%xmm10
20672  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
20673  .byte  73,193,233,32                       // shr           $0x20,%r9
20674  .byte  196,131,41,32,4,11,1                // vpinsrb       $0x1,(%r11,%r9,1),%xmm10,%xmm0
20675  .byte  69,137,209                          // mov           %r10d,%r9d
20676  .byte  73,193,234,32                       // shr           $0x20,%r10
20677  .byte  71,15,182,12,11                     // movzbl        (%r11,%r9,1),%r9d
20678  .byte  196,195,121,32,193,2                // vpinsrb       $0x2,%r9d,%xmm0,%xmm0
20679  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
20680  .byte  71,15,182,20,19                     // movzbl        (%r11,%r10,1),%r10d
20681  .byte  196,67,121,32,218,3                 // vpinsrb       $0x3,%r10d,%xmm0,%xmm11
20682  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
20683  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
20684  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
20685  .byte  69,137,211                          // mov           %r10d,%r11d
20686  .byte  196,131,121,32,4,25,0               // vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm0
20687  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
20688  .byte  73,193,234,32                       // shr           $0x20,%r10
20689  .byte  196,131,121,32,4,17,1               // vpinsrb       $0x1,(%r9,%r10,1),%xmm0,%xmm0
20690  .byte  69,137,218                          // mov           %r11d,%r10d
20691  .byte  73,193,235,32                       // shr           $0x20,%r11
20692  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
20693  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
20694  .byte  196,195,121,32,194,2                // vpinsrb       $0x2,%r10d,%xmm0,%xmm0
20695  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
20696  .byte  71,15,182,28,25                     // movzbl        (%r9,%r11,1),%r11d
20697  .byte  196,67,121,32,211,3                 // vpinsrb       $0x3,%r11d,%xmm0,%xmm10
20698  .byte  69,137,211                          // mov           %r10d,%r11d
20699  .byte  196,131,121,32,4,25,0               // vpinsrb       $0x0,(%r9,%r11,1),%xmm0,%xmm0
20700  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
20701  .byte  73,193,234,32                       // shr           $0x20,%r10
20702  .byte  196,131,121,32,4,17,1               // vpinsrb       $0x1,(%r9,%r10,1),%xmm0,%xmm0
20703  .byte  69,137,218                          // mov           %r11d,%r10d
20704  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
20705  .byte  196,195,121,32,194,2                // vpinsrb       $0x2,%r10d,%xmm0,%xmm0
20706  .byte  73,193,235,32                       // shr           $0x20,%r11
20707  .byte  71,15,182,12,25                     // movzbl        (%r9,%r11,1),%r9d
20708  .byte  196,67,121,32,225,3                 // vpinsrb       $0x3,%r9d,%xmm0,%xmm12
20709  .byte  76,139,80,16                        // mov           0x10(%rax),%r10
20710  .byte  197,188,89,194                      // vmulps        %ymm2,%ymm8,%ymm0
20711  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
20712  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
20713  .byte  68,137,200                          // mov           %r9d,%eax
20714  .byte  196,195,121,32,20,2,0               // vpinsrb       $0x0,(%r10,%rax,1),%xmm0,%xmm2
20715  .byte  196,227,249,22,192,1                // vpextrq       $0x1,%xmm0,%rax
20716  .byte  73,193,233,32                       // shr           $0x20,%r9
20717  .byte  196,131,105,32,20,10,1              // vpinsrb       $0x1,(%r10,%r9,1),%xmm2,%xmm2
20718  .byte  65,137,193                          // mov           %eax,%r9d
20719  .byte  72,193,232,32                       // shr           $0x20,%rax
20720  .byte  196,227,125,25,192,1                // vextractf128  $0x1,%ymm0,%xmm0
20721  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
20722  .byte  196,195,105,32,209,2                // vpinsrb       $0x2,%r9d,%xmm2,%xmm2
20723  .byte  196,193,249,126,193                 // vmovq         %xmm0,%r9
20724  .byte  65,15,182,4,2                       // movzbl        (%r10,%rax,1),%eax
20725  .byte  196,99,105,32,192,3                 // vpinsrb       $0x3,%eax,%xmm2,%xmm8
20726  .byte  68,137,200                          // mov           %r9d,%eax
20727  .byte  196,195,121,32,12,2,0               // vpinsrb       $0x0,(%r10,%rax,1),%xmm0,%xmm1
20728  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
20729  .byte  73,193,233,32                       // shr           $0x20,%r9
20730  .byte  196,131,113,32,4,10,1               // vpinsrb       $0x1,(%r10,%r9,1),%xmm1,%xmm0
20731  .byte  68,137,216                          // mov           %r11d,%eax
20732  .byte  65,15,182,4,2                       // movzbl        (%r10,%rax,1),%eax
20733  .byte  196,99,121,32,232,2                 // vpinsrb       $0x2,%eax,%xmm0,%xmm13
20734  .byte  73,193,235,32                       // shr           $0x20,%r11
20735  .byte  67,15,182,4,26                      // movzbl        (%r10,%r11,1),%eax
20736  .byte  196,194,121,49,193                  // vpmovzxbd     %xmm9,%xmm0
20737  .byte  196,194,121,49,203                  // vpmovzxbd     %xmm11,%xmm1
20738  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
20739  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
20740  .byte  196,98,125,24,13,109,76,0,0         // vbroadcastss  0x4c6d(%rip),%ymm9        # 7a64 <_sk_callback_avx+0x2b4>
20741  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
20742  .byte  196,194,121,49,202                  // vpmovzxbd     %xmm10,%xmm1
20743  .byte  196,194,121,49,212                  // vpmovzxbd     %xmm12,%xmm2
20744  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
20745  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
20746  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
20747  .byte  196,66,121,49,192                   // vpmovzxbd     %xmm8,%xmm8
20748  .byte  196,227,17,32,208,3                 // vpinsrb       $0x3,%eax,%xmm13,%xmm2
20749  .byte  196,226,121,49,210                  // vpmovzxbd     %xmm2,%xmm2
20750  .byte  196,227,61,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm8,%ymm2
20751  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
20752  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
20753  .byte  72,173                              // lods          %ds:(%rsi),%rax
20754  .byte  255,224                             // jmpq          *%rax
20755
20756HIDDEN _sk_table_r_avx
20757.globl _sk_table_r_avx
20758FUNCTION(_sk_table_r_avx)
20759_sk_table_r_avx:
20760  .byte  72,173                              // lods          %ds:(%rsi),%rax
20761  .byte  76,139,8                            // mov           (%rax),%r9
20762  .byte  139,64,8                            // mov           0x8(%rax),%eax
20763  .byte  255,200                             // dec           %eax
20764  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
20765  .byte  196,65,121,112,192,0                // vpshufd       $0x0,%xmm8,%xmm8
20766  .byte  196,67,61,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
20767  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
20768  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
20769  .byte  197,125,91,192                      // vcvtps2dq     %ymm0,%ymm8
20770  .byte  196,99,125,25,192,1                 // vextractf128  $0x1,%ymm8,%xmm0
20771  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
20772  .byte  68,137,208                          // mov           %r10d,%eax
20773  .byte  196,65,122,16,12,129                // vmovss        (%r9,%rax,4),%xmm9
20774  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
20775  .byte  73,193,234,32                       // shr           $0x20,%r10
20776  .byte  196,3,49,33,12,145,16               // vinsertps     $0x10,(%r9,%r10,4),%xmm9,%xmm9
20777  .byte  68,137,216                          // mov           %r11d,%eax
20778  .byte  196,65,122,16,20,129                // vmovss        (%r9,%rax,4),%xmm10
20779  .byte  196,65,249,126,194                  // vmovq         %xmm8,%r10
20780  .byte  73,193,235,32                       // shr           $0x20,%r11
20781  .byte  196,1,122,16,28,153                 // vmovss        (%r9,%r11,4),%xmm11
20782  .byte  68,137,208                          // mov           %r10d,%eax
20783  .byte  196,193,122,16,4,129                // vmovss        (%r9,%rax,4),%xmm0
20784  .byte  196,67,249,22,195,1                 // vpextrq       $0x1,%xmm8,%r11
20785  .byte  73,193,234,32                       // shr           $0x20,%r10
20786  .byte  196,3,121,33,4,145,16               // vinsertps     $0x10,(%r9,%r10,4),%xmm0,%xmm8
20787  .byte  68,137,216                          // mov           %r11d,%eax
20788  .byte  196,65,122,16,36,129                // vmovss        (%r9,%rax,4),%xmm12
20789  .byte  73,193,235,32                       // shr           $0x20,%r11
20790  .byte  196,1,122,16,44,153                 // vmovss        (%r9,%r11,4),%xmm13
20791  .byte  196,195,49,33,194,32                // vinsertps     $0x20,%xmm10,%xmm9,%xmm0
20792  .byte  196,67,121,33,203,48                // vinsertps     $0x30,%xmm11,%xmm0,%xmm9
20793  .byte  196,195,57,33,196,32                // vinsertps     $0x20,%xmm12,%xmm8,%xmm0
20794  .byte  196,195,121,33,197,48               // vinsertps     $0x30,%xmm13,%xmm0,%xmm0
20795  .byte  196,195,125,24,193,1                // vinsertf128   $0x1,%xmm9,%ymm0,%ymm0
20796  .byte  72,173                              // lods          %ds:(%rsi),%rax
20797  .byte  255,224                             // jmpq          *%rax
20798
20799HIDDEN _sk_table_g_avx
20800.globl _sk_table_g_avx
20801FUNCTION(_sk_table_g_avx)
20802_sk_table_g_avx:
20803  .byte  72,173                              // lods          %ds:(%rsi),%rax
20804  .byte  76,139,8                            // mov           (%rax),%r9
20805  .byte  139,64,8                            // mov           0x8(%rax),%eax
20806  .byte  255,200                             // dec           %eax
20807  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
20808  .byte  196,65,121,112,192,0                // vpshufd       $0x0,%xmm8,%xmm8
20809  .byte  196,67,61,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
20810  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
20811  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
20812  .byte  197,125,91,193                      // vcvtps2dq     %ymm1,%ymm8
20813  .byte  196,99,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm1
20814  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
20815  .byte  68,137,208                          // mov           %r10d,%eax
20816  .byte  196,65,122,16,12,129                // vmovss        (%r9,%rax,4),%xmm9
20817  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
20818  .byte  73,193,234,32                       // shr           $0x20,%r10
20819  .byte  196,3,49,33,12,145,16               // vinsertps     $0x10,(%r9,%r10,4),%xmm9,%xmm9
20820  .byte  68,137,216                          // mov           %r11d,%eax
20821  .byte  196,65,122,16,20,129                // vmovss        (%r9,%rax,4),%xmm10
20822  .byte  196,65,249,126,194                  // vmovq         %xmm8,%r10
20823  .byte  73,193,235,32                       // shr           $0x20,%r11
20824  .byte  196,1,122,16,28,153                 // vmovss        (%r9,%r11,4),%xmm11
20825  .byte  68,137,208                          // mov           %r10d,%eax
20826  .byte  196,193,122,16,12,129               // vmovss        (%r9,%rax,4),%xmm1
20827  .byte  196,67,249,22,195,1                 // vpextrq       $0x1,%xmm8,%r11
20828  .byte  73,193,234,32                       // shr           $0x20,%r10
20829  .byte  196,3,113,33,4,145,16               // vinsertps     $0x10,(%r9,%r10,4),%xmm1,%xmm8
20830  .byte  68,137,216                          // mov           %r11d,%eax
20831  .byte  196,65,122,16,36,129                // vmovss        (%r9,%rax,4),%xmm12
20832  .byte  73,193,235,32                       // shr           $0x20,%r11
20833  .byte  196,1,122,16,44,153                 // vmovss        (%r9,%r11,4),%xmm13
20834  .byte  196,195,49,33,202,32                // vinsertps     $0x20,%xmm10,%xmm9,%xmm1
20835  .byte  196,67,113,33,203,48                // vinsertps     $0x30,%xmm11,%xmm1,%xmm9
20836  .byte  196,195,57,33,204,32                // vinsertps     $0x20,%xmm12,%xmm8,%xmm1
20837  .byte  196,195,113,33,205,48               // vinsertps     $0x30,%xmm13,%xmm1,%xmm1
20838  .byte  196,195,117,24,201,1                // vinsertf128   $0x1,%xmm9,%ymm1,%ymm1
20839  .byte  72,173                              // lods          %ds:(%rsi),%rax
20840  .byte  255,224                             // jmpq          *%rax
20841
20842HIDDEN _sk_table_b_avx
20843.globl _sk_table_b_avx
20844FUNCTION(_sk_table_b_avx)
20845_sk_table_b_avx:
20846  .byte  72,173                              // lods          %ds:(%rsi),%rax
20847  .byte  76,139,8                            // mov           (%rax),%r9
20848  .byte  139,64,8                            // mov           0x8(%rax),%eax
20849  .byte  255,200                             // dec           %eax
20850  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
20851  .byte  196,65,121,112,192,0                // vpshufd       $0x0,%xmm8,%xmm8
20852  .byte  196,67,61,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
20853  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
20854  .byte  197,188,89,210                      // vmulps        %ymm2,%ymm8,%ymm2
20855  .byte  197,125,91,194                      // vcvtps2dq     %ymm2,%ymm8
20856  .byte  196,99,125,25,194,1                 // vextractf128  $0x1,%ymm8,%xmm2
20857  .byte  196,193,249,126,210                 // vmovq         %xmm2,%r10
20858  .byte  68,137,208                          // mov           %r10d,%eax
20859  .byte  196,65,122,16,12,129                // vmovss        (%r9,%rax,4),%xmm9
20860  .byte  196,195,249,22,211,1                // vpextrq       $0x1,%xmm2,%r11
20861  .byte  73,193,234,32                       // shr           $0x20,%r10
20862  .byte  196,3,49,33,12,145,16               // vinsertps     $0x10,(%r9,%r10,4),%xmm9,%xmm9
20863  .byte  68,137,216                          // mov           %r11d,%eax
20864  .byte  196,65,122,16,20,129                // vmovss        (%r9,%rax,4),%xmm10
20865  .byte  196,65,249,126,194                  // vmovq         %xmm8,%r10
20866  .byte  73,193,235,32                       // shr           $0x20,%r11
20867  .byte  196,1,122,16,28,153                 // vmovss        (%r9,%r11,4),%xmm11
20868  .byte  68,137,208                          // mov           %r10d,%eax
20869  .byte  196,193,122,16,20,129               // vmovss        (%r9,%rax,4),%xmm2
20870  .byte  196,67,249,22,195,1                 // vpextrq       $0x1,%xmm8,%r11
20871  .byte  73,193,234,32                       // shr           $0x20,%r10
20872  .byte  196,3,105,33,4,145,16               // vinsertps     $0x10,(%r9,%r10,4),%xmm2,%xmm8
20873  .byte  68,137,216                          // mov           %r11d,%eax
20874  .byte  196,65,122,16,36,129                // vmovss        (%r9,%rax,4),%xmm12
20875  .byte  73,193,235,32                       // shr           $0x20,%r11
20876  .byte  196,1,122,16,44,153                 // vmovss        (%r9,%r11,4),%xmm13
20877  .byte  196,195,49,33,210,32                // vinsertps     $0x20,%xmm10,%xmm9,%xmm2
20878  .byte  196,67,105,33,203,48                // vinsertps     $0x30,%xmm11,%xmm2,%xmm9
20879  .byte  196,195,57,33,212,32                // vinsertps     $0x20,%xmm12,%xmm8,%xmm2
20880  .byte  196,195,105,33,213,48               // vinsertps     $0x30,%xmm13,%xmm2,%xmm2
20881  .byte  196,195,109,24,209,1                // vinsertf128   $0x1,%xmm9,%ymm2,%ymm2
20882  .byte  72,173                              // lods          %ds:(%rsi),%rax
20883  .byte  255,224                             // jmpq          *%rax
20884
20885HIDDEN _sk_table_a_avx
20886.globl _sk_table_a_avx
20887FUNCTION(_sk_table_a_avx)
20888_sk_table_a_avx:
20889  .byte  72,173                              // lods          %ds:(%rsi),%rax
20890  .byte  76,139,8                            // mov           (%rax),%r9
20891  .byte  139,64,8                            // mov           0x8(%rax),%eax
20892  .byte  255,200                             // dec           %eax
20893  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
20894  .byte  196,65,121,112,192,0                // vpshufd       $0x0,%xmm8,%xmm8
20895  .byte  196,67,61,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm8,%ymm8
20896  .byte  196,65,124,91,192                   // vcvtdq2ps     %ymm8,%ymm8
20897  .byte  197,188,89,219                      // vmulps        %ymm3,%ymm8,%ymm3
20898  .byte  197,125,91,195                      // vcvtps2dq     %ymm3,%ymm8
20899  .byte  196,99,125,25,195,1                 // vextractf128  $0x1,%ymm8,%xmm3
20900  .byte  196,193,249,126,218                 // vmovq         %xmm3,%r10
20901  .byte  68,137,208                          // mov           %r10d,%eax
20902  .byte  196,65,122,16,12,129                // vmovss        (%r9,%rax,4),%xmm9
20903  .byte  196,195,249,22,219,1                // vpextrq       $0x1,%xmm3,%r11
20904  .byte  73,193,234,32                       // shr           $0x20,%r10
20905  .byte  196,3,49,33,12,145,16               // vinsertps     $0x10,(%r9,%r10,4),%xmm9,%xmm9
20906  .byte  68,137,216                          // mov           %r11d,%eax
20907  .byte  196,65,122,16,20,129                // vmovss        (%r9,%rax,4),%xmm10
20908  .byte  196,65,249,126,194                  // vmovq         %xmm8,%r10
20909  .byte  73,193,235,32                       // shr           $0x20,%r11
20910  .byte  196,1,122,16,28,153                 // vmovss        (%r9,%r11,4),%xmm11
20911  .byte  68,137,208                          // mov           %r10d,%eax
20912  .byte  196,193,122,16,28,129               // vmovss        (%r9,%rax,4),%xmm3
20913  .byte  196,67,249,22,195,1                 // vpextrq       $0x1,%xmm8,%r11
20914  .byte  73,193,234,32                       // shr           $0x20,%r10
20915  .byte  196,3,97,33,4,145,16                // vinsertps     $0x10,(%r9,%r10,4),%xmm3,%xmm8
20916  .byte  68,137,216                          // mov           %r11d,%eax
20917  .byte  196,65,122,16,36,129                // vmovss        (%r9,%rax,4),%xmm12
20918  .byte  73,193,235,32                       // shr           $0x20,%r11
20919  .byte  196,1,122,16,44,153                 // vmovss        (%r9,%r11,4),%xmm13
20920  .byte  196,195,49,33,218,32                // vinsertps     $0x20,%xmm10,%xmm9,%xmm3
20921  .byte  196,67,97,33,203,48                 // vinsertps     $0x30,%xmm11,%xmm3,%xmm9
20922  .byte  196,195,57,33,220,32                // vinsertps     $0x20,%xmm12,%xmm8,%xmm3
20923  .byte  196,195,97,33,221,48                // vinsertps     $0x30,%xmm13,%xmm3,%xmm3
20924  .byte  196,195,101,24,217,1                // vinsertf128   $0x1,%xmm9,%ymm3,%ymm3
20925  .byte  72,173                              // lods          %ds:(%rsi),%rax
20926  .byte  255,224                             // jmpq          *%rax
20927
20928HIDDEN _sk_parametric_r_avx
20929.globl _sk_parametric_r_avx
20930FUNCTION(_sk_parametric_r_avx)
20931_sk_parametric_r_avx:
20932  .byte  72,173                              // lods          %ds:(%rsi),%rax
20933  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
20934  .byte  196,65,124,194,192,2                // vcmpleps      %ymm8,%ymm0,%ymm8
20935  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
20936  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
20937  .byte  197,52,89,200                       // vmulps        %ymm0,%ymm9,%ymm9
20938  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
20939  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
20940  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
20941  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
20942  .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
20943  .byte  196,98,125,24,16                    // vbroadcastss  (%rax),%ymm10
20944  .byte  197,124,91,216                      // vcvtdq2ps     %ymm0,%ymm11
20945  .byte  196,98,125,24,37,26,73,0,0          // vbroadcastss  0x491a(%rip),%ymm12        # 7a68 <_sk_callback_avx+0x2b8>
20946  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
20947  .byte  196,98,125,24,37,16,73,0,0          // vbroadcastss  0x4910(%rip),%ymm12        # 7a6c <_sk_callback_avx+0x2bc>
20948  .byte  196,193,124,84,196                  // vandps        %ymm12,%ymm0,%ymm0
20949  .byte  196,98,125,24,37,6,73,0,0           // vbroadcastss  0x4906(%rip),%ymm12        # 7a70 <_sk_callback_avx+0x2c0>
20950  .byte  196,193,124,86,196                  // vorps         %ymm12,%ymm0,%ymm0
20951  .byte  196,98,125,24,37,252,72,0,0         // vbroadcastss  0x48fc(%rip),%ymm12        # 7a74 <_sk_callback_avx+0x2c4>
20952  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
20953  .byte  196,98,125,24,37,242,72,0,0         // vbroadcastss  0x48f2(%rip),%ymm12        # 7a78 <_sk_callback_avx+0x2c8>
20954  .byte  196,65,124,89,228                   // vmulps        %ymm12,%ymm0,%ymm12
20955  .byte  196,65,36,92,220                    // vsubps        %ymm12,%ymm11,%ymm11
20956  .byte  196,98,125,24,37,227,72,0,0         // vbroadcastss  0x48e3(%rip),%ymm12        # 7a7c <_sk_callback_avx+0x2cc>
20957  .byte  196,193,124,88,196                  // vaddps        %ymm12,%ymm0,%ymm0
20958  .byte  196,98,125,24,37,217,72,0,0         // vbroadcastss  0x48d9(%rip),%ymm12        # 7a80 <_sk_callback_avx+0x2d0>
20959  .byte  197,156,94,192                      // vdivps        %ymm0,%ymm12,%ymm0
20960  .byte  197,164,92,192                      // vsubps        %ymm0,%ymm11,%ymm0
20961  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
20962  .byte  196,99,125,8,208,1                  // vroundps      $0x1,%ymm0,%ymm10
20963  .byte  196,65,124,92,210                   // vsubps        %ymm10,%ymm0,%ymm10
20964  .byte  196,98,125,24,29,189,72,0,0         // vbroadcastss  0x48bd(%rip),%ymm11        # 7a84 <_sk_callback_avx+0x2d4>
20965  .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
20966  .byte  196,98,125,24,29,179,72,0,0         // vbroadcastss  0x48b3(%rip),%ymm11        # 7a88 <_sk_callback_avx+0x2d8>
20967  .byte  196,65,44,89,219                    // vmulps        %ymm11,%ymm10,%ymm11
20968  .byte  196,193,124,92,195                  // vsubps        %ymm11,%ymm0,%ymm0
20969  .byte  196,98,125,24,29,164,72,0,0         // vbroadcastss  0x48a4(%rip),%ymm11        # 7a8c <_sk_callback_avx+0x2dc>
20970  .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%ymm10
20971  .byte  196,98,125,24,29,154,72,0,0         // vbroadcastss  0x489a(%rip),%ymm11        # 7a90 <_sk_callback_avx+0x2e0>
20972  .byte  196,65,36,94,210                    // vdivps        %ymm10,%ymm11,%ymm10
20973  .byte  196,193,124,88,194                  // vaddps        %ymm10,%ymm0,%ymm0
20974  .byte  196,98,125,24,21,139,72,0,0         // vbroadcastss  0x488b(%rip),%ymm10        # 7a94 <_sk_callback_avx+0x2e4>
20975  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
20976  .byte  197,253,91,192                      // vcvtps2dq     %ymm0,%ymm0
20977  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
20978  .byte  196,193,124,88,194                  // vaddps        %ymm10,%ymm0,%ymm0
20979  .byte  196,195,125,74,193,128              // vblendvps     %ymm8,%ymm9,%ymm0,%ymm0
20980  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
20981  .byte  196,193,124,95,192                  // vmaxps        %ymm8,%ymm0,%ymm0
20982  .byte  196,98,125,24,5,98,72,0,0           // vbroadcastss  0x4862(%rip),%ymm8        # 7a98 <_sk_callback_avx+0x2e8>
20983  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
20984  .byte  72,173                              // lods          %ds:(%rsi),%rax
20985  .byte  255,224                             // jmpq          *%rax
20986
20987HIDDEN _sk_parametric_g_avx
20988.globl _sk_parametric_g_avx
20989FUNCTION(_sk_parametric_g_avx)
20990_sk_parametric_g_avx:
20991  .byte  72,173                              // lods          %ds:(%rsi),%rax
20992  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
20993  .byte  196,65,116,194,192,2                // vcmpleps      %ymm8,%ymm1,%ymm8
20994  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
20995  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
20996  .byte  197,52,89,201                       // vmulps        %ymm1,%ymm9,%ymm9
20997  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
20998  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
20999  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
21000  .byte  197,172,89,201                      // vmulps        %ymm1,%ymm10,%ymm1
21001  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
21002  .byte  196,98,125,24,16                    // vbroadcastss  (%rax),%ymm10
21003  .byte  197,124,91,217                      // vcvtdq2ps     %ymm1,%ymm11
21004  .byte  196,98,125,24,37,19,72,0,0          // vbroadcastss  0x4813(%rip),%ymm12        # 7a9c <_sk_callback_avx+0x2ec>
21005  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
21006  .byte  196,98,125,24,37,9,72,0,0           // vbroadcastss  0x4809(%rip),%ymm12        # 7aa0 <_sk_callback_avx+0x2f0>
21007  .byte  196,193,116,84,204                  // vandps        %ymm12,%ymm1,%ymm1
21008  .byte  196,98,125,24,37,255,71,0,0         // vbroadcastss  0x47ff(%rip),%ymm12        # 7aa4 <_sk_callback_avx+0x2f4>
21009  .byte  196,193,116,86,204                  // vorps         %ymm12,%ymm1,%ymm1
21010  .byte  196,98,125,24,37,245,71,0,0         // vbroadcastss  0x47f5(%rip),%ymm12        # 7aa8 <_sk_callback_avx+0x2f8>
21011  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
21012  .byte  196,98,125,24,37,235,71,0,0         // vbroadcastss  0x47eb(%rip),%ymm12        # 7aac <_sk_callback_avx+0x2fc>
21013  .byte  196,65,116,89,228                   // vmulps        %ymm12,%ymm1,%ymm12
21014  .byte  196,65,36,92,220                    // vsubps        %ymm12,%ymm11,%ymm11
21015  .byte  196,98,125,24,37,220,71,0,0         // vbroadcastss  0x47dc(%rip),%ymm12        # 7ab0 <_sk_callback_avx+0x300>
21016  .byte  196,193,116,88,204                  // vaddps        %ymm12,%ymm1,%ymm1
21017  .byte  196,98,125,24,37,210,71,0,0         // vbroadcastss  0x47d2(%rip),%ymm12        # 7ab4 <_sk_callback_avx+0x304>
21018  .byte  197,156,94,201                      // vdivps        %ymm1,%ymm12,%ymm1
21019  .byte  197,164,92,201                      // vsubps        %ymm1,%ymm11,%ymm1
21020  .byte  197,172,89,201                      // vmulps        %ymm1,%ymm10,%ymm1
21021  .byte  196,99,125,8,209,1                  // vroundps      $0x1,%ymm1,%ymm10
21022  .byte  196,65,116,92,210                   // vsubps        %ymm10,%ymm1,%ymm10
21023  .byte  196,98,125,24,29,182,71,0,0         // vbroadcastss  0x47b6(%rip),%ymm11        # 7ab8 <_sk_callback_avx+0x308>
21024  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
21025  .byte  196,98,125,24,29,172,71,0,0         // vbroadcastss  0x47ac(%rip),%ymm11        # 7abc <_sk_callback_avx+0x30c>
21026  .byte  196,65,44,89,219                    // vmulps        %ymm11,%ymm10,%ymm11
21027  .byte  196,193,116,92,203                  // vsubps        %ymm11,%ymm1,%ymm1
21028  .byte  196,98,125,24,29,157,71,0,0         // vbroadcastss  0x479d(%rip),%ymm11        # 7ac0 <_sk_callback_avx+0x310>
21029  .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%ymm10
21030  .byte  196,98,125,24,29,147,71,0,0         // vbroadcastss  0x4793(%rip),%ymm11        # 7ac4 <_sk_callback_avx+0x314>
21031  .byte  196,65,36,94,210                    // vdivps        %ymm10,%ymm11,%ymm10
21032  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
21033  .byte  196,98,125,24,21,132,71,0,0         // vbroadcastss  0x4784(%rip),%ymm10        # 7ac8 <_sk_callback_avx+0x318>
21034  .byte  196,193,116,89,202                  // vmulps        %ymm10,%ymm1,%ymm1
21035  .byte  197,253,91,201                      // vcvtps2dq     %ymm1,%ymm1
21036  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
21037  .byte  196,193,116,88,202                  // vaddps        %ymm10,%ymm1,%ymm1
21038  .byte  196,195,117,74,201,128              // vblendvps     %ymm8,%ymm9,%ymm1,%ymm1
21039  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
21040  .byte  196,193,116,95,200                  // vmaxps        %ymm8,%ymm1,%ymm1
21041  .byte  196,98,125,24,5,91,71,0,0           // vbroadcastss  0x475b(%rip),%ymm8        # 7acc <_sk_callback_avx+0x31c>
21042  .byte  196,193,116,93,200                  // vminps        %ymm8,%ymm1,%ymm1
21043  .byte  72,173                              // lods          %ds:(%rsi),%rax
21044  .byte  255,224                             // jmpq          *%rax
21045
21046HIDDEN _sk_parametric_b_avx
21047.globl _sk_parametric_b_avx
21048FUNCTION(_sk_parametric_b_avx)
21049_sk_parametric_b_avx:
21050  .byte  72,173                              // lods          %ds:(%rsi),%rax
21051  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
21052  .byte  196,65,108,194,192,2                // vcmpleps      %ymm8,%ymm2,%ymm8
21053  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
21054  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
21055  .byte  197,52,89,202                       // vmulps        %ymm2,%ymm9,%ymm9
21056  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
21057  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
21058  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
21059  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
21060  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
21061  .byte  196,98,125,24,16                    // vbroadcastss  (%rax),%ymm10
21062  .byte  197,124,91,218                      // vcvtdq2ps     %ymm2,%ymm11
21063  .byte  196,98,125,24,37,12,71,0,0          // vbroadcastss  0x470c(%rip),%ymm12        # 7ad0 <_sk_callback_avx+0x320>
21064  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
21065  .byte  196,98,125,24,37,2,71,0,0           // vbroadcastss  0x4702(%rip),%ymm12        # 7ad4 <_sk_callback_avx+0x324>
21066  .byte  196,193,108,84,212                  // vandps        %ymm12,%ymm2,%ymm2
21067  .byte  196,98,125,24,37,248,70,0,0         // vbroadcastss  0x46f8(%rip),%ymm12        # 7ad8 <_sk_callback_avx+0x328>
21068  .byte  196,193,108,86,212                  // vorps         %ymm12,%ymm2,%ymm2
21069  .byte  196,98,125,24,37,238,70,0,0         // vbroadcastss  0x46ee(%rip),%ymm12        # 7adc <_sk_callback_avx+0x32c>
21070  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
21071  .byte  196,98,125,24,37,228,70,0,0         // vbroadcastss  0x46e4(%rip),%ymm12        # 7ae0 <_sk_callback_avx+0x330>
21072  .byte  196,65,108,89,228                   // vmulps        %ymm12,%ymm2,%ymm12
21073  .byte  196,65,36,92,220                    // vsubps        %ymm12,%ymm11,%ymm11
21074  .byte  196,98,125,24,37,213,70,0,0         // vbroadcastss  0x46d5(%rip),%ymm12        # 7ae4 <_sk_callback_avx+0x334>
21075  .byte  196,193,108,88,212                  // vaddps        %ymm12,%ymm2,%ymm2
21076  .byte  196,98,125,24,37,203,70,0,0         // vbroadcastss  0x46cb(%rip),%ymm12        # 7ae8 <_sk_callback_avx+0x338>
21077  .byte  197,156,94,210                      // vdivps        %ymm2,%ymm12,%ymm2
21078  .byte  197,164,92,210                      // vsubps        %ymm2,%ymm11,%ymm2
21079  .byte  197,172,89,210                      // vmulps        %ymm2,%ymm10,%ymm2
21080  .byte  196,99,125,8,210,1                  // vroundps      $0x1,%ymm2,%ymm10
21081  .byte  196,65,108,92,210                   // vsubps        %ymm10,%ymm2,%ymm10
21082  .byte  196,98,125,24,29,175,70,0,0         // vbroadcastss  0x46af(%rip),%ymm11        # 7aec <_sk_callback_avx+0x33c>
21083  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
21084  .byte  196,98,125,24,29,165,70,0,0         // vbroadcastss  0x46a5(%rip),%ymm11        # 7af0 <_sk_callback_avx+0x340>
21085  .byte  196,65,44,89,219                    // vmulps        %ymm11,%ymm10,%ymm11
21086  .byte  196,193,108,92,211                  // vsubps        %ymm11,%ymm2,%ymm2
21087  .byte  196,98,125,24,29,150,70,0,0         // vbroadcastss  0x4696(%rip),%ymm11        # 7af4 <_sk_callback_avx+0x344>
21088  .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%ymm10
21089  .byte  196,98,125,24,29,140,70,0,0         // vbroadcastss  0x468c(%rip),%ymm11        # 7af8 <_sk_callback_avx+0x348>
21090  .byte  196,65,36,94,210                    // vdivps        %ymm10,%ymm11,%ymm10
21091  .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
21092  .byte  196,98,125,24,21,125,70,0,0         // vbroadcastss  0x467d(%rip),%ymm10        # 7afc <_sk_callback_avx+0x34c>
21093  .byte  196,193,108,89,210                  // vmulps        %ymm10,%ymm2,%ymm2
21094  .byte  197,253,91,210                      // vcvtps2dq     %ymm2,%ymm2
21095  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
21096  .byte  196,193,108,88,210                  // vaddps        %ymm10,%ymm2,%ymm2
21097  .byte  196,195,109,74,209,128              // vblendvps     %ymm8,%ymm9,%ymm2,%ymm2
21098  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
21099  .byte  196,193,108,95,208                  // vmaxps        %ymm8,%ymm2,%ymm2
21100  .byte  196,98,125,24,5,84,70,0,0           // vbroadcastss  0x4654(%rip),%ymm8        # 7b00 <_sk_callback_avx+0x350>
21101  .byte  196,193,108,93,208                  // vminps        %ymm8,%ymm2,%ymm2
21102  .byte  72,173                              // lods          %ds:(%rsi),%rax
21103  .byte  255,224                             // jmpq          *%rax
21104
21105HIDDEN _sk_parametric_a_avx
21106.globl _sk_parametric_a_avx
21107FUNCTION(_sk_parametric_a_avx)
21108_sk_parametric_a_avx:
21109  .byte  72,173                              // lods          %ds:(%rsi),%rax
21110  .byte  196,98,125,24,64,16                 // vbroadcastss  0x10(%rax),%ymm8
21111  .byte  196,65,100,194,192,2                // vcmpleps      %ymm8,%ymm3,%ymm8
21112  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
21113  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
21114  .byte  197,52,89,203                       // vmulps        %ymm3,%ymm9,%ymm9
21115  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
21116  .byte  196,98,125,24,80,4                  // vbroadcastss  0x4(%rax),%ymm10
21117  .byte  196,98,125,24,88,8                  // vbroadcastss  0x8(%rax),%ymm11
21118  .byte  197,172,89,219                      // vmulps        %ymm3,%ymm10,%ymm3
21119  .byte  196,193,100,88,219                  // vaddps        %ymm11,%ymm3,%ymm3
21120  .byte  196,98,125,24,16                    // vbroadcastss  (%rax),%ymm10
21121  .byte  197,124,91,219                      // vcvtdq2ps     %ymm3,%ymm11
21122  .byte  196,98,125,24,37,5,70,0,0           // vbroadcastss  0x4605(%rip),%ymm12        # 7b04 <_sk_callback_avx+0x354>
21123  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
21124  .byte  196,98,125,24,37,251,69,0,0         // vbroadcastss  0x45fb(%rip),%ymm12        # 7b08 <_sk_callback_avx+0x358>
21125  .byte  196,193,100,84,220                  // vandps        %ymm12,%ymm3,%ymm3
21126  .byte  196,98,125,24,37,241,69,0,0         // vbroadcastss  0x45f1(%rip),%ymm12        # 7b0c <_sk_callback_avx+0x35c>
21127  .byte  196,193,100,86,220                  // vorps         %ymm12,%ymm3,%ymm3
21128  .byte  196,98,125,24,37,231,69,0,0         // vbroadcastss  0x45e7(%rip),%ymm12        # 7b10 <_sk_callback_avx+0x360>
21129  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
21130  .byte  196,98,125,24,37,221,69,0,0         // vbroadcastss  0x45dd(%rip),%ymm12        # 7b14 <_sk_callback_avx+0x364>
21131  .byte  196,65,100,89,228                   // vmulps        %ymm12,%ymm3,%ymm12
21132  .byte  196,65,36,92,220                    // vsubps        %ymm12,%ymm11,%ymm11
21133  .byte  196,98,125,24,37,206,69,0,0         // vbroadcastss  0x45ce(%rip),%ymm12        # 7b18 <_sk_callback_avx+0x368>
21134  .byte  196,193,100,88,220                  // vaddps        %ymm12,%ymm3,%ymm3
21135  .byte  196,98,125,24,37,196,69,0,0         // vbroadcastss  0x45c4(%rip),%ymm12        # 7b1c <_sk_callback_avx+0x36c>
21136  .byte  197,156,94,219                      // vdivps        %ymm3,%ymm12,%ymm3
21137  .byte  197,164,92,219                      // vsubps        %ymm3,%ymm11,%ymm3
21138  .byte  197,172,89,219                      // vmulps        %ymm3,%ymm10,%ymm3
21139  .byte  196,99,125,8,211,1                  // vroundps      $0x1,%ymm3,%ymm10
21140  .byte  196,65,100,92,210                   // vsubps        %ymm10,%ymm3,%ymm10
21141  .byte  196,98,125,24,29,168,69,0,0         // vbroadcastss  0x45a8(%rip),%ymm11        # 7b20 <_sk_callback_avx+0x370>
21142  .byte  196,193,100,88,219                  // vaddps        %ymm11,%ymm3,%ymm3
21143  .byte  196,98,125,24,29,158,69,0,0         // vbroadcastss  0x459e(%rip),%ymm11        # 7b24 <_sk_callback_avx+0x374>
21144  .byte  196,65,44,89,219                    // vmulps        %ymm11,%ymm10,%ymm11
21145  .byte  196,193,100,92,219                  // vsubps        %ymm11,%ymm3,%ymm3
21146  .byte  196,98,125,24,29,143,69,0,0         // vbroadcastss  0x458f(%rip),%ymm11        # 7b28 <_sk_callback_avx+0x378>
21147  .byte  196,65,36,92,210                    // vsubps        %ymm10,%ymm11,%ymm10
21148  .byte  196,98,125,24,29,133,69,0,0         // vbroadcastss  0x4585(%rip),%ymm11        # 7b2c <_sk_callback_avx+0x37c>
21149  .byte  196,65,36,94,210                    // vdivps        %ymm10,%ymm11,%ymm10
21150  .byte  196,193,100,88,218                  // vaddps        %ymm10,%ymm3,%ymm3
21151  .byte  196,98,125,24,21,118,69,0,0         // vbroadcastss  0x4576(%rip),%ymm10        # 7b30 <_sk_callback_avx+0x380>
21152  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
21153  .byte  197,253,91,219                      // vcvtps2dq     %ymm3,%ymm3
21154  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
21155  .byte  196,193,100,88,218                  // vaddps        %ymm10,%ymm3,%ymm3
21156  .byte  196,195,101,74,217,128              // vblendvps     %ymm8,%ymm9,%ymm3,%ymm3
21157  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
21158  .byte  196,193,100,95,216                  // vmaxps        %ymm8,%ymm3,%ymm3
21159  .byte  196,98,125,24,5,77,69,0,0           // vbroadcastss  0x454d(%rip),%ymm8        # 7b34 <_sk_callback_avx+0x384>
21160  .byte  196,193,100,93,216                  // vminps        %ymm8,%ymm3,%ymm3
21161  .byte  72,173                              // lods          %ds:(%rsi),%rax
21162  .byte  255,224                             // jmpq          *%rax
21163
21164HIDDEN _sk_lab_to_xyz_avx
21165.globl _sk_lab_to_xyz_avx
21166FUNCTION(_sk_lab_to_xyz_avx)
21167_sk_lab_to_xyz_avx:
21168  .byte  196,98,125,24,5,63,69,0,0           // vbroadcastss  0x453f(%rip),%ymm8        # 7b38 <_sk_callback_avx+0x388>
21169  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
21170  .byte  196,98,125,24,5,53,69,0,0           // vbroadcastss  0x4535(%rip),%ymm8        # 7b3c <_sk_callback_avx+0x38c>
21171  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
21172  .byte  196,98,125,24,13,43,69,0,0          // vbroadcastss  0x452b(%rip),%ymm9        # 7b40 <_sk_callback_avx+0x390>
21173  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
21174  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
21175  .byte  196,193,108,88,209                  // vaddps        %ymm9,%ymm2,%ymm2
21176  .byte  196,98,125,24,5,23,69,0,0           // vbroadcastss  0x4517(%rip),%ymm8        # 7b44 <_sk_callback_avx+0x394>
21177  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
21178  .byte  196,98,125,24,5,13,69,0,0           // vbroadcastss  0x450d(%rip),%ymm8        # 7b48 <_sk_callback_avx+0x398>
21179  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
21180  .byte  196,98,125,24,5,3,69,0,0            // vbroadcastss  0x4503(%rip),%ymm8        # 7b4c <_sk_callback_avx+0x39c>
21181  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
21182  .byte  197,252,88,201                      // vaddps        %ymm1,%ymm0,%ymm1
21183  .byte  196,98,125,24,5,245,68,0,0          // vbroadcastss  0x44f5(%rip),%ymm8        # 7b50 <_sk_callback_avx+0x3a0>
21184  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
21185  .byte  197,252,92,210                      // vsubps        %ymm2,%ymm0,%ymm2
21186  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
21187  .byte  196,65,116,89,192                   // vmulps        %ymm8,%ymm1,%ymm8
21188  .byte  196,98,125,24,13,222,68,0,0         // vbroadcastss  0x44de(%rip),%ymm9        # 7b54 <_sk_callback_avx+0x3a4>
21189  .byte  196,65,52,194,208,1                 // vcmpltps      %ymm8,%ymm9,%ymm10
21190  .byte  196,98,125,24,29,211,68,0,0         // vbroadcastss  0x44d3(%rip),%ymm11        # 7b58 <_sk_callback_avx+0x3a8>
21191  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
21192  .byte  196,98,125,24,37,201,68,0,0         // vbroadcastss  0x44c9(%rip),%ymm12        # 7b5c <_sk_callback_avx+0x3ac>
21193  .byte  196,193,116,89,204                  // vmulps        %ymm12,%ymm1,%ymm1
21194  .byte  196,67,117,74,192,160               // vblendvps     %ymm10,%ymm8,%ymm1,%ymm8
21195  .byte  197,252,89,200                      // vmulps        %ymm0,%ymm0,%ymm1
21196  .byte  197,252,89,201                      // vmulps        %ymm1,%ymm0,%ymm1
21197  .byte  197,52,194,209,1                    // vcmpltps      %ymm1,%ymm9,%ymm10
21198  .byte  196,193,124,88,195                  // vaddps        %ymm11,%ymm0,%ymm0
21199  .byte  196,193,124,89,196                  // vmulps        %ymm12,%ymm0,%ymm0
21200  .byte  196,227,125,74,201,160              // vblendvps     %ymm10,%ymm1,%ymm0,%ymm1
21201  .byte  197,236,89,194                      // vmulps        %ymm2,%ymm2,%ymm0
21202  .byte  197,236,89,192                      // vmulps        %ymm0,%ymm2,%ymm0
21203  .byte  197,52,194,200,1                    // vcmpltps      %ymm0,%ymm9,%ymm9
21204  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
21205  .byte  196,193,108,89,212                  // vmulps        %ymm12,%ymm2,%ymm2
21206  .byte  196,227,109,74,208,144              // vblendvps     %ymm9,%ymm0,%ymm2,%ymm2
21207  .byte  196,226,125,24,5,127,68,0,0         // vbroadcastss  0x447f(%rip),%ymm0        # 7b60 <_sk_callback_avx+0x3b0>
21208  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
21209  .byte  196,98,125,24,5,118,68,0,0          // vbroadcastss  0x4476(%rip),%ymm8        # 7b64 <_sk_callback_avx+0x3b4>
21210  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
21211  .byte  72,173                              // lods          %ds:(%rsi),%rax
21212  .byte  255,224                             // jmpq          *%rax
21213
21214HIDDEN _sk_load_a8_avx
21215.globl _sk_load_a8_avx
21216FUNCTION(_sk_load_a8_avx)
21217_sk_load_a8_avx:
21218  .byte  72,173                              // lods          %ds:(%rsi),%rax
21219  .byte  76,139,24                           // mov           (%rax),%r11
21220  .byte  77,133,192                          // test          %r8,%r8
21221  .byte  117,66                              // jne           3743 <_sk_load_a8_avx+0x4c>
21222  .byte  196,194,121,48,4,19                 // vpmovzxbw     (%r11,%rdx,1),%xmm0
21223  .byte  197,249,219,5,81,71,0,0             // vpand         0x4751(%rip),%xmm0,%xmm0        # 7e60 <_sk_callback_avx+0x6b0>
21224  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
21225  .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
21226  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
21227  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
21228  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
21229  .byte  196,226,125,24,13,57,68,0,0         // vbroadcastss  0x4439(%rip),%ymm1        # 7b68 <_sk_callback_avx+0x3b8>
21230  .byte  197,252,89,217                      // vmulps        %ymm1,%ymm0,%ymm3
21231  .byte  72,173                              // lods          %ds:(%rsi),%rax
21232  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
21233  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
21234  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
21235  .byte  255,224                             // jmpq          *%rax
21236  .byte  69,137,193                          // mov           %r8d,%r9d
21237  .byte  65,128,225,7                        // and           $0x7,%r9b
21238  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
21239  .byte  65,254,201                          // dec           %r9b
21240  .byte  65,128,249,6                        // cmp           $0x6,%r9b
21241  .byte  119,176                             // ja            3707 <_sk_load_a8_avx+0x10>
21242  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
21243  .byte  76,141,21,122,0,0,0                 // lea           0x7a(%rip),%r10        # 37dc <_sk_load_a8_avx+0xe5>
21244  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
21245  .byte  76,1,208                            // add           %r10,%rax
21246  .byte  255,224                             // jmpq          *%rax
21247  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
21248  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
21249  .byte  235,145                             // jmp           3707 <_sk_load_a8_avx+0x10>
21250  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
21251  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
21252  .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
21253  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
21254  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
21255  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
21256  .byte  196,227,121,14,193,3                // vpblendw      $0x3,%xmm1,%xmm0,%xmm0
21257  .byte  233,105,255,255,255                 // jmpq          3707 <_sk_load_a8_avx+0x10>
21258  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
21259  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
21260  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
21261  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
21262  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
21263  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
21264  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
21265  .byte  196,193,121,110,12,19               // vmovd         (%r11,%rdx,1),%xmm1
21266  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
21267  .byte  196,227,113,14,192,240              // vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
21268  .byte  233,46,255,255,255                  // jmpq          3707 <_sk_load_a8_avx+0x10>
21269  .byte  15,31,0                             // nopl          (%rax)
21270  .byte  143                                 // (bad)
21271  .byte  255                                 // (bad)
21272  .byte  255                                 // (bad)
21273  .byte  255,169,255,255,255,154             // ljmp          *-0x65000001(%rcx)
21274  .byte  255                                 // (bad)
21275  .byte  255                                 // (bad)
21276  .byte  255,231                             // jmpq          *%rdi
21277  .byte  255                                 // (bad)
21278  .byte  255                                 // (bad)
21279  .byte  255                                 // (bad)
21280  .byte  220,255                             // fdivr         %st,%st(7)
21281  .byte  255                                 // (bad)
21282  .byte  255,209                             // callq         *%rcx
21283  .byte  255                                 // (bad)
21284  .byte  255                                 // (bad)
21285  .byte  255,194                             // inc           %edx
21286  .byte  255                                 // (bad)
21287  .byte  255                                 // (bad)
21288  .byte  255                                 // .byte         0xff
21289
21290HIDDEN _sk_load_a8_dst_avx
21291.globl _sk_load_a8_dst_avx
21292FUNCTION(_sk_load_a8_dst_avx)
21293_sk_load_a8_dst_avx:
21294  .byte  72,173                              // lods          %ds:(%rsi),%rax
21295  .byte  76,139,24                           // mov           (%rax),%r11
21296  .byte  77,133,192                          // test          %r8,%r8
21297  .byte  117,66                              // jne           3844 <_sk_load_a8_dst_avx+0x4c>
21298  .byte  196,194,121,48,36,19                // vpmovzxbw     (%r11,%rdx,1),%xmm4
21299  .byte  197,217,219,37,96,70,0,0            // vpand         0x4660(%rip),%xmm4,%xmm4        # 7e70 <_sk_callback_avx+0x6c0>
21300  .byte  197,209,239,237                     // vpxor         %xmm5,%xmm5,%xmm5
21301  .byte  197,217,105,237                     // vpunpckhwd    %xmm5,%xmm4,%xmm5
21302  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
21303  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
21304  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
21305  .byte  196,226,125,24,45,60,67,0,0         // vbroadcastss  0x433c(%rip),%ymm5        # 7b6c <_sk_callback_avx+0x3bc>
21306  .byte  197,220,89,253                      // vmulps        %ymm5,%ymm4,%ymm7
21307  .byte  72,173                              // lods          %ds:(%rsi),%rax
21308  .byte  197,220,87,228                      // vxorps        %ymm4,%ymm4,%ymm4
21309  .byte  197,212,87,237                      // vxorps        %ymm5,%ymm5,%ymm5
21310  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
21311  .byte  255,224                             // jmpq          *%rax
21312  .byte  69,137,193                          // mov           %r8d,%r9d
21313  .byte  65,128,225,7                        // and           $0x7,%r9b
21314  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
21315  .byte  65,254,201                          // dec           %r9b
21316  .byte  65,128,249,6                        // cmp           $0x6,%r9b
21317  .byte  119,176                             // ja            3808 <_sk_load_a8_dst_avx+0x10>
21318  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
21319  .byte  76,141,21,121,0,0,0                 // lea           0x79(%rip),%r10        # 38dc <_sk_load_a8_dst_avx+0xe4>
21320  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
21321  .byte  76,1,208                            // add           %r10,%rax
21322  .byte  255,224                             // jmpq          *%rax
21323  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
21324  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
21325  .byte  235,145                             // jmp           3808 <_sk_load_a8_dst_avx+0x10>
21326  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
21327  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
21328  .byte  197,217,196,224,2                   // vpinsrw       $0x2,%eax,%xmm4,%xmm4
21329  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
21330  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
21331  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
21332  .byte  196,227,89,14,229,3                 // vpblendw      $0x3,%xmm5,%xmm4,%xmm4
21333  .byte  233,105,255,255,255                 // jmpq          3808 <_sk_load_a8_dst_avx+0x10>
21334  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
21335  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
21336  .byte  197,217,196,224,6                   // vpinsrw       $0x6,%eax,%xmm4,%xmm4
21337  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
21338  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
21339  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
21340  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
21341  .byte  196,193,121,110,44,19               // vmovd         (%r11,%rdx,1),%xmm5
21342  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
21343  .byte  196,227,81,14,228,240               // vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
21344  .byte  233,46,255,255,255                  // jmpq          3808 <_sk_load_a8_dst_avx+0x10>
21345  .byte  102,144                             // xchg          %ax,%ax
21346  .byte  144                                 // nop
21347  .byte  255                                 // (bad)
21348  .byte  255                                 // (bad)
21349  .byte  255,170,255,255,255,155             // ljmp          *-0x64000001(%rdx)
21350  .byte  255                                 // (bad)
21351  .byte  255                                 // (bad)
21352  .byte  255                                 // (bad)
21353  .byte  232,255,255,255,221                 // callq         ffffffffde0038ec <_sk_callback_avx+0xffffffffddffc13c>
21354  .byte  255                                 // (bad)
21355  .byte  255                                 // (bad)
21356  .byte  255,210                             // callq         *%rdx
21357  .byte  255                                 // (bad)
21358  .byte  255                                 // (bad)
21359  .byte  255,195                             // inc           %ebx
21360  .byte  255                                 // (bad)
21361  .byte  255                                 // (bad)
21362  .byte  255                                 // .byte         0xff
21363
21364HIDDEN _sk_gather_a8_avx
21365.globl _sk_gather_a8_avx
21366FUNCTION(_sk_gather_a8_avx)
21367_sk_gather_a8_avx:
21368  .byte  72,173                              // lods          %ds:(%rsi),%rax
21369  .byte  76,139,8                            // mov           (%rax),%r9
21370  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
21371  .byte  197,249,110,80,8                    // vmovd         0x8(%rax),%xmm2
21372  .byte  197,249,112,210,0                   // vpshufd       $0x0,%xmm2,%xmm2
21373  .byte  196,226,105,64,217                  // vpmulld       %xmm1,%xmm2,%xmm3
21374  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
21375  .byte  196,226,105,64,201                  // vpmulld       %xmm1,%xmm2,%xmm1
21376  .byte  197,254,91,208                      // vcvttps2dq    %ymm0,%ymm2
21377  .byte  196,227,125,25,208,1                // vextractf128  $0x1,%ymm2,%xmm0
21378  .byte  197,241,254,192                     // vpaddd        %xmm0,%xmm1,%xmm0
21379  .byte  197,225,254,202                     // vpaddd        %xmm2,%xmm3,%xmm1
21380  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
21381  .byte  68,137,208                          // mov           %r10d,%eax
21382  .byte  196,195,121,32,20,1,0               // vpinsrb       $0x0,(%r9,%rax,1),%xmm0,%xmm2
21383  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
21384  .byte  73,193,234,32                       // shr           $0x20,%r10
21385  .byte  196,131,105,32,12,17,1              // vpinsrb       $0x1,(%r9,%r10,1),%xmm2,%xmm1
21386  .byte  68,137,216                          // mov           %r11d,%eax
21387  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
21388  .byte  196,227,113,32,200,2                // vpinsrb       $0x2,%eax,%xmm1,%xmm1
21389  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
21390  .byte  73,193,235,32                       // shr           $0x20,%r11
21391  .byte  67,15,182,4,25                      // movzbl        (%r9,%r11,1),%eax
21392  .byte  196,227,113,32,200,3                // vpinsrb       $0x3,%eax,%xmm1,%xmm1
21393  .byte  68,137,208                          // mov           %r10d,%eax
21394  .byte  196,195,121,32,20,1,0               // vpinsrb       $0x0,(%r9,%rax,1),%xmm0,%xmm2
21395  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
21396  .byte  73,193,234,32                       // shr           $0x20,%r10
21397  .byte  196,131,105,32,4,17,1               // vpinsrb       $0x1,(%r9,%r10,1),%xmm2,%xmm0
21398  .byte  68,137,216                          // mov           %r11d,%eax
21399  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
21400  .byte  196,227,121,32,192,2                // vpinsrb       $0x2,%eax,%xmm0,%xmm0
21401  .byte  73,193,235,32                       // shr           $0x20,%r11
21402  .byte  67,15,182,4,25                      // movzbl        (%r9,%r11,1),%eax
21403  .byte  196,226,121,49,201                  // vpmovzxbd     %xmm1,%xmm1
21404  .byte  196,227,121,32,192,3                // vpinsrb       $0x3,%eax,%xmm0,%xmm0
21405  .byte  196,226,121,49,192                  // vpmovzxbd     %xmm0,%xmm0
21406  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
21407  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
21408  .byte  196,226,125,24,13,172,65,0,0        // vbroadcastss  0x41ac(%rip),%ymm1        # 7b70 <_sk_callback_avx+0x3c0>
21409  .byte  197,252,89,217                      // vmulps        %ymm1,%ymm0,%ymm3
21410  .byte  72,173                              // lods          %ds:(%rsi),%rax
21411  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
21412  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
21413  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
21414  .byte  255,224                             // jmpq          *%rax
21415
21416HIDDEN _sk_store_a8_avx
21417.globl _sk_store_a8_avx
21418FUNCTION(_sk_store_a8_avx)
21419_sk_store_a8_avx:
21420  .byte  72,173                              // lods          %ds:(%rsi),%rax
21421  .byte  76,139,24                           // mov           (%rax),%r11
21422  .byte  196,98,125,24,5,142,65,0,0          // vbroadcastss  0x418e(%rip),%ymm8        # 7b74 <_sk_callback_avx+0x3c4>
21423  .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%ymm8
21424  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
21425  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
21426  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
21427  .byte  196,65,57,103,192                   // vpackuswb     %xmm8,%xmm8,%xmm8
21428  .byte  77,133,192                          // test          %r8,%r8
21429  .byte  117,10                              // jne           3a0f <_sk_store_a8_avx+0x37>
21430  .byte  196,65,123,17,4,19                  // vmovsd        %xmm8,(%r11,%rdx,1)
21431  .byte  72,173                              // lods          %ds:(%rsi),%rax
21432  .byte  255,224                             // jmpq          *%rax
21433  .byte  69,137,193                          // mov           %r8d,%r9d
21434  .byte  65,128,225,7                        // and           $0x7,%r9b
21435  .byte  65,254,201                          // dec           %r9b
21436  .byte  65,128,249,6                        // cmp           $0x6,%r9b
21437  .byte  119,236                             // ja            3a0b <_sk_store_a8_avx+0x33>
21438  .byte  196,66,121,48,192                   // vpmovzxbw     %xmm8,%xmm8
21439  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
21440  .byte  76,141,21,85,0,0,0                  // lea           0x55(%rip),%r10        # 3a84 <_sk_store_a8_avx+0xac>
21441  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
21442  .byte  76,1,208                            // add           %r10,%rax
21443  .byte  255,224                             // jmpq          *%rax
21444  .byte  196,67,121,20,4,19,0                // vpextrb       $0x0,%xmm8,(%r11,%rdx,1)
21445  .byte  235,202                             // jmp           3a0b <_sk_store_a8_avx+0x33>
21446  .byte  196,67,121,20,68,19,2,4             // vpextrb       $0x4,%xmm8,0x2(%r11,%rdx,1)
21447  .byte  196,98,57,0,5,46,68,0,0             // vpshufb       0x442e(%rip),%xmm8,%xmm8        # 7e80 <_sk_callback_avx+0x6d0>
21448  .byte  196,67,121,21,4,19,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,1)
21449  .byte  235,176                             // jmp           3a0b <_sk_store_a8_avx+0x33>
21450  .byte  196,67,121,20,68,19,6,12            // vpextrb       $0xc,%xmm8,0x6(%r11,%rdx,1)
21451  .byte  196,67,121,20,68,19,5,10            // vpextrb       $0xa,%xmm8,0x5(%r11,%rdx,1)
21452  .byte  196,67,121,20,68,19,4,8             // vpextrb       $0x8,%xmm8,0x4(%r11,%rdx,1)
21453  .byte  196,98,57,0,5,20,68,0,0             // vpshufb       0x4414(%rip),%xmm8,%xmm8        # 7e90 <_sk_callback_avx+0x6e0>
21454  .byte  196,65,121,126,4,19                 // vmovd         %xmm8,(%r11,%rdx,1)
21455  .byte  235,135                             // jmp           3a0b <_sk_store_a8_avx+0x33>
21456  .byte  180,255                             // mov           $0xff,%ah
21457  .byte  255                                 // (bad)
21458  .byte  255,197                             // inc           %ebp
21459  .byte  255                                 // (bad)
21460  .byte  255                                 // (bad)
21461  .byte  255                                 // (bad)
21462  .byte  189,255,255,255,239                 // mov           $0xefffffff,%ebp
21463  .byte  255                                 // (bad)
21464  .byte  255                                 // (bad)
21465  .byte  255,231                             // jmpq          *%rdi
21466  .byte  255                                 // (bad)
21467  .byte  255                                 // (bad)
21468  .byte  255                                 // (bad)
21469  .byte  223,255                             // (bad)
21470  .byte  255                                 // (bad)
21471  .byte  255,215                             // callq         *%rdi
21472  .byte  255                                 // (bad)
21473  .byte  255                                 // (bad)
21474  .byte  255                                 // .byte         0xff
21475
21476HIDDEN _sk_load_g8_avx
21477.globl _sk_load_g8_avx
21478FUNCTION(_sk_load_g8_avx)
21479_sk_load_g8_avx:
21480  .byte  72,173                              // lods          %ds:(%rsi),%rax
21481  .byte  76,139,24                           // mov           (%rax),%r11
21482  .byte  77,133,192                          // test          %r8,%r8
21483  .byte  117,71                              // jne           3af1 <_sk_load_g8_avx+0x51>
21484  .byte  196,194,121,48,4,19                 // vpmovzxbw     (%r11,%rdx,1),%xmm0
21485  .byte  197,249,219,5,232,67,0,0            // vpand         0x43e8(%rip),%xmm0,%xmm0        # 7ea0 <_sk_callback_avx+0x6f0>
21486  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
21487  .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
21488  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
21489  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
21490  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
21491  .byte  196,226,125,24,13,160,64,0,0        // vbroadcastss  0x40a0(%rip),%ymm1        # 7b78 <_sk_callback_avx+0x3c8>
21492  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
21493  .byte  72,173                              // lods          %ds:(%rsi),%rax
21494  .byte  196,226,125,24,29,149,64,0,0        // vbroadcastss  0x4095(%rip),%ymm3        # 7b7c <_sk_callback_avx+0x3cc>
21495  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
21496  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
21497  .byte  255,224                             // jmpq          *%rax
21498  .byte  69,137,193                          // mov           %r8d,%r9d
21499  .byte  65,128,225,7                        // and           $0x7,%r9b
21500  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
21501  .byte  65,254,201                          // dec           %r9b
21502  .byte  65,128,249,6                        // cmp           $0x6,%r9b
21503  .byte  119,171                             // ja            3ab0 <_sk_load_g8_avx+0x10>
21504  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
21505  .byte  76,141,21,120,0,0,0                 // lea           0x78(%rip),%r10        # 3b88 <_sk_load_g8_avx+0xe8>
21506  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
21507  .byte  76,1,208                            // add           %r10,%rax
21508  .byte  255,224                             // jmpq          *%rax
21509  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
21510  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
21511  .byte  235,140                             // jmp           3ab0 <_sk_load_g8_avx+0x10>
21512  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
21513  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
21514  .byte  197,249,196,192,2                   // vpinsrw       $0x2,%eax,%xmm0,%xmm0
21515  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
21516  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
21517  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
21518  .byte  196,227,121,14,193,3                // vpblendw      $0x3,%xmm1,%xmm0,%xmm0
21519  .byte  233,100,255,255,255                 // jmpq          3ab0 <_sk_load_g8_avx+0x10>
21520  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
21521  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
21522  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
21523  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
21524  .byte  197,249,196,192,5                   // vpinsrw       $0x5,%eax,%xmm0,%xmm0
21525  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
21526  .byte  197,249,196,192,4                   // vpinsrw       $0x4,%eax,%xmm0,%xmm0
21527  .byte  196,193,121,110,12,19               // vmovd         (%r11,%rdx,1),%xmm1
21528  .byte  196,226,121,48,201                  // vpmovzxbw     %xmm1,%xmm1
21529  .byte  196,227,113,14,192,240              // vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
21530  .byte  233,41,255,255,255                  // jmpq          3ab0 <_sk_load_g8_avx+0x10>
21531  .byte  144                                 // nop
21532  .byte  145                                 // xchg          %eax,%ecx
21533  .byte  255                                 // (bad)
21534  .byte  255                                 // (bad)
21535  .byte  255,171,255,255,255,156             // ljmp          *-0x63000001(%rbx)
21536  .byte  255                                 // (bad)
21537  .byte  255                                 // (bad)
21538  .byte  255                                 // (bad)
21539  .byte  233,255,255,255,222                 // jmpq          ffffffffdf003b98 <_sk_callback_avx+0xffffffffdeffc3e8>
21540  .byte  255                                 // (bad)
21541  .byte  255                                 // (bad)
21542  .byte  255,211                             // callq         *%rbx
21543  .byte  255                                 // (bad)
21544  .byte  255                                 // (bad)
21545  .byte  255,196                             // inc           %esp
21546  .byte  255                                 // (bad)
21547  .byte  255                                 // (bad)
21548  .byte  255                                 // .byte         0xff
21549
21550HIDDEN _sk_load_g8_dst_avx
21551.globl _sk_load_g8_dst_avx
21552FUNCTION(_sk_load_g8_dst_avx)
21553_sk_load_g8_dst_avx:
21554  .byte  72,173                              // lods          %ds:(%rsi),%rax
21555  .byte  76,139,24                           // mov           (%rax),%r11
21556  .byte  77,133,192                          // test          %r8,%r8
21557  .byte  117,71                              // jne           3bf5 <_sk_load_g8_dst_avx+0x51>
21558  .byte  196,194,121,48,36,19                // vpmovzxbw     (%r11,%rdx,1),%xmm4
21559  .byte  197,217,219,37,244,66,0,0           // vpand         0x42f4(%rip),%xmm4,%xmm4        # 7eb0 <_sk_callback_avx+0x700>
21560  .byte  197,209,239,237                     // vpxor         %xmm5,%xmm5,%xmm5
21561  .byte  197,217,105,237                     // vpunpckhwd    %xmm5,%xmm4,%xmm5
21562  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
21563  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
21564  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
21565  .byte  196,226,125,24,45,164,63,0,0        // vbroadcastss  0x3fa4(%rip),%ymm5        # 7b80 <_sk_callback_avx+0x3d0>
21566  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
21567  .byte  72,173                              // lods          %ds:(%rsi),%rax
21568  .byte  196,226,125,24,61,153,63,0,0        // vbroadcastss  0x3f99(%rip),%ymm7        # 7b84 <_sk_callback_avx+0x3d4>
21569  .byte  197,252,40,236                      // vmovaps       %ymm4,%ymm5
21570  .byte  197,252,40,244                      // vmovaps       %ymm4,%ymm6
21571  .byte  255,224                             // jmpq          *%rax
21572  .byte  69,137,193                          // mov           %r8d,%r9d
21573  .byte  65,128,225,7                        // and           $0x7,%r9b
21574  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
21575  .byte  65,254,201                          // dec           %r9b
21576  .byte  65,128,249,6                        // cmp           $0x6,%r9b
21577  .byte  119,171                             // ja            3bb4 <_sk_load_g8_dst_avx+0x10>
21578  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
21579  .byte  76,141,21,120,0,0,0                 // lea           0x78(%rip),%r10        # 3c8c <_sk_load_g8_dst_avx+0xe8>
21580  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
21581  .byte  76,1,208                            // add           %r10,%rax
21582  .byte  255,224                             // jmpq          *%rax
21583  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
21584  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
21585  .byte  235,140                             // jmp           3bb4 <_sk_load_g8_dst_avx+0x10>
21586  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
21587  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
21588  .byte  197,217,196,224,2                   // vpinsrw       $0x2,%eax,%xmm4,%xmm4
21589  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
21590  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
21591  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
21592  .byte  196,227,89,14,229,3                 // vpblendw      $0x3,%xmm5,%xmm4,%xmm4
21593  .byte  233,100,255,255,255                 // jmpq          3bb4 <_sk_load_g8_dst_avx+0x10>
21594  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
21595  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
21596  .byte  197,217,196,224,6                   // vpinsrw       $0x6,%eax,%xmm4,%xmm4
21597  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
21598  .byte  197,217,196,224,5                   // vpinsrw       $0x5,%eax,%xmm4,%xmm4
21599  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
21600  .byte  197,217,196,224,4                   // vpinsrw       $0x4,%eax,%xmm4,%xmm4
21601  .byte  196,193,121,110,44,19               // vmovd         (%r11,%rdx,1),%xmm5
21602  .byte  196,226,121,48,237                  // vpmovzxbw     %xmm5,%xmm5
21603  .byte  196,227,81,14,228,240               // vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
21604  .byte  233,41,255,255,255                  // jmpq          3bb4 <_sk_load_g8_dst_avx+0x10>
21605  .byte  144                                 // nop
21606  .byte  145                                 // xchg          %eax,%ecx
21607  .byte  255                                 // (bad)
21608  .byte  255                                 // (bad)
21609  .byte  255,171,255,255,255,156             // ljmp          *-0x63000001(%rbx)
21610  .byte  255                                 // (bad)
21611  .byte  255                                 // (bad)
21612  .byte  255                                 // (bad)
21613  .byte  233,255,255,255,222                 // jmpq          ffffffffdf003c9c <_sk_callback_avx+0xffffffffdeffc4ec>
21614  .byte  255                                 // (bad)
21615  .byte  255                                 // (bad)
21616  .byte  255,211                             // callq         *%rbx
21617  .byte  255                                 // (bad)
21618  .byte  255                                 // (bad)
21619  .byte  255,196                             // inc           %esp
21620  .byte  255                                 // (bad)
21621  .byte  255                                 // (bad)
21622  .byte  255                                 // .byte         0xff
21623
21624HIDDEN _sk_gather_g8_avx
21625.globl _sk_gather_g8_avx
21626FUNCTION(_sk_gather_g8_avx)
21627_sk_gather_g8_avx:
21628  .byte  72,173                              // lods          %ds:(%rsi),%rax
21629  .byte  76,139,8                            // mov           (%rax),%r9
21630  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
21631  .byte  197,249,110,80,8                    // vmovd         0x8(%rax),%xmm2
21632  .byte  197,249,112,210,0                   // vpshufd       $0x0,%xmm2,%xmm2
21633  .byte  196,226,105,64,217                  // vpmulld       %xmm1,%xmm2,%xmm3
21634  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
21635  .byte  196,226,105,64,201                  // vpmulld       %xmm1,%xmm2,%xmm1
21636  .byte  197,254,91,208                      // vcvttps2dq    %ymm0,%ymm2
21637  .byte  196,227,125,25,208,1                // vextractf128  $0x1,%ymm2,%xmm0
21638  .byte  197,241,254,192                     // vpaddd        %xmm0,%xmm1,%xmm0
21639  .byte  197,225,254,202                     // vpaddd        %xmm2,%xmm3,%xmm1
21640  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
21641  .byte  68,137,208                          // mov           %r10d,%eax
21642  .byte  196,195,121,32,20,1,0               // vpinsrb       $0x0,(%r9,%rax,1),%xmm0,%xmm2
21643  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
21644  .byte  73,193,234,32                       // shr           $0x20,%r10
21645  .byte  196,131,105,32,12,17,1              // vpinsrb       $0x1,(%r9,%r10,1),%xmm2,%xmm1
21646  .byte  68,137,216                          // mov           %r11d,%eax
21647  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
21648  .byte  196,227,113,32,200,2                // vpinsrb       $0x2,%eax,%xmm1,%xmm1
21649  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
21650  .byte  73,193,235,32                       // shr           $0x20,%r11
21651  .byte  67,15,182,4,25                      // movzbl        (%r9,%r11,1),%eax
21652  .byte  196,227,113,32,200,3                // vpinsrb       $0x3,%eax,%xmm1,%xmm1
21653  .byte  68,137,208                          // mov           %r10d,%eax
21654  .byte  196,195,121,32,20,1,0               // vpinsrb       $0x0,(%r9,%rax,1),%xmm0,%xmm2
21655  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
21656  .byte  73,193,234,32                       // shr           $0x20,%r10
21657  .byte  196,131,105,32,4,17,1               // vpinsrb       $0x1,(%r9,%r10,1),%xmm2,%xmm0
21658  .byte  68,137,216                          // mov           %r11d,%eax
21659  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
21660  .byte  196,227,121,32,192,2                // vpinsrb       $0x2,%eax,%xmm0,%xmm0
21661  .byte  73,193,235,32                       // shr           $0x20,%r11
21662  .byte  67,15,182,4,25                      // movzbl        (%r9,%r11,1),%eax
21663  .byte  196,226,121,49,201                  // vpmovzxbd     %xmm1,%xmm1
21664  .byte  196,227,121,32,192,3                // vpinsrb       $0x3,%eax,%xmm0,%xmm0
21665  .byte  196,226,121,49,192                  // vpmovzxbd     %xmm0,%xmm0
21666  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
21667  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
21668  .byte  196,226,125,24,13,20,62,0,0         // vbroadcastss  0x3e14(%rip),%ymm1        # 7b88 <_sk_callback_avx+0x3d8>
21669  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
21670  .byte  72,173                              // lods          %ds:(%rsi),%rax
21671  .byte  196,226,125,24,29,9,62,0,0          // vbroadcastss  0x3e09(%rip),%ymm3        # 7b8c <_sk_callback_avx+0x3dc>
21672  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
21673  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
21674  .byte  255,224                             // jmpq          *%rax
21675
21676HIDDEN _sk_load_565_avx
21677.globl _sk_load_565_avx
21678FUNCTION(_sk_load_565_avx)
21679_sk_load_565_avx:
21680  .byte  72,173                              // lods          %ds:(%rsi),%rax
21681  .byte  76,139,24                           // mov           (%rax),%r11
21682  .byte  77,133,192                          // test          %r8,%r8
21683  .byte  15,133,128,0,0,0                    // jne           3e1b <_sk_load_565_avx+0x8e>
21684  .byte  196,193,122,111,4,83                // vmovdqu       (%r11,%rdx,2),%xmm0
21685  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
21686  .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
21687  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
21688  .byte  196,227,125,24,209,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm2
21689  .byte  196,226,125,24,5,211,61,0,0         // vbroadcastss  0x3dd3(%rip),%ymm0        # 7b90 <_sk_callback_avx+0x3e0>
21690  .byte  197,236,84,192                      // vandps        %ymm0,%ymm2,%ymm0
21691  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
21692  .byte  196,226,125,24,13,198,61,0,0        // vbroadcastss  0x3dc6(%rip),%ymm1        # 7b94 <_sk_callback_avx+0x3e4>
21693  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
21694  .byte  196,226,125,24,13,189,61,0,0        // vbroadcastss  0x3dbd(%rip),%ymm1        # 7b98 <_sk_callback_avx+0x3e8>
21695  .byte  197,236,84,201                      // vandps        %ymm1,%ymm2,%ymm1
21696  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
21697  .byte  196,226,125,24,29,176,61,0,0        // vbroadcastss  0x3db0(%rip),%ymm3        # 7b9c <_sk_callback_avx+0x3ec>
21698  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
21699  .byte  196,226,125,24,29,167,61,0,0        // vbroadcastss  0x3da7(%rip),%ymm3        # 7ba0 <_sk_callback_avx+0x3f0>
21700  .byte  197,236,84,211                      // vandps        %ymm3,%ymm2,%ymm2
21701  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
21702  .byte  196,226,125,24,29,154,61,0,0        // vbroadcastss  0x3d9a(%rip),%ymm3        # 7ba4 <_sk_callback_avx+0x3f4>
21703  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
21704  .byte  72,173                              // lods          %ds:(%rsi),%rax
21705  .byte  196,226,125,24,29,143,61,0,0        // vbroadcastss  0x3d8f(%rip),%ymm3        # 7ba8 <_sk_callback_avx+0x3f8>
21706  .byte  255,224                             // jmpq          *%rax
21707  .byte  69,137,193                          // mov           %r8d,%r9d
21708  .byte  65,128,225,7                        // and           $0x7,%r9b
21709  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
21710  .byte  65,254,201                          // dec           %r9b
21711  .byte  65,128,249,6                        // cmp           $0x6,%r9b
21712  .byte  15,135,110,255,255,255              // ja            3da1 <_sk_load_565_avx+0x14>
21713  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
21714  .byte  76,141,21,98,0,0,0                  // lea           0x62(%rip),%r10        # 3ea0 <_sk_load_565_avx+0x113>
21715  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
21716  .byte  76,1,208                            // add           %r10,%rax
21717  .byte  255,224                             // jmpq          *%rax
21718  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
21719  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
21720  .byte  233,76,255,255,255                  // jmpq          3da1 <_sk_load_565_avx+0x14>
21721  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
21722  .byte  196,193,121,196,68,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0
21723  .byte  196,193,121,110,12,83               // vmovd         (%r11,%rdx,2),%xmm1
21724  .byte  196,227,121,14,193,3                // vpblendw      $0x3,%xmm1,%xmm0,%xmm0
21725  .byte  233,47,255,255,255                  // jmpq          3da1 <_sk_load_565_avx+0x14>
21726  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
21727  .byte  196,193,121,196,68,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0
21728  .byte  196,193,121,196,68,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0
21729  .byte  196,193,121,196,68,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0
21730  .byte  196,193,122,126,12,83               // vmovq         (%r11,%rdx,2),%xmm1
21731  .byte  196,227,113,14,192,240              // vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
21732  .byte  233,2,255,255,255                   // jmpq          3da1 <_sk_load_565_avx+0x14>
21733  .byte  144                                 // nop
21734  .byte  167                                 // cmpsl         %es:(%rdi),%ds:(%rsi)
21735  .byte  255                                 // (bad)
21736  .byte  255                                 // (bad)
21737  .byte  255,193                             // inc           %ecx
21738  .byte  255                                 // (bad)
21739  .byte  255                                 // (bad)
21740  .byte  255,181,255,255,255,238             // pushq         -0x11000001(%rbp)
21741  .byte  255                                 // (bad)
21742  .byte  255                                 // (bad)
21743  .byte  255,230                             // jmpq          *%rsi
21744  .byte  255                                 // (bad)
21745  .byte  255                                 // (bad)
21746  .byte  255                                 // (bad)
21747  .byte  222,255                             // fdivrp        %st,%st(7)
21748  .byte  255                                 // (bad)
21749  .byte  255,210                             // callq         *%rdx
21750  .byte  255                                 // (bad)
21751  .byte  255                                 // (bad)
21752  .byte  255                                 // .byte         0xff
21753
21754HIDDEN _sk_load_565_dst_avx
21755.globl _sk_load_565_dst_avx
21756FUNCTION(_sk_load_565_dst_avx)
21757_sk_load_565_dst_avx:
21758  .byte  72,173                              // lods          %ds:(%rsi),%rax
21759  .byte  76,139,24                           // mov           (%rax),%r11
21760  .byte  77,133,192                          // test          %r8,%r8
21761  .byte  15,133,128,0,0,0                    // jne           3f4a <_sk_load_565_dst_avx+0x8e>
21762  .byte  196,193,122,111,36,83               // vmovdqu       (%r11,%rdx,2),%xmm4
21763  .byte  197,209,239,237                     // vpxor         %xmm5,%xmm5,%xmm5
21764  .byte  197,217,105,237                     // vpunpckhwd    %xmm5,%xmm4,%xmm5
21765  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
21766  .byte  196,227,93,24,245,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm6
21767  .byte  196,226,125,24,37,192,60,0,0        // vbroadcastss  0x3cc0(%rip),%ymm4        # 7bac <_sk_callback_avx+0x3fc>
21768  .byte  197,204,84,228                      // vandps        %ymm4,%ymm6,%ymm4
21769  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
21770  .byte  196,226,125,24,45,179,60,0,0        // vbroadcastss  0x3cb3(%rip),%ymm5        # 7bb0 <_sk_callback_avx+0x400>
21771  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
21772  .byte  196,226,125,24,45,170,60,0,0        // vbroadcastss  0x3caa(%rip),%ymm5        # 7bb4 <_sk_callback_avx+0x404>
21773  .byte  197,204,84,237                      // vandps        %ymm5,%ymm6,%ymm5
21774  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
21775  .byte  196,226,125,24,61,157,60,0,0        // vbroadcastss  0x3c9d(%rip),%ymm7        # 7bb8 <_sk_callback_avx+0x408>
21776  .byte  197,212,89,239                      // vmulps        %ymm7,%ymm5,%ymm5
21777  .byte  196,226,125,24,61,148,60,0,0        // vbroadcastss  0x3c94(%rip),%ymm7        # 7bbc <_sk_callback_avx+0x40c>
21778  .byte  197,204,84,247                      // vandps        %ymm7,%ymm6,%ymm6
21779  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
21780  .byte  196,226,125,24,61,135,60,0,0        // vbroadcastss  0x3c87(%rip),%ymm7        # 7bc0 <_sk_callback_avx+0x410>
21781  .byte  197,204,89,247                      // vmulps        %ymm7,%ymm6,%ymm6
21782  .byte  72,173                              // lods          %ds:(%rsi),%rax
21783  .byte  196,226,125,24,61,124,60,0,0        // vbroadcastss  0x3c7c(%rip),%ymm7        # 7bc4 <_sk_callback_avx+0x414>
21784  .byte  255,224                             // jmpq          *%rax
21785  .byte  69,137,193                          // mov           %r8d,%r9d
21786  .byte  65,128,225,7                        // and           $0x7,%r9b
21787  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
21788  .byte  65,254,201                          // dec           %r9b
21789  .byte  65,128,249,6                        // cmp           $0x6,%r9b
21790  .byte  15,135,110,255,255,255              // ja            3ed0 <_sk_load_565_dst_avx+0x14>
21791  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
21792  .byte  76,141,21,99,0,0,0                  // lea           0x63(%rip),%r10        # 3fd0 <_sk_load_565_dst_avx+0x114>
21793  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
21794  .byte  76,1,208                            // add           %r10,%rax
21795  .byte  255,224                             // jmpq          *%rax
21796  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
21797  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
21798  .byte  233,76,255,255,255                  // jmpq          3ed0 <_sk_load_565_dst_avx+0x14>
21799  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
21800  .byte  196,193,89,196,100,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4
21801  .byte  196,193,121,110,44,83               // vmovd         (%r11,%rdx,2),%xmm5
21802  .byte  196,227,89,14,229,3                 // vpblendw      $0x3,%xmm5,%xmm4,%xmm4
21803  .byte  233,47,255,255,255                  // jmpq          3ed0 <_sk_load_565_dst_avx+0x14>
21804  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
21805  .byte  196,193,89,196,100,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4
21806  .byte  196,193,89,196,100,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4
21807  .byte  196,193,89,196,100,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4
21808  .byte  196,193,122,126,44,83               // vmovq         (%r11,%rdx,2),%xmm5
21809  .byte  196,227,81,14,228,240               // vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
21810  .byte  233,2,255,255,255                   // jmpq          3ed0 <_sk_load_565_dst_avx+0x14>
21811  .byte  102,144                             // xchg          %ax,%ax
21812  .byte  166                                 // cmpsb         %es:(%rdi),%ds:(%rsi)
21813  .byte  255                                 // (bad)
21814  .byte  255                                 // (bad)
21815  .byte  255,192                             // inc           %eax
21816  .byte  255                                 // (bad)
21817  .byte  255                                 // (bad)
21818  .byte  255,180,255,255,255,237,255         // pushq         -0x120001(%rdi,%rdi,8)
21819  .byte  255                                 // (bad)
21820  .byte  255,229                             // jmpq          *%rbp
21821  .byte  255                                 // (bad)
21822  .byte  255                                 // (bad)
21823  .byte  255                                 // (bad)
21824  .byte  221,255                             // (bad)
21825  .byte  255                                 // (bad)
21826  .byte  255,209                             // callq         *%rcx
21827  .byte  255                                 // (bad)
21828  .byte  255                                 // (bad)
21829  .byte  255                                 // .byte         0xff
21830
21831HIDDEN _sk_gather_565_avx
21832.globl _sk_gather_565_avx
21833FUNCTION(_sk_gather_565_avx)
21834_sk_gather_565_avx:
21835  .byte  72,173                              // lods          %ds:(%rsi),%rax
21836  .byte  76,139,8                            // mov           (%rax),%r9
21837  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
21838  .byte  197,249,110,80,8                    // vmovd         0x8(%rax),%xmm2
21839  .byte  197,249,112,210,0                   // vpshufd       $0x0,%xmm2,%xmm2
21840  .byte  196,226,105,64,217                  // vpmulld       %xmm1,%xmm2,%xmm3
21841  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
21842  .byte  196,226,105,64,201                  // vpmulld       %xmm1,%xmm2,%xmm1
21843  .byte  197,254,91,208                      // vcvttps2dq    %ymm0,%ymm2
21844  .byte  196,227,125,25,208,1                // vextractf128  $0x1,%ymm2,%xmm0
21845  .byte  197,241,254,192                     // vpaddd        %xmm0,%xmm1,%xmm0
21846  .byte  197,225,254,202                     // vpaddd        %xmm2,%xmm3,%xmm1
21847  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
21848  .byte  68,137,208                          // mov           %r10d,%eax
21849  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
21850  .byte  197,249,110,208                     // vmovd         %eax,%xmm2
21851  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
21852  .byte  73,193,234,32                       // shr           $0x20,%r10
21853  .byte  67,15,183,4,81                      // movzwl        (%r9,%r10,2),%eax
21854  .byte  197,233,196,200,1                   // vpinsrw       $0x1,%eax,%xmm2,%xmm1
21855  .byte  68,137,216                          // mov           %r11d,%eax
21856  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
21857  .byte  197,241,196,200,2                   // vpinsrw       $0x2,%eax,%xmm1,%xmm1
21858  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
21859  .byte  73,193,235,32                       // shr           $0x20,%r11
21860  .byte  67,15,183,4,89                      // movzwl        (%r9,%r11,2),%eax
21861  .byte  197,241,196,200,3                   // vpinsrw       $0x3,%eax,%xmm1,%xmm1
21862  .byte  68,137,208                          // mov           %r10d,%eax
21863  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
21864  .byte  197,241,196,200,4                   // vpinsrw       $0x4,%eax,%xmm1,%xmm1
21865  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
21866  .byte  73,193,234,32                       // shr           $0x20,%r10
21867  .byte  67,15,183,4,81                      // movzwl        (%r9,%r10,2),%eax
21868  .byte  197,241,196,192,5                   // vpinsrw       $0x5,%eax,%xmm1,%xmm0
21869  .byte  68,137,216                          // mov           %r11d,%eax
21870  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
21871  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
21872  .byte  73,193,235,32                       // shr           $0x20,%r11
21873  .byte  67,15,183,4,89                      // movzwl        (%r9,%r11,2),%eax
21874  .byte  197,249,196,192,7                   // vpinsrw       $0x7,%eax,%xmm0,%xmm0
21875  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
21876  .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
21877  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
21878  .byte  196,227,125,24,209,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm2
21879  .byte  196,226,125,24,5,10,59,0,0          // vbroadcastss  0x3b0a(%rip),%ymm0        # 7bc8 <_sk_callback_avx+0x418>
21880  .byte  197,236,84,192                      // vandps        %ymm0,%ymm2,%ymm0
21881  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
21882  .byte  196,226,125,24,13,253,58,0,0        // vbroadcastss  0x3afd(%rip),%ymm1        # 7bcc <_sk_callback_avx+0x41c>
21883  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
21884  .byte  196,226,125,24,13,244,58,0,0        // vbroadcastss  0x3af4(%rip),%ymm1        # 7bd0 <_sk_callback_avx+0x420>
21885  .byte  197,236,84,201                      // vandps        %ymm1,%ymm2,%ymm1
21886  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
21887  .byte  196,226,125,24,29,231,58,0,0        // vbroadcastss  0x3ae7(%rip),%ymm3        # 7bd4 <_sk_callback_avx+0x424>
21888  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
21889  .byte  196,226,125,24,29,222,58,0,0        // vbroadcastss  0x3ade(%rip),%ymm3        # 7bd8 <_sk_callback_avx+0x428>
21890  .byte  197,236,84,211                      // vandps        %ymm3,%ymm2,%ymm2
21891  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
21892  .byte  196,226,125,24,29,209,58,0,0        // vbroadcastss  0x3ad1(%rip),%ymm3        # 7bdc <_sk_callback_avx+0x42c>
21893  .byte  197,236,89,211                      // vmulps        %ymm3,%ymm2,%ymm2
21894  .byte  72,173                              // lods          %ds:(%rsi),%rax
21895  .byte  196,226,125,24,29,198,58,0,0        // vbroadcastss  0x3ac6(%rip),%ymm3        # 7be0 <_sk_callback_avx+0x430>
21896  .byte  255,224                             // jmpq          *%rax
21897
21898HIDDEN _sk_store_565_avx
21899.globl _sk_store_565_avx
21900FUNCTION(_sk_store_565_avx)
21901_sk_store_565_avx:
21902  .byte  72,173                              // lods          %ds:(%rsi),%rax
21903  .byte  76,139,24                           // mov           (%rax),%r11
21904  .byte  196,98,125,24,5,186,58,0,0          // vbroadcastss  0x3aba(%rip),%ymm8        # 7be4 <_sk_callback_avx+0x434>
21905  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
21906  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
21907  .byte  196,193,41,114,241,11               // vpslld        $0xb,%xmm9,%xmm10
21908  .byte  196,67,125,25,201,1                 // vextractf128  $0x1,%ymm9,%xmm9
21909  .byte  196,193,49,114,241,11               // vpslld        $0xb,%xmm9,%xmm9
21910  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
21911  .byte  196,98,125,24,21,147,58,0,0         // vbroadcastss  0x3a93(%rip),%ymm10        # 7be8 <_sk_callback_avx+0x438>
21912  .byte  196,65,116,89,210                   // vmulps        %ymm10,%ymm1,%ymm10
21913  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
21914  .byte  196,193,33,114,242,5                // vpslld        $0x5,%xmm10,%xmm11
21915  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
21916  .byte  196,193,41,114,242,5                // vpslld        $0x5,%xmm10,%xmm10
21917  .byte  196,67,37,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
21918  .byte  196,65,45,86,201                    // vorpd         %ymm9,%ymm10,%ymm9
21919  .byte  196,65,108,89,192                   // vmulps        %ymm8,%ymm2,%ymm8
21920  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
21921  .byte  196,65,53,86,192                    // vorpd         %ymm8,%ymm9,%ymm8
21922  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
21923  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
21924  .byte  77,133,192                          // test          %r8,%r8
21925  .byte  117,10                              // jne           41a5 <_sk_store_565_avx+0x89>
21926  .byte  196,65,122,127,4,83                 // vmovdqu       %xmm8,(%r11,%rdx,2)
21927  .byte  72,173                              // lods          %ds:(%rsi),%rax
21928  .byte  255,224                             // jmpq          *%rax
21929  .byte  69,137,193                          // mov           %r8d,%r9d
21930  .byte  65,128,225,7                        // and           $0x7,%r9b
21931  .byte  65,254,201                          // dec           %r9b
21932  .byte  65,128,249,6                        // cmp           $0x6,%r9b
21933  .byte  119,236                             // ja            41a1 <_sk_store_565_avx+0x85>
21934  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
21935  .byte  76,141,21,68,0,0,0                  // lea           0x44(%rip),%r10        # 4204 <_sk_store_565_avx+0xe8>
21936  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
21937  .byte  76,1,208                            // add           %r10,%rax
21938  .byte  255,224                             // jmpq          *%rax
21939  .byte  196,67,121,21,4,83,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,2)
21940  .byte  235,207                             // jmp           41a1 <_sk_store_565_avx+0x85>
21941  .byte  196,67,121,21,68,83,4,2             // vpextrw       $0x2,%xmm8,0x4(%r11,%rdx,2)
21942  .byte  196,65,121,126,4,83                 // vmovd         %xmm8,(%r11,%rdx,2)
21943  .byte  235,191                             // jmp           41a1 <_sk_store_565_avx+0x85>
21944  .byte  196,67,121,21,68,83,12,6            // vpextrw       $0x6,%xmm8,0xc(%r11,%rdx,2)
21945  .byte  196,67,121,21,68,83,10,5            // vpextrw       $0x5,%xmm8,0xa(%r11,%rdx,2)
21946  .byte  196,67,121,21,68,83,8,4             // vpextrw       $0x4,%xmm8,0x8(%r11,%rdx,2)
21947  .byte  196,65,121,214,4,83                 // vmovq         %xmm8,(%r11,%rdx,2)
21948  .byte  235,159                             // jmp           41a1 <_sk_store_565_avx+0x85>
21949  .byte  102,144                             // xchg          %ax,%ax
21950  .byte  197,255,255                         // (bad)
21951  .byte  255,214                             // callq         *%rsi
21952  .byte  255                                 // (bad)
21953  .byte  255                                 // (bad)
21954  .byte  255,206                             // dec           %esi
21955  .byte  255                                 // (bad)
21956  .byte  255                                 // (bad)
21957  .byte  255,246                             // push          %rsi
21958  .byte  255                                 // (bad)
21959  .byte  255                                 // (bad)
21960  .byte  255                                 // (bad)
21961  .byte  238                                 // out           %al,(%dx)
21962  .byte  255                                 // (bad)
21963  .byte  255                                 // (bad)
21964  .byte  255,230                             // jmpq          *%rsi
21965  .byte  255                                 // (bad)
21966  .byte  255                                 // (bad)
21967  .byte  255                                 // (bad)
21968  .byte  222,255                             // fdivrp        %st,%st(7)
21969  .byte  255                                 // (bad)
21970  .byte  255                                 // .byte         0xff
21971
21972HIDDEN _sk_load_4444_avx
21973.globl _sk_load_4444_avx
21974FUNCTION(_sk_load_4444_avx)
21975_sk_load_4444_avx:
21976  .byte  72,173                              // lods          %ds:(%rsi),%rax
21977  .byte  76,139,24                           // mov           (%rax),%r11
21978  .byte  77,133,192                          // test          %r8,%r8
21979  .byte  15,133,152,0,0,0                    // jne           42c6 <_sk_load_4444_avx+0xa6>
21980  .byte  196,193,122,111,4,83                // vmovdqu       (%r11,%rdx,2),%xmm0
21981  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
21982  .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
21983  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
21984  .byte  196,227,125,24,217,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm3
21985  .byte  196,226,125,24,5,156,57,0,0         // vbroadcastss  0x399c(%rip),%ymm0        # 7bec <_sk_callback_avx+0x43c>
21986  .byte  197,228,84,192                      // vandps        %ymm0,%ymm3,%ymm0
21987  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
21988  .byte  196,226,125,24,13,143,57,0,0        // vbroadcastss  0x398f(%rip),%ymm1        # 7bf0 <_sk_callback_avx+0x440>
21989  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
21990  .byte  196,226,125,24,13,134,57,0,0        // vbroadcastss  0x3986(%rip),%ymm1        # 7bf4 <_sk_callback_avx+0x444>
21991  .byte  197,228,84,201                      // vandps        %ymm1,%ymm3,%ymm1
21992  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
21993  .byte  196,226,125,24,21,121,57,0,0        // vbroadcastss  0x3979(%rip),%ymm2        # 7bf8 <_sk_callback_avx+0x448>
21994  .byte  197,244,89,202                      // vmulps        %ymm2,%ymm1,%ymm1
21995  .byte  196,226,125,24,21,112,57,0,0        // vbroadcastss  0x3970(%rip),%ymm2        # 7bfc <_sk_callback_avx+0x44c>
21996  .byte  197,228,84,210                      // vandps        %ymm2,%ymm3,%ymm2
21997  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
21998  .byte  196,98,125,24,5,99,57,0,0           // vbroadcastss  0x3963(%rip),%ymm8        # 7c00 <_sk_callback_avx+0x450>
21999  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
22000  .byte  196,98,125,24,5,89,57,0,0           // vbroadcastss  0x3959(%rip),%ymm8        # 7c04 <_sk_callback_avx+0x454>
22001  .byte  196,193,100,84,216                  // vandps        %ymm8,%ymm3,%ymm3
22002  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
22003  .byte  196,98,125,24,5,75,57,0,0           // vbroadcastss  0x394b(%rip),%ymm8        # 7c08 <_sk_callback_avx+0x458>
22004  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
22005  .byte  72,173                              // lods          %ds:(%rsi),%rax
22006  .byte  255,224                             // jmpq          *%rax
22007  .byte  69,137,193                          // mov           %r8d,%r9d
22008  .byte  65,128,225,7                        // and           $0x7,%r9b
22009  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
22010  .byte  65,254,201                          // dec           %r9b
22011  .byte  65,128,249,6                        // cmp           $0x6,%r9b
22012  .byte  15,135,86,255,255,255               // ja            4234 <_sk_load_4444_avx+0x14>
22013  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
22014  .byte  76,141,21,99,0,0,0                  // lea           0x63(%rip),%r10        # 434c <_sk_load_4444_avx+0x12c>
22015  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
22016  .byte  76,1,208                            // add           %r10,%rax
22017  .byte  255,224                             // jmpq          *%rax
22018  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
22019  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
22020  .byte  233,52,255,255,255                  // jmpq          4234 <_sk_load_4444_avx+0x14>
22021  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
22022  .byte  196,193,121,196,68,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm0,%xmm0
22023  .byte  196,193,121,110,12,83               // vmovd         (%r11,%rdx,2),%xmm1
22024  .byte  196,227,121,14,193,3                // vpblendw      $0x3,%xmm1,%xmm0,%xmm0
22025  .byte  233,23,255,255,255                  // jmpq          4234 <_sk_load_4444_avx+0x14>
22026  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
22027  .byte  196,193,121,196,68,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm0,%xmm0
22028  .byte  196,193,121,196,68,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm0,%xmm0
22029  .byte  196,193,121,196,68,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm0,%xmm0
22030  .byte  196,193,122,126,12,83               // vmovq         (%r11,%rdx,2),%xmm1
22031  .byte  196,227,113,14,192,240              // vpblendw      $0xf0,%xmm0,%xmm1,%xmm0
22032  .byte  233,234,254,255,255                 // jmpq          4234 <_sk_load_4444_avx+0x14>
22033  .byte  102,144                             // xchg          %ax,%ax
22034  .byte  166                                 // cmpsb         %es:(%rdi),%ds:(%rsi)
22035  .byte  255                                 // (bad)
22036  .byte  255                                 // (bad)
22037  .byte  255,192                             // inc           %eax
22038  .byte  255                                 // (bad)
22039  .byte  255                                 // (bad)
22040  .byte  255,180,255,255,255,237,255         // pushq         -0x120001(%rdi,%rdi,8)
22041  .byte  255                                 // (bad)
22042  .byte  255,229                             // jmpq          *%rbp
22043  .byte  255                                 // (bad)
22044  .byte  255                                 // (bad)
22045  .byte  255                                 // (bad)
22046  .byte  221,255                             // (bad)
22047  .byte  255                                 // (bad)
22048  .byte  255,209                             // callq         *%rcx
22049  .byte  255                                 // (bad)
22050  .byte  255                                 // (bad)
22051  .byte  255                                 // .byte         0xff
22052
22053HIDDEN _sk_load_4444_dst_avx
22054.globl _sk_load_4444_dst_avx
22055FUNCTION(_sk_load_4444_dst_avx)
22056_sk_load_4444_dst_avx:
22057  .byte  72,173                              // lods          %ds:(%rsi),%rax
22058  .byte  76,139,24                           // mov           (%rax),%r11
22059  .byte  77,133,192                          // test          %r8,%r8
22060  .byte  15,133,152,0,0,0                    // jne           440e <_sk_load_4444_dst_avx+0xa6>
22061  .byte  196,193,122,111,36,83               // vmovdqu       (%r11,%rdx,2),%xmm4
22062  .byte  197,209,239,237                     // vpxor         %xmm5,%xmm5,%xmm5
22063  .byte  197,217,105,237                     // vpunpckhwd    %xmm5,%xmm4,%xmm5
22064  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
22065  .byte  196,227,93,24,253,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm7
22066  .byte  196,226,125,24,37,116,56,0,0        // vbroadcastss  0x3874(%rip),%ymm4        # 7c0c <_sk_callback_avx+0x45c>
22067  .byte  197,196,84,228                      // vandps        %ymm4,%ymm7,%ymm4
22068  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
22069  .byte  196,226,125,24,45,103,56,0,0        // vbroadcastss  0x3867(%rip),%ymm5        # 7c10 <_sk_callback_avx+0x460>
22070  .byte  197,220,89,229                      // vmulps        %ymm5,%ymm4,%ymm4
22071  .byte  196,226,125,24,45,94,56,0,0         // vbroadcastss  0x385e(%rip),%ymm5        # 7c14 <_sk_callback_avx+0x464>
22072  .byte  197,196,84,237                      // vandps        %ymm5,%ymm7,%ymm5
22073  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
22074  .byte  196,226,125,24,53,81,56,0,0         // vbroadcastss  0x3851(%rip),%ymm6        # 7c18 <_sk_callback_avx+0x468>
22075  .byte  197,212,89,238                      // vmulps        %ymm6,%ymm5,%ymm5
22076  .byte  196,226,125,24,53,72,56,0,0         // vbroadcastss  0x3848(%rip),%ymm6        # 7c1c <_sk_callback_avx+0x46c>
22077  .byte  197,196,84,246                      // vandps        %ymm6,%ymm7,%ymm6
22078  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
22079  .byte  196,98,125,24,5,59,56,0,0           // vbroadcastss  0x383b(%rip),%ymm8        # 7c20 <_sk_callback_avx+0x470>
22080  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
22081  .byte  196,98,125,24,5,49,56,0,0           // vbroadcastss  0x3831(%rip),%ymm8        # 7c24 <_sk_callback_avx+0x474>
22082  .byte  196,193,68,84,248                   // vandps        %ymm8,%ymm7,%ymm7
22083  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
22084  .byte  196,98,125,24,5,35,56,0,0           // vbroadcastss  0x3823(%rip),%ymm8        # 7c28 <_sk_callback_avx+0x478>
22085  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
22086  .byte  72,173                              // lods          %ds:(%rsi),%rax
22087  .byte  255,224                             // jmpq          *%rax
22088  .byte  69,137,193                          // mov           %r8d,%r9d
22089  .byte  65,128,225,7                        // and           $0x7,%r9b
22090  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
22091  .byte  65,254,201                          // dec           %r9b
22092  .byte  65,128,249,6                        // cmp           $0x6,%r9b
22093  .byte  15,135,86,255,255,255               // ja            437c <_sk_load_4444_dst_avx+0x14>
22094  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
22095  .byte  76,141,21,99,0,0,0                  // lea           0x63(%rip),%r10        # 4494 <_sk_load_4444_dst_avx+0x12c>
22096  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
22097  .byte  76,1,208                            // add           %r10,%rax
22098  .byte  255,224                             // jmpq          *%rax
22099  .byte  65,15,183,4,83                      // movzwl        (%r11,%rdx,2),%eax
22100  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
22101  .byte  233,52,255,255,255                  // jmpq          437c <_sk_load_4444_dst_avx+0x14>
22102  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
22103  .byte  196,193,89,196,100,83,4,2           // vpinsrw       $0x2,0x4(%r11,%rdx,2),%xmm4,%xmm4
22104  .byte  196,193,121,110,44,83               // vmovd         (%r11,%rdx,2),%xmm5
22105  .byte  196,227,89,14,229,3                 // vpblendw      $0x3,%xmm5,%xmm4,%xmm4
22106  .byte  233,23,255,255,255                  // jmpq          437c <_sk_load_4444_dst_avx+0x14>
22107  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
22108  .byte  196,193,89,196,100,83,12,6          // vpinsrw       $0x6,0xc(%r11,%rdx,2),%xmm4,%xmm4
22109  .byte  196,193,89,196,100,83,10,5          // vpinsrw       $0x5,0xa(%r11,%rdx,2),%xmm4,%xmm4
22110  .byte  196,193,89,196,100,83,8,4           // vpinsrw       $0x4,0x8(%r11,%rdx,2),%xmm4,%xmm4
22111  .byte  196,193,122,126,44,83               // vmovq         (%r11,%rdx,2),%xmm5
22112  .byte  196,227,81,14,228,240               // vpblendw      $0xf0,%xmm4,%xmm5,%xmm4
22113  .byte  233,234,254,255,255                 // jmpq          437c <_sk_load_4444_dst_avx+0x14>
22114  .byte  102,144                             // xchg          %ax,%ax
22115  .byte  166                                 // cmpsb         %es:(%rdi),%ds:(%rsi)
22116  .byte  255                                 // (bad)
22117  .byte  255                                 // (bad)
22118  .byte  255,192                             // inc           %eax
22119  .byte  255                                 // (bad)
22120  .byte  255                                 // (bad)
22121  .byte  255,180,255,255,255,237,255         // pushq         -0x120001(%rdi,%rdi,8)
22122  .byte  255                                 // (bad)
22123  .byte  255,229                             // jmpq          *%rbp
22124  .byte  255                                 // (bad)
22125  .byte  255                                 // (bad)
22126  .byte  255                                 // (bad)
22127  .byte  221,255                             // (bad)
22128  .byte  255                                 // (bad)
22129  .byte  255,209                             // callq         *%rcx
22130  .byte  255                                 // (bad)
22131  .byte  255                                 // (bad)
22132  .byte  255                                 // .byte         0xff
22133
22134HIDDEN _sk_gather_4444_avx
22135.globl _sk_gather_4444_avx
22136FUNCTION(_sk_gather_4444_avx)
22137_sk_gather_4444_avx:
22138  .byte  72,173                              // lods          %ds:(%rsi),%rax
22139  .byte  76,139,8                            // mov           (%rax),%r9
22140  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
22141  .byte  197,249,110,80,8                    // vmovd         0x8(%rax),%xmm2
22142  .byte  197,249,112,210,0                   // vpshufd       $0x0,%xmm2,%xmm2
22143  .byte  196,226,105,64,217                  // vpmulld       %xmm1,%xmm2,%xmm3
22144  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
22145  .byte  196,226,105,64,201                  // vpmulld       %xmm1,%xmm2,%xmm1
22146  .byte  197,254,91,208                      // vcvttps2dq    %ymm0,%ymm2
22147  .byte  196,227,125,25,208,1                // vextractf128  $0x1,%ymm2,%xmm0
22148  .byte  197,241,254,192                     // vpaddd        %xmm0,%xmm1,%xmm0
22149  .byte  197,225,254,202                     // vpaddd        %xmm2,%xmm3,%xmm1
22150  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
22151  .byte  68,137,208                          // mov           %r10d,%eax
22152  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
22153  .byte  197,249,110,208                     // vmovd         %eax,%xmm2
22154  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
22155  .byte  73,193,234,32                       // shr           $0x20,%r10
22156  .byte  67,15,183,4,81                      // movzwl        (%r9,%r10,2),%eax
22157  .byte  197,233,196,200,1                   // vpinsrw       $0x1,%eax,%xmm2,%xmm1
22158  .byte  68,137,216                          // mov           %r11d,%eax
22159  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
22160  .byte  197,241,196,200,2                   // vpinsrw       $0x2,%eax,%xmm1,%xmm1
22161  .byte  196,193,249,126,194                 // vmovq         %xmm0,%r10
22162  .byte  73,193,235,32                       // shr           $0x20,%r11
22163  .byte  67,15,183,4,89                      // movzwl        (%r9,%r11,2),%eax
22164  .byte  197,241,196,200,3                   // vpinsrw       $0x3,%eax,%xmm1,%xmm1
22165  .byte  68,137,208                          // mov           %r10d,%eax
22166  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
22167  .byte  197,241,196,200,4                   // vpinsrw       $0x4,%eax,%xmm1,%xmm1
22168  .byte  196,195,249,22,195,1                // vpextrq       $0x1,%xmm0,%r11
22169  .byte  73,193,234,32                       // shr           $0x20,%r10
22170  .byte  67,15,183,4,81                      // movzwl        (%r9,%r10,2),%eax
22171  .byte  197,241,196,192,5                   // vpinsrw       $0x5,%eax,%xmm1,%xmm0
22172  .byte  68,137,216                          // mov           %r11d,%eax
22173  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
22174  .byte  197,249,196,192,6                   // vpinsrw       $0x6,%eax,%xmm0,%xmm0
22175  .byte  73,193,235,32                       // shr           $0x20,%r11
22176  .byte  67,15,183,4,89                      // movzwl        (%r9,%r11,2),%eax
22177  .byte  197,249,196,192,7                   // vpinsrw       $0x7,%eax,%xmm0,%xmm0
22178  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
22179  .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
22180  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
22181  .byte  196,227,125,24,217,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm3
22182  .byte  196,226,125,24,5,170,54,0,0         // vbroadcastss  0x36aa(%rip),%ymm0        # 7c2c <_sk_callback_avx+0x47c>
22183  .byte  197,228,84,192                      // vandps        %ymm0,%ymm3,%ymm0
22184  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
22185  .byte  196,226,125,24,13,157,54,0,0        // vbroadcastss  0x369d(%rip),%ymm1        # 7c30 <_sk_callback_avx+0x480>
22186  .byte  197,252,89,193                      // vmulps        %ymm1,%ymm0,%ymm0
22187  .byte  196,226,125,24,13,148,54,0,0        // vbroadcastss  0x3694(%rip),%ymm1        # 7c34 <_sk_callback_avx+0x484>
22188  .byte  197,228,84,201                      // vandps        %ymm1,%ymm3,%ymm1
22189  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
22190  .byte  196,226,125,24,21,135,54,0,0        // vbroadcastss  0x3687(%rip),%ymm2        # 7c38 <_sk_callback_avx+0x488>
22191  .byte  197,244,89,202                      // vmulps        %ymm2,%ymm1,%ymm1
22192  .byte  196,226,125,24,21,126,54,0,0        // vbroadcastss  0x367e(%rip),%ymm2        # 7c3c <_sk_callback_avx+0x48c>
22193  .byte  197,228,84,210                      // vandps        %ymm2,%ymm3,%ymm2
22194  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
22195  .byte  196,98,125,24,5,113,54,0,0          // vbroadcastss  0x3671(%rip),%ymm8        # 7c40 <_sk_callback_avx+0x490>
22196  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
22197  .byte  196,98,125,24,5,103,54,0,0          // vbroadcastss  0x3667(%rip),%ymm8        # 7c44 <_sk_callback_avx+0x494>
22198  .byte  196,193,100,84,216                  // vandps        %ymm8,%ymm3,%ymm3
22199  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
22200  .byte  196,98,125,24,5,89,54,0,0           // vbroadcastss  0x3659(%rip),%ymm8        # 7c48 <_sk_callback_avx+0x498>
22201  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
22202  .byte  72,173                              // lods          %ds:(%rsi),%rax
22203  .byte  255,224                             // jmpq          *%rax
22204
22205HIDDEN _sk_store_4444_avx
22206.globl _sk_store_4444_avx
22207FUNCTION(_sk_store_4444_avx)
22208_sk_store_4444_avx:
22209  .byte  72,173                              // lods          %ds:(%rsi),%rax
22210  .byte  76,139,24                           // mov           (%rax),%r11
22211  .byte  196,98,125,24,5,70,54,0,0           // vbroadcastss  0x3646(%rip),%ymm8        # 7c4c <_sk_callback_avx+0x49c>
22212  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
22213  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
22214  .byte  196,193,41,114,241,12               // vpslld        $0xc,%xmm9,%xmm10
22215  .byte  196,67,125,25,201,1                 // vextractf128  $0x1,%ymm9,%xmm9
22216  .byte  196,193,49,114,241,12               // vpslld        $0xc,%xmm9,%xmm9
22217  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
22218  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
22219  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
22220  .byte  196,193,33,114,242,8                // vpslld        $0x8,%xmm10,%xmm11
22221  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
22222  .byte  196,193,41,114,242,8                // vpslld        $0x8,%xmm10,%xmm10
22223  .byte  196,67,37,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
22224  .byte  196,65,45,86,201                    // vorpd         %ymm9,%ymm10,%ymm9
22225  .byte  196,65,108,89,208                   // vmulps        %ymm8,%ymm2,%ymm10
22226  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
22227  .byte  196,193,33,114,242,4                // vpslld        $0x4,%xmm10,%xmm11
22228  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
22229  .byte  196,193,41,114,242,4                // vpslld        $0x4,%xmm10,%xmm10
22230  .byte  196,67,37,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
22231  .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%ymm8
22232  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
22233  .byte  196,65,45,86,192                    // vorpd         %ymm8,%ymm10,%ymm8
22234  .byte  196,65,53,86,192                    // vorpd         %ymm8,%ymm9,%ymm8
22235  .byte  196,67,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm9
22236  .byte  196,66,57,43,193                    // vpackusdw     %xmm9,%xmm8,%xmm8
22237  .byte  77,133,192                          // test          %r8,%r8
22238  .byte  117,10                              // jne           469f <_sk_store_4444_avx+0xa7>
22239  .byte  196,65,122,127,4,83                 // vmovdqu       %xmm8,(%r11,%rdx,2)
22240  .byte  72,173                              // lods          %ds:(%rsi),%rax
22241  .byte  255,224                             // jmpq          *%rax
22242  .byte  69,137,193                          // mov           %r8d,%r9d
22243  .byte  65,128,225,7                        // and           $0x7,%r9b
22244  .byte  65,254,201                          // dec           %r9b
22245  .byte  65,128,249,6                        // cmp           $0x6,%r9b
22246  .byte  119,236                             // ja            469b <_sk_store_4444_avx+0xa3>
22247  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
22248  .byte  76,141,21,66,0,0,0                  // lea           0x42(%rip),%r10        # 46fc <_sk_store_4444_avx+0x104>
22249  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
22250  .byte  76,1,208                            // add           %r10,%rax
22251  .byte  255,224                             // jmpq          *%rax
22252  .byte  196,67,121,21,4,83,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,2)
22253  .byte  235,207                             // jmp           469b <_sk_store_4444_avx+0xa3>
22254  .byte  196,67,121,21,68,83,4,2             // vpextrw       $0x2,%xmm8,0x4(%r11,%rdx,2)
22255  .byte  196,65,121,126,4,83                 // vmovd         %xmm8,(%r11,%rdx,2)
22256  .byte  235,191                             // jmp           469b <_sk_store_4444_avx+0xa3>
22257  .byte  196,67,121,21,68,83,12,6            // vpextrw       $0x6,%xmm8,0xc(%r11,%rdx,2)
22258  .byte  196,67,121,21,68,83,10,5            // vpextrw       $0x5,%xmm8,0xa(%r11,%rdx,2)
22259  .byte  196,67,121,21,68,83,8,4             // vpextrw       $0x4,%xmm8,0x8(%r11,%rdx,2)
22260  .byte  196,65,121,214,4,83                 // vmovq         %xmm8,(%r11,%rdx,2)
22261  .byte  235,159                             // jmp           469b <_sk_store_4444_avx+0xa3>
22262  .byte  199                                 // (bad)
22263  .byte  255                                 // (bad)
22264  .byte  255                                 // (bad)
22265  .byte  255                                 // (bad)
22266  .byte  216,255                             // fdivr         %st(7),%st
22267  .byte  255                                 // (bad)
22268  .byte  255,208                             // callq         *%rax
22269  .byte  255                                 // (bad)
22270  .byte  255                                 // (bad)
22271  .byte  255                                 // (bad)
22272  .byte  248                                 // clc
22273  .byte  255                                 // (bad)
22274  .byte  255                                 // (bad)
22275  .byte  255,240                             // push          %rax
22276  .byte  255                                 // (bad)
22277  .byte  255                                 // (bad)
22278  .byte  255                                 // (bad)
22279  .byte  232,255,255,255,224                 // callq         ffffffffe1004714 <_sk_callback_avx+0xffffffffe0ffcf64>
22280  .byte  255                                 // (bad)
22281  .byte  255                                 // (bad)
22282  .byte  255                                 // .byte         0xff
22283
22284HIDDEN _sk_load_8888_avx
22285.globl _sk_load_8888_avx
22286FUNCTION(_sk_load_8888_avx)
22287_sk_load_8888_avx:
22288  .byte  73,137,201                          // mov           %rcx,%r9
22289  .byte  72,173                              // lods          %ds:(%rsi),%rax
22290  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
22291  .byte  76,3,16                             // add           (%rax),%r10
22292  .byte  77,133,192                          // test          %r8,%r8
22293  .byte  15,133,137,0,0,0                    // jne           47ba <_sk_load_8888_avx+0xa2>
22294  .byte  196,193,124,16,26                   // vmovups       (%r10),%ymm3
22295  .byte  197,124,40,21,162,56,0,0            // vmovaps       0x38a2(%rip),%ymm10        # 7fe0 <_sk_callback_avx+0x830>
22296  .byte  196,193,100,84,194                  // vandps        %ymm10,%ymm3,%ymm0
22297  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
22298  .byte  196,98,125,24,5,0,53,0,0            // vbroadcastss  0x3500(%rip),%ymm8        # 7c50 <_sk_callback_avx+0x4a0>
22299  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
22300  .byte  197,241,114,211,8                   // vpsrld        $0x8,%xmm3,%xmm1
22301  .byte  196,195,125,25,217,1                // vextractf128  $0x1,%ymm3,%xmm9
22302  .byte  196,193,105,114,209,8               // vpsrld        $0x8,%xmm9,%xmm2
22303  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
22304  .byte  196,193,116,84,202                  // vandps        %ymm10,%ymm1,%ymm1
22305  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
22306  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
22307  .byte  197,161,114,211,16                  // vpsrld        $0x10,%xmm3,%xmm11
22308  .byte  196,193,105,114,209,16              // vpsrld        $0x10,%xmm9,%xmm2
22309  .byte  196,227,37,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm11,%ymm2
22310  .byte  196,193,108,84,210                  // vandps        %ymm10,%ymm2,%ymm2
22311  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
22312  .byte  196,193,108,89,208                  // vmulps        %ymm8,%ymm2,%ymm2
22313  .byte  197,169,114,211,24                  // vpsrld        $0x18,%xmm3,%xmm10
22314  .byte  196,193,97,114,209,24               // vpsrld        $0x18,%xmm9,%xmm3
22315  .byte  196,227,45,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm10,%ymm3
22316  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
22317  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
22318  .byte  72,173                              // lods          %ds:(%rsi),%rax
22319  .byte  76,137,201                          // mov           %r9,%rcx
22320  .byte  255,224                             // jmpq          *%rax
22321  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
22322  .byte  68,41,193                           // sub           %r8d,%ecx
22323  .byte  192,225,3                           // shl           $0x3,%cl
22324  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
22325  .byte  72,211,232                          // shr           %cl,%rax
22326  .byte  196,225,249,110,192                 // vmovq         %rax,%xmm0
22327  .byte  196,226,121,48,192                  // vpmovzxbw     %xmm0,%xmm0
22328  .byte  196,226,121,0,13,222,54,0,0         // vpshufb       0x36de(%rip),%xmm0,%xmm1        # 7ec0 <_sk_callback_avx+0x710>
22329  .byte  196,226,121,33,201                  // vpmovsxbd     %xmm1,%xmm1
22330  .byte  196,226,121,0,5,224,54,0,0          // vpshufb       0x36e0(%rip),%xmm0,%xmm0        # 7ed0 <_sk_callback_avx+0x720>
22331  .byte  196,226,121,33,192                  // vpmovsxbd     %xmm0,%xmm0
22332  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
22333  .byte  196,194,125,44,26                   // vmaskmovps    (%r10),%ymm0,%ymm3
22334  .byte  233,49,255,255,255                  // jmpq          4736 <_sk_load_8888_avx+0x1e>
22335
22336HIDDEN _sk_load_8888_dst_avx
22337.globl _sk_load_8888_dst_avx
22338FUNCTION(_sk_load_8888_dst_avx)
22339_sk_load_8888_dst_avx:
22340  .byte  73,137,201                          // mov           %rcx,%r9
22341  .byte  72,173                              // lods          %ds:(%rsi),%rax
22342  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
22343  .byte  76,3,16                             // add           (%rax),%r10
22344  .byte  77,133,192                          // test          %r8,%r8
22345  .byte  15,133,137,0,0,0                    // jne           48a7 <_sk_load_8888_dst_avx+0xa2>
22346  .byte  196,193,124,16,58                   // vmovups       (%r10),%ymm7
22347  .byte  197,124,40,21,213,55,0,0            // vmovaps       0x37d5(%rip),%ymm10        # 8000 <_sk_callback_avx+0x850>
22348  .byte  196,193,68,84,226                   // vandps        %ymm10,%ymm7,%ymm4
22349  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
22350  .byte  196,98,125,24,5,23,52,0,0           // vbroadcastss  0x3417(%rip),%ymm8        # 7c54 <_sk_callback_avx+0x4a4>
22351  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
22352  .byte  197,209,114,215,8                   // vpsrld        $0x8,%xmm7,%xmm5
22353  .byte  196,195,125,25,249,1                // vextractf128  $0x1,%ymm7,%xmm9
22354  .byte  196,193,73,114,209,8                // vpsrld        $0x8,%xmm9,%xmm6
22355  .byte  196,227,85,24,238,1                 // vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
22356  .byte  196,193,84,84,234                   // vandps        %ymm10,%ymm5,%ymm5
22357  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
22358  .byte  196,193,84,89,232                   // vmulps        %ymm8,%ymm5,%ymm5
22359  .byte  197,161,114,215,16                  // vpsrld        $0x10,%xmm7,%xmm11
22360  .byte  196,193,73,114,209,16               // vpsrld        $0x10,%xmm9,%xmm6
22361  .byte  196,227,37,24,246,1                 // vinsertf128   $0x1,%xmm6,%ymm11,%ymm6
22362  .byte  196,193,76,84,242                   // vandps        %ymm10,%ymm6,%ymm6
22363  .byte  197,252,91,246                      // vcvtdq2ps     %ymm6,%ymm6
22364  .byte  196,193,76,89,240                   // vmulps        %ymm8,%ymm6,%ymm6
22365  .byte  197,169,114,215,24                  // vpsrld        $0x18,%xmm7,%xmm10
22366  .byte  196,193,65,114,209,24               // vpsrld        $0x18,%xmm9,%xmm7
22367  .byte  196,227,45,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm10,%ymm7
22368  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
22369  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
22370  .byte  72,173                              // lods          %ds:(%rsi),%rax
22371  .byte  76,137,201                          // mov           %r9,%rcx
22372  .byte  255,224                             // jmpq          *%rax
22373  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
22374  .byte  68,41,193                           // sub           %r8d,%ecx
22375  .byte  192,225,3                           // shl           $0x3,%cl
22376  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
22377  .byte  72,211,232                          // shr           %cl,%rax
22378  .byte  196,225,249,110,224                 // vmovq         %rax,%xmm4
22379  .byte  196,226,121,48,228                  // vpmovzxbw     %xmm4,%xmm4
22380  .byte  196,226,89,0,45,17,54,0,0           // vpshufb       0x3611(%rip),%xmm4,%xmm5        # 7ee0 <_sk_callback_avx+0x730>
22381  .byte  196,226,121,33,237                  // vpmovsxbd     %xmm5,%xmm5
22382  .byte  196,226,89,0,37,19,54,0,0           // vpshufb       0x3613(%rip),%xmm4,%xmm4        # 7ef0 <_sk_callback_avx+0x740>
22383  .byte  196,226,121,33,228                  // vpmovsxbd     %xmm4,%xmm4
22384  .byte  196,227,85,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
22385  .byte  196,194,93,44,58                    // vmaskmovps    (%r10),%ymm4,%ymm7
22386  .byte  233,49,255,255,255                  // jmpq          4823 <_sk_load_8888_dst_avx+0x1e>
22387
22388HIDDEN _sk_gather_8888_avx
22389.globl _sk_gather_8888_avx
22390FUNCTION(_sk_gather_8888_avx)
22391_sk_gather_8888_avx:
22392  .byte  72,173                              // lods          %ds:(%rsi),%rax
22393  .byte  76,139,8                            // mov           (%rax),%r9
22394  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
22395  .byte  197,249,110,80,8                    // vmovd         0x8(%rax),%xmm2
22396  .byte  197,249,112,210,0                   // vpshufd       $0x0,%xmm2,%xmm2
22397  .byte  196,226,105,64,217                  // vpmulld       %xmm1,%xmm2,%xmm3
22398  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
22399  .byte  196,226,105,64,201                  // vpmulld       %xmm1,%xmm2,%xmm1
22400  .byte  197,254,91,208                      // vcvttps2dq    %ymm0,%ymm2
22401  .byte  196,227,125,25,208,1                // vextractf128  $0x1,%ymm2,%xmm0
22402  .byte  197,241,254,192                     // vpaddd        %xmm0,%xmm1,%xmm0
22403  .byte  197,225,254,202                     // vpaddd        %xmm2,%xmm3,%xmm1
22404  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
22405  .byte  68,137,208                          // mov           %r10d,%eax
22406  .byte  196,193,121,110,20,129              // vmovd         (%r9,%rax,4),%xmm2
22407  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
22408  .byte  73,193,234,32                       // shr           $0x20,%r10
22409  .byte  196,131,105,34,12,145,1             // vpinsrd       $0x1,(%r9,%r10,4),%xmm2,%xmm1
22410  .byte  68,137,216                          // mov           %r11d,%eax
22411  .byte  196,195,113,34,12,129,2             // vpinsrd       $0x2,(%r9,%rax,4),%xmm1,%xmm1
22412  .byte  196,225,249,126,192                 // vmovq         %xmm0,%rax
22413  .byte  73,193,235,32                       // shr           $0x20,%r11
22414  .byte  196,3,113,34,4,153,3                // vpinsrd       $0x3,(%r9,%r11,4),%xmm1,%xmm8
22415  .byte  65,137,194                          // mov           %eax,%r10d
22416  .byte  72,193,232,32                       // shr           $0x20,%rax
22417  .byte  196,129,121,110,12,145              // vmovd         (%r9,%r10,4),%xmm1
22418  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
22419  .byte  196,195,113,34,4,129,1              // vpinsrd       $0x1,(%r9,%rax,4),%xmm1,%xmm0
22420  .byte  68,137,208                          // mov           %r10d,%eax
22421  .byte  196,195,121,34,4,129,2              // vpinsrd       $0x2,(%r9,%rax,4),%xmm0,%xmm0
22422  .byte  73,193,234,32                       // shr           $0x20,%r10
22423  .byte  196,131,121,34,28,145,3             // vpinsrd       $0x3,(%r9,%r10,4),%xmm0,%xmm3
22424  .byte  196,227,61,24,195,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
22425  .byte  197,124,40,21,131,54,0,0            // vmovaps       0x3683(%rip),%ymm10        # 8020 <_sk_callback_avx+0x870>
22426  .byte  196,193,124,84,194                  // vandps        %ymm10,%ymm0,%ymm0
22427  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
22428  .byte  196,98,125,24,13,169,50,0,0         // vbroadcastss  0x32a9(%rip),%ymm9        # 7c58 <_sk_callback_avx+0x4a8>
22429  .byte  196,193,124,89,193                  // vmulps        %ymm9,%ymm0,%ymm0
22430  .byte  196,193,113,114,208,8               // vpsrld        $0x8,%xmm8,%xmm1
22431  .byte  197,233,114,211,8                   // vpsrld        $0x8,%xmm3,%xmm2
22432  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
22433  .byte  196,193,116,84,202                  // vandps        %ymm10,%ymm1,%ymm1
22434  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
22435  .byte  196,193,116,89,201                  // vmulps        %ymm9,%ymm1,%ymm1
22436  .byte  196,193,33,114,208,16               // vpsrld        $0x10,%xmm8,%xmm11
22437  .byte  197,233,114,211,16                  // vpsrld        $0x10,%xmm3,%xmm2
22438  .byte  196,227,37,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm11,%ymm2
22439  .byte  196,193,108,84,210                  // vandps        %ymm10,%ymm2,%ymm2
22440  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
22441  .byte  196,193,108,89,209                  // vmulps        %ymm9,%ymm2,%ymm2
22442  .byte  196,193,57,114,208,24               // vpsrld        $0x18,%xmm8,%xmm8
22443  .byte  197,225,114,211,24                  // vpsrld        $0x18,%xmm3,%xmm3
22444  .byte  196,227,61,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
22445  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
22446  .byte  196,193,100,89,217                  // vmulps        %ymm9,%ymm3,%ymm3
22447  .byte  72,173                              // lods          %ds:(%rsi),%rax
22448  .byte  255,224                             // jmpq          *%rax
22449
22450HIDDEN _sk_store_8888_avx
22451.globl _sk_store_8888_avx
22452FUNCTION(_sk_store_8888_avx)
22453_sk_store_8888_avx:
22454  .byte  73,137,201                          // mov           %rcx,%r9
22455  .byte  72,173                              // lods          %ds:(%rsi),%rax
22456  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
22457  .byte  76,3,16                             // add           (%rax),%r10
22458  .byte  196,98,125,24,5,51,50,0,0           // vbroadcastss  0x3233(%rip),%ymm8        # 7c5c <_sk_callback_avx+0x4ac>
22459  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
22460  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
22461  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
22462  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
22463  .byte  196,193,33,114,242,8                // vpslld        $0x8,%xmm10,%xmm11
22464  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
22465  .byte  196,193,41,114,242,8                // vpslld        $0x8,%xmm10,%xmm10
22466  .byte  196,67,37,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
22467  .byte  196,65,45,86,201                    // vorpd         %ymm9,%ymm10,%ymm9
22468  .byte  196,65,108,89,208                   // vmulps        %ymm8,%ymm2,%ymm10
22469  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
22470  .byte  196,193,33,114,242,16               // vpslld        $0x10,%xmm10,%xmm11
22471  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
22472  .byte  196,193,41,114,242,16               // vpslld        $0x10,%xmm10,%xmm10
22473  .byte  196,67,37,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
22474  .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%ymm8
22475  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
22476  .byte  196,193,33,114,240,24               // vpslld        $0x18,%xmm8,%xmm11
22477  .byte  196,67,125,25,192,1                 // vextractf128  $0x1,%ymm8,%xmm8
22478  .byte  196,193,57,114,240,24               // vpslld        $0x18,%xmm8,%xmm8
22479  .byte  196,67,37,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm11,%ymm8
22480  .byte  196,65,45,86,192                    // vorpd         %ymm8,%ymm10,%ymm8
22481  .byte  196,65,53,86,192                    // vorpd         %ymm8,%ymm9,%ymm8
22482  .byte  77,133,192                          // test          %r8,%r8
22483  .byte  117,12                              // jne           4ab9 <_sk_store_8888_avx+0xa9>
22484  .byte  196,65,124,17,2                     // vmovups       %ymm8,(%r10)
22485  .byte  72,173                              // lods          %ds:(%rsi),%rax
22486  .byte  76,137,201                          // mov           %r9,%rcx
22487  .byte  255,224                             // jmpq          *%rax
22488  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
22489  .byte  68,41,193                           // sub           %r8d,%ecx
22490  .byte  192,225,3                           // shl           $0x3,%cl
22491  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
22492  .byte  72,211,232                          // shr           %cl,%rax
22493  .byte  196,97,249,110,200                  // vmovq         %rax,%xmm9
22494  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
22495  .byte  196,98,49,0,21,31,52,0,0            // vpshufb       0x341f(%rip),%xmm9,%xmm10        # 7f00 <_sk_callback_avx+0x750>
22496  .byte  196,66,121,33,210                   // vpmovsxbd     %xmm10,%xmm10
22497  .byte  196,98,49,0,13,33,52,0,0            // vpshufb       0x3421(%rip),%xmm9,%xmm9        # 7f10 <_sk_callback_avx+0x760>
22498  .byte  196,66,121,33,201                   // vpmovsxbd     %xmm9,%xmm9
22499  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
22500  .byte  196,66,53,46,2                      // vmaskmovps    %ymm8,%ymm9,(%r10)
22501  .byte  235,177                             // jmp           4ab2 <_sk_store_8888_avx+0xa2>
22502
22503HIDDEN _sk_store_8888_2d_avx
22504.globl _sk_store_8888_2d_avx
22505FUNCTION(_sk_store_8888_2d_avx)
22506_sk_store_8888_2d_avx:
22507  .byte  73,137,201                          // mov           %rcx,%r9
22508  .byte  72,173                              // lods          %ds:(%rsi),%rax
22509  .byte  72,99,72,8                          // movslq        0x8(%rax),%rcx
22510  .byte  73,15,175,201                       // imul          %r9,%rcx
22511  .byte  72,193,225,2                        // shl           $0x2,%rcx
22512  .byte  72,3,8                              // add           (%rax),%rcx
22513  .byte  72,141,4,145                        // lea           (%rcx,%rdx,4),%rax
22514  .byte  196,98,125,24,5,62,49,0,0           // vbroadcastss  0x313e(%rip),%ymm8        # 7c60 <_sk_callback_avx+0x4b0>
22515  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
22516  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
22517  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
22518  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
22519  .byte  196,193,33,114,242,8                // vpslld        $0x8,%xmm10,%xmm11
22520  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
22521  .byte  196,193,41,114,242,8                // vpslld        $0x8,%xmm10,%xmm10
22522  .byte  196,67,37,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
22523  .byte  196,65,45,86,201                    // vorpd         %ymm9,%ymm10,%ymm9
22524  .byte  196,65,108,89,208                   // vmulps        %ymm8,%ymm2,%ymm10
22525  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
22526  .byte  196,193,33,114,242,16               // vpslld        $0x10,%xmm10,%xmm11
22527  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
22528  .byte  196,193,41,114,242,16               // vpslld        $0x10,%xmm10,%xmm10
22529  .byte  196,67,37,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
22530  .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%ymm8
22531  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
22532  .byte  196,193,33,114,240,24               // vpslld        $0x18,%xmm8,%xmm11
22533  .byte  196,67,125,25,192,1                 // vextractf128  $0x1,%ymm8,%xmm8
22534  .byte  196,193,57,114,240,24               // vpslld        $0x18,%xmm8,%xmm8
22535  .byte  196,67,37,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm11,%ymm8
22536  .byte  196,65,45,86,192                    // vorpd         %ymm8,%ymm10,%ymm8
22537  .byte  196,65,53,86,192                    // vorpd         %ymm8,%ymm9,%ymm8
22538  .byte  77,133,192                          // test          %r8,%r8
22539  .byte  117,11                              // jne           4bb1 <_sk_store_8888_2d_avx+0xb0>
22540  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
22541  .byte  72,173                              // lods          %ds:(%rsi),%rax
22542  .byte  76,137,201                          // mov           %r9,%rcx
22543  .byte  255,224                             // jmpq          *%rax
22544  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
22545  .byte  68,41,193                           // sub           %r8d,%ecx
22546  .byte  192,225,3                           // shl           $0x3,%cl
22547  .byte  73,199,194,255,255,255,255          // mov           $0xffffffffffffffff,%r10
22548  .byte  73,211,234                          // shr           %cl,%r10
22549  .byte  196,65,249,110,202                  // vmovq         %r10,%xmm9
22550  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
22551  .byte  196,98,49,0,21,71,51,0,0            // vpshufb       0x3347(%rip),%xmm9,%xmm10        # 7f20 <_sk_callback_avx+0x770>
22552  .byte  196,66,121,33,210                   // vpmovsxbd     %xmm10,%xmm10
22553  .byte  196,98,49,0,13,73,51,0,0            // vpshufb       0x3349(%rip),%xmm9,%xmm9        # 7f30 <_sk_callback_avx+0x780>
22554  .byte  196,66,121,33,201                   // vpmovsxbd     %xmm9,%xmm9
22555  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
22556  .byte  196,98,53,46,0                      // vmaskmovps    %ymm8,%ymm9,(%rax)
22557  .byte  235,177                             // jmp           4baa <_sk_store_8888_2d_avx+0xa9>
22558
22559HIDDEN _sk_load_bgra_avx
22560.globl _sk_load_bgra_avx
22561FUNCTION(_sk_load_bgra_avx)
22562_sk_load_bgra_avx:
22563  .byte  73,137,201                          // mov           %rcx,%r9
22564  .byte  72,173                              // lods          %ds:(%rsi),%rax
22565  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
22566  .byte  76,3,16                             // add           (%rax),%r10
22567  .byte  77,133,192                          // test          %r8,%r8
22568  .byte  15,133,137,0,0,0                    // jne           4c9b <_sk_load_bgra_avx+0xa2>
22569  .byte  196,193,124,16,26                   // vmovups       (%r10),%ymm3
22570  .byte  197,124,40,21,33,52,0,0             // vmovaps       0x3421(%rip),%ymm10        # 8040 <_sk_callback_avx+0x890>
22571  .byte  196,193,100,84,202                  // vandps        %ymm10,%ymm3,%ymm1
22572  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
22573  .byte  196,98,125,24,5,51,48,0,0           // vbroadcastss  0x3033(%rip),%ymm8        # 7c64 <_sk_callback_avx+0x4b4>
22574  .byte  196,193,116,89,208                  // vmulps        %ymm8,%ymm1,%ymm2
22575  .byte  197,241,114,211,8                   // vpsrld        $0x8,%xmm3,%xmm1
22576  .byte  196,195,125,25,217,1                // vextractf128  $0x1,%ymm3,%xmm9
22577  .byte  196,193,121,114,209,8               // vpsrld        $0x8,%xmm9,%xmm0
22578  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
22579  .byte  196,193,124,84,194                  // vandps        %ymm10,%ymm0,%ymm0
22580  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
22581  .byte  196,193,124,89,200                  // vmulps        %ymm8,%ymm0,%ymm1
22582  .byte  197,161,114,211,16                  // vpsrld        $0x10,%xmm3,%xmm11
22583  .byte  196,193,121,114,209,16              // vpsrld        $0x10,%xmm9,%xmm0
22584  .byte  196,227,37,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm11,%ymm0
22585  .byte  196,193,124,84,194                  // vandps        %ymm10,%ymm0,%ymm0
22586  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
22587  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
22588  .byte  197,169,114,211,24                  // vpsrld        $0x18,%xmm3,%xmm10
22589  .byte  196,193,97,114,209,24               // vpsrld        $0x18,%xmm9,%xmm3
22590  .byte  196,227,45,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm10,%ymm3
22591  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
22592  .byte  196,193,100,89,216                  // vmulps        %ymm8,%ymm3,%ymm3
22593  .byte  72,173                              // lods          %ds:(%rsi),%rax
22594  .byte  76,137,201                          // mov           %r9,%rcx
22595  .byte  255,224                             // jmpq          *%rax
22596  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
22597  .byte  68,41,193                           // sub           %r8d,%ecx
22598  .byte  192,225,3                           // shl           $0x3,%cl
22599  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
22600  .byte  72,211,232                          // shr           %cl,%rax
22601  .byte  196,225,249,110,192                 // vmovq         %rax,%xmm0
22602  .byte  196,226,121,48,192                  // vpmovzxbw     %xmm0,%xmm0
22603  .byte  196,226,121,0,13,125,50,0,0         // vpshufb       0x327d(%rip),%xmm0,%xmm1        # 7f40 <_sk_callback_avx+0x790>
22604  .byte  196,226,121,33,201                  // vpmovsxbd     %xmm1,%xmm1
22605  .byte  196,226,121,0,5,127,50,0,0          // vpshufb       0x327f(%rip),%xmm0,%xmm0        # 7f50 <_sk_callback_avx+0x7a0>
22606  .byte  196,226,121,33,192                  // vpmovsxbd     %xmm0,%xmm0
22607  .byte  196,227,117,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm1,%ymm0
22608  .byte  196,194,125,44,26                   // vmaskmovps    (%r10),%ymm0,%ymm3
22609  .byte  233,49,255,255,255                  // jmpq          4c17 <_sk_load_bgra_avx+0x1e>
22610
22611HIDDEN _sk_load_bgra_dst_avx
22612.globl _sk_load_bgra_dst_avx
22613FUNCTION(_sk_load_bgra_dst_avx)
22614_sk_load_bgra_dst_avx:
22615  .byte  73,137,201                          // mov           %rcx,%r9
22616  .byte  72,173                              // lods          %ds:(%rsi),%rax
22617  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
22618  .byte  76,3,16                             // add           (%rax),%r10
22619  .byte  77,133,192                          // test          %r8,%r8
22620  .byte  15,133,137,0,0,0                    // jne           4d88 <_sk_load_bgra_dst_avx+0xa2>
22621  .byte  196,193,124,16,58                   // vmovups       (%r10),%ymm7
22622  .byte  197,124,40,21,84,51,0,0             // vmovaps       0x3354(%rip),%ymm10        # 8060 <_sk_callback_avx+0x8b0>
22623  .byte  196,193,68,84,234                   // vandps        %ymm10,%ymm7,%ymm5
22624  .byte  197,252,91,237                      // vcvtdq2ps     %ymm5,%ymm5
22625  .byte  196,98,125,24,5,74,47,0,0           // vbroadcastss  0x2f4a(%rip),%ymm8        # 7c68 <_sk_callback_avx+0x4b8>
22626  .byte  196,193,84,89,240                   // vmulps        %ymm8,%ymm5,%ymm6
22627  .byte  197,209,114,215,8                   // vpsrld        $0x8,%xmm7,%xmm5
22628  .byte  196,195,125,25,249,1                // vextractf128  $0x1,%ymm7,%xmm9
22629  .byte  196,193,89,114,209,8                // vpsrld        $0x8,%xmm9,%xmm4
22630  .byte  196,227,85,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
22631  .byte  196,193,92,84,226                   // vandps        %ymm10,%ymm4,%ymm4
22632  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
22633  .byte  196,193,92,89,232                   // vmulps        %ymm8,%ymm4,%ymm5
22634  .byte  197,161,114,215,16                  // vpsrld        $0x10,%xmm7,%xmm11
22635  .byte  196,193,89,114,209,16               // vpsrld        $0x10,%xmm9,%xmm4
22636  .byte  196,227,37,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm11,%ymm4
22637  .byte  196,193,92,84,226                   // vandps        %ymm10,%ymm4,%ymm4
22638  .byte  197,252,91,228                      // vcvtdq2ps     %ymm4,%ymm4
22639  .byte  196,193,92,89,224                   // vmulps        %ymm8,%ymm4,%ymm4
22640  .byte  197,169,114,215,24                  // vpsrld        $0x18,%xmm7,%xmm10
22641  .byte  196,193,65,114,209,24               // vpsrld        $0x18,%xmm9,%xmm7
22642  .byte  196,227,45,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm10,%ymm7
22643  .byte  197,252,91,255                      // vcvtdq2ps     %ymm7,%ymm7
22644  .byte  196,193,68,89,248                   // vmulps        %ymm8,%ymm7,%ymm7
22645  .byte  72,173                              // lods          %ds:(%rsi),%rax
22646  .byte  76,137,201                          // mov           %r9,%rcx
22647  .byte  255,224                             // jmpq          *%rax
22648  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
22649  .byte  68,41,193                           // sub           %r8d,%ecx
22650  .byte  192,225,3                           // shl           $0x3,%cl
22651  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
22652  .byte  72,211,232                          // shr           %cl,%rax
22653  .byte  196,225,249,110,224                 // vmovq         %rax,%xmm4
22654  .byte  196,226,121,48,228                  // vpmovzxbw     %xmm4,%xmm4
22655  .byte  196,226,89,0,45,176,49,0,0          // vpshufb       0x31b0(%rip),%xmm4,%xmm5        # 7f60 <_sk_callback_avx+0x7b0>
22656  .byte  196,226,121,33,237                  // vpmovsxbd     %xmm5,%xmm5
22657  .byte  196,226,89,0,37,178,49,0,0          // vpshufb       0x31b2(%rip),%xmm4,%xmm4        # 7f70 <_sk_callback_avx+0x7c0>
22658  .byte  196,226,121,33,228                  // vpmovsxbd     %xmm4,%xmm4
22659  .byte  196,227,85,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm5,%ymm4
22660  .byte  196,194,93,44,58                    // vmaskmovps    (%r10),%ymm4,%ymm7
22661  .byte  233,49,255,255,255                  // jmpq          4d04 <_sk_load_bgra_dst_avx+0x1e>
22662
22663HIDDEN _sk_gather_bgra_avx
22664.globl _sk_gather_bgra_avx
22665FUNCTION(_sk_gather_bgra_avx)
22666_sk_gather_bgra_avx:
22667  .byte  72,173                              // lods          %ds:(%rsi),%rax
22668  .byte  76,139,8                            // mov           (%rax),%r9
22669  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
22670  .byte  197,249,110,80,8                    // vmovd         0x8(%rax),%xmm2
22671  .byte  197,249,112,210,0                   // vpshufd       $0x0,%xmm2,%xmm2
22672  .byte  196,226,105,64,217                  // vpmulld       %xmm1,%xmm2,%xmm3
22673  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
22674  .byte  196,226,105,64,201                  // vpmulld       %xmm1,%xmm2,%xmm1
22675  .byte  197,254,91,208                      // vcvttps2dq    %ymm0,%ymm2
22676  .byte  196,227,125,25,208,1                // vextractf128  $0x1,%ymm2,%xmm0
22677  .byte  197,241,254,192                     // vpaddd        %xmm0,%xmm1,%xmm0
22678  .byte  197,225,254,202                     // vpaddd        %xmm2,%xmm3,%xmm1
22679  .byte  196,193,249,126,202                 // vmovq         %xmm1,%r10
22680  .byte  68,137,208                          // mov           %r10d,%eax
22681  .byte  196,193,121,110,20,129              // vmovd         (%r9,%rax,4),%xmm2
22682  .byte  196,195,249,22,203,1                // vpextrq       $0x1,%xmm1,%r11
22683  .byte  73,193,234,32                       // shr           $0x20,%r10
22684  .byte  196,131,105,34,12,145,1             // vpinsrd       $0x1,(%r9,%r10,4),%xmm2,%xmm1
22685  .byte  68,137,216                          // mov           %r11d,%eax
22686  .byte  196,195,113,34,12,129,2             // vpinsrd       $0x2,(%r9,%rax,4),%xmm1,%xmm1
22687  .byte  196,225,249,126,192                 // vmovq         %xmm0,%rax
22688  .byte  73,193,235,32                       // shr           $0x20,%r11
22689  .byte  196,3,113,34,4,153,3                // vpinsrd       $0x3,(%r9,%r11,4),%xmm1,%xmm8
22690  .byte  65,137,194                          // mov           %eax,%r10d
22691  .byte  72,193,232,32                       // shr           $0x20,%rax
22692  .byte  196,129,121,110,12,145              // vmovd         (%r9,%r10,4),%xmm1
22693  .byte  196,195,249,22,194,1                // vpextrq       $0x1,%xmm0,%r10
22694  .byte  196,195,113,34,4,129,1              // vpinsrd       $0x1,(%r9,%rax,4),%xmm1,%xmm0
22695  .byte  68,137,208                          // mov           %r10d,%eax
22696  .byte  196,195,121,34,4,129,2              // vpinsrd       $0x2,(%r9,%rax,4),%xmm0,%xmm0
22697  .byte  73,193,234,32                       // shr           $0x20,%r10
22698  .byte  196,131,121,34,28,145,3             // vpinsrd       $0x3,(%r9,%r10,4),%xmm0,%xmm3
22699  .byte  196,227,61,24,195,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm0
22700  .byte  197,124,40,13,2,50,0,0              // vmovaps       0x3202(%rip),%ymm9        # 8080 <_sk_callback_avx+0x8d0>
22701  .byte  196,193,124,84,193                  // vandps        %ymm9,%ymm0,%ymm0
22702  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
22703  .byte  196,98,125,24,21,220,45,0,0         // vbroadcastss  0x2ddc(%rip),%ymm10        # 7c6c <_sk_callback_avx+0x4bc>
22704  .byte  196,193,124,89,210                  // vmulps        %ymm10,%ymm0,%ymm2
22705  .byte  196,193,121,114,208,8               // vpsrld        $0x8,%xmm8,%xmm0
22706  .byte  197,241,114,211,8                   // vpsrld        $0x8,%xmm3,%xmm1
22707  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
22708  .byte  196,193,124,84,193                  // vandps        %ymm9,%ymm0,%ymm0
22709  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
22710  .byte  196,193,124,89,202                  // vmulps        %ymm10,%ymm0,%ymm1
22711  .byte  196,193,33,114,208,16               // vpsrld        $0x10,%xmm8,%xmm11
22712  .byte  197,249,114,211,16                  // vpsrld        $0x10,%xmm3,%xmm0
22713  .byte  196,227,37,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm11,%ymm0
22714  .byte  196,193,124,84,193                  // vandps        %ymm9,%ymm0,%ymm0
22715  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
22716  .byte  196,193,124,89,194                  // vmulps        %ymm10,%ymm0,%ymm0
22717  .byte  196,193,57,114,208,24               // vpsrld        $0x18,%xmm8,%xmm8
22718  .byte  197,225,114,211,24                  // vpsrld        $0x18,%xmm3,%xmm3
22719  .byte  196,227,61,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm8,%ymm3
22720  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
22721  .byte  196,193,100,89,218                  // vmulps        %ymm10,%ymm3,%ymm3
22722  .byte  72,173                              // lods          %ds:(%rsi),%rax
22723  .byte  255,224                             // jmpq          *%rax
22724
22725HIDDEN _sk_store_bgra_avx
22726.globl _sk_store_bgra_avx
22727FUNCTION(_sk_store_bgra_avx)
22728_sk_store_bgra_avx:
22729  .byte  73,137,201                          // mov           %rcx,%r9
22730  .byte  72,173                              // lods          %ds:(%rsi),%rax
22731  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
22732  .byte  76,3,16                             // add           (%rax),%r10
22733  .byte  196,98,125,24,5,102,45,0,0          // vbroadcastss  0x2d66(%rip),%ymm8        # 7c70 <_sk_callback_avx+0x4c0>
22734  .byte  196,65,108,89,200                   // vmulps        %ymm8,%ymm2,%ymm9
22735  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
22736  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
22737  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
22738  .byte  196,193,33,114,242,8                // vpslld        $0x8,%xmm10,%xmm11
22739  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
22740  .byte  196,193,41,114,242,8                // vpslld        $0x8,%xmm10,%xmm10
22741  .byte  196,67,37,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
22742  .byte  196,65,45,86,201                    // vorpd         %ymm9,%ymm10,%ymm9
22743  .byte  196,65,124,89,208                   // vmulps        %ymm8,%ymm0,%ymm10
22744  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
22745  .byte  196,193,33,114,242,16               // vpslld        $0x10,%xmm10,%xmm11
22746  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
22747  .byte  196,193,41,114,242,16               // vpslld        $0x10,%xmm10,%xmm10
22748  .byte  196,67,37,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm11,%ymm10
22749  .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%ymm8
22750  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
22751  .byte  196,193,33,114,240,24               // vpslld        $0x18,%xmm8,%xmm11
22752  .byte  196,67,125,25,192,1                 // vextractf128  $0x1,%ymm8,%xmm8
22753  .byte  196,193,57,114,240,24               // vpslld        $0x18,%xmm8,%xmm8
22754  .byte  196,67,37,24,192,1                  // vinsertf128   $0x1,%xmm8,%ymm11,%ymm8
22755  .byte  196,65,45,86,192                    // vorpd         %ymm8,%ymm10,%ymm8
22756  .byte  196,65,53,86,192                    // vorpd         %ymm8,%ymm9,%ymm8
22757  .byte  77,133,192                          // test          %r8,%r8
22758  .byte  117,12                              // jne           4f9a <_sk_store_bgra_avx+0xa9>
22759  .byte  196,65,124,17,2                     // vmovups       %ymm8,(%r10)
22760  .byte  72,173                              // lods          %ds:(%rsi),%rax
22761  .byte  76,137,201                          // mov           %r9,%rcx
22762  .byte  255,224                             // jmpq          *%rax
22763  .byte  185,8,0,0,0                         // mov           $0x8,%ecx
22764  .byte  68,41,193                           // sub           %r8d,%ecx
22765  .byte  192,225,3                           // shl           $0x3,%cl
22766  .byte  72,199,192,255,255,255,255          // mov           $0xffffffffffffffff,%rax
22767  .byte  72,211,232                          // shr           %cl,%rax
22768  .byte  196,97,249,110,200                  // vmovq         %rax,%xmm9
22769  .byte  196,66,121,48,201                   // vpmovzxbw     %xmm9,%xmm9
22770  .byte  196,98,49,0,21,190,47,0,0           // vpshufb       0x2fbe(%rip),%xmm9,%xmm10        # 7f80 <_sk_callback_avx+0x7d0>
22771  .byte  196,66,121,33,210                   // vpmovsxbd     %xmm10,%xmm10
22772  .byte  196,98,49,0,13,192,47,0,0           // vpshufb       0x2fc0(%rip),%xmm9,%xmm9        # 7f90 <_sk_callback_avx+0x7e0>
22773  .byte  196,66,121,33,201                   // vpmovsxbd     %xmm9,%xmm9
22774  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
22775  .byte  196,66,53,46,2                      // vmaskmovps    %ymm8,%ymm9,(%r10)
22776  .byte  235,177                             // jmp           4f93 <_sk_store_bgra_avx+0xa2>
22777
22778HIDDEN _sk_load_f16_avx
22779.globl _sk_load_f16_avx
22780FUNCTION(_sk_load_f16_avx)
22781_sk_load_f16_avx:
22782  .byte  72,131,236,24                       // sub           $0x18,%rsp
22783  .byte  72,173                              // lods          %ds:(%rsi),%rax
22784  .byte  72,139,0                            // mov           (%rax),%rax
22785  .byte  77,133,192                          // test          %r8,%r8
22786  .byte  197,252,17,124,36,224               // vmovups       %ymm7,-0x20(%rsp)
22787  .byte  197,252,17,116,36,192               // vmovups       %ymm6,-0x40(%rsp)
22788  .byte  197,252,17,108,36,160               // vmovups       %ymm5,-0x60(%rsp)
22789  .byte  197,254,127,100,36,128              // vmovdqu       %ymm4,-0x80(%rsp)
22790  .byte  15,133,141,2,0,0                    // jne           5299 <_sk_load_f16_avx+0x2b7>
22791  .byte  197,121,16,4,208                    // vmovupd       (%rax,%rdx,8),%xmm8
22792  .byte  197,249,16,84,208,16                // vmovupd       0x10(%rax,%rdx,8),%xmm2
22793  .byte  197,249,16,76,208,32                // vmovupd       0x20(%rax,%rdx,8),%xmm1
22794  .byte  197,122,111,76,208,48               // vmovdqu       0x30(%rax,%rdx,8),%xmm9
22795  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
22796  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
22797  .byte  196,193,113,97,217                  // vpunpcklwd    %xmm9,%xmm1,%xmm3
22798  .byte  196,193,113,105,201                 // vpunpckhwd    %xmm9,%xmm1,%xmm1
22799  .byte  197,121,97,250                      // vpunpcklwd    %xmm2,%xmm0,%xmm15
22800  .byte  197,121,105,194                     // vpunpckhwd    %xmm2,%xmm0,%xmm8
22801  .byte  197,225,97,209                      // vpunpcklwd    %xmm1,%xmm3,%xmm2
22802  .byte  197,97,105,201                      // vpunpckhwd    %xmm1,%xmm3,%xmm9
22803  .byte  197,129,108,194                     // vpunpcklqdq   %xmm2,%xmm15,%xmm0
22804  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
22805  .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
22806  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
22807  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
22808  .byte  196,98,125,24,37,15,44,0,0          // vbroadcastss  0x2c0f(%rip),%ymm12        # 7c74 <_sk_callback_avx+0x4c4>
22809  .byte  196,193,124,84,204                  // vandps        %ymm12,%ymm0,%ymm1
22810  .byte  197,252,87,193                      // vxorps        %ymm1,%ymm0,%ymm0
22811  .byte  196,195,125,25,198,1                // vextractf128  $0x1,%ymm0,%xmm14
22812  .byte  196,98,121,24,29,251,43,0,0         // vbroadcastss  0x2bfb(%rip),%xmm11        # 7c78 <_sk_callback_avx+0x4c8>
22813  .byte  196,193,8,87,219                    // vxorps        %xmm11,%xmm14,%xmm3
22814  .byte  196,98,121,24,45,241,43,0,0         // vbroadcastss  0x2bf1(%rip),%xmm13        # 7c7c <_sk_callback_avx+0x4cc>
22815  .byte  197,145,102,219                     // vpcmpgtd      %xmm3,%xmm13,%xmm3
22816  .byte  196,65,120,87,211                   // vxorps        %xmm11,%xmm0,%xmm10
22817  .byte  196,65,17,102,210                   // vpcmpgtd      %xmm10,%xmm13,%xmm10
22818  .byte  196,99,45,24,211,1                  // vinsertf128   $0x1,%xmm3,%ymm10,%ymm10
22819  .byte  197,225,114,241,16                  // vpslld        $0x10,%xmm1,%xmm3
22820  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
22821  .byte  197,241,114,241,16                  // vpslld        $0x10,%xmm1,%xmm1
22822  .byte  196,227,101,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
22823  .byte  197,249,114,240,13                  // vpslld        $0xd,%xmm0,%xmm0
22824  .byte  196,193,97,114,246,13               // vpslld        $0xd,%xmm14,%xmm3
22825  .byte  196,227,125,24,195,1                // vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
22826  .byte  197,252,86,193                      // vorps         %ymm1,%ymm0,%ymm0
22827  .byte  196,227,125,25,193,1                // vextractf128  $0x1,%ymm0,%xmm1
22828  .byte  196,226,121,24,29,167,43,0,0        // vbroadcastss  0x2ba7(%rip),%xmm3        # 7c80 <_sk_callback_avx+0x4d0>
22829  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
22830  .byte  197,249,254,195                     // vpaddd        %xmm3,%xmm0,%xmm0
22831  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
22832  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
22833  .byte  196,195,125,74,198,160              // vblendvps     %ymm10,%ymm14,%ymm0,%ymm0
22834  .byte  197,129,109,202                     // vpunpckhqdq   %xmm2,%xmm15,%xmm1
22835  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
22836  .byte  197,241,105,212                     // vpunpckhwd    %xmm4,%xmm1,%xmm2
22837  .byte  196,226,121,51,201                  // vpmovzxwd     %xmm1,%xmm1
22838  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
22839  .byte  196,193,116,84,212                  // vandps        %ymm12,%ymm1,%ymm2
22840  .byte  197,244,87,202                      // vxorps        %ymm2,%ymm1,%ymm1
22841  .byte  196,195,125,25,202,1                // vextractf128  $0x1,%ymm1,%xmm10
22842  .byte  196,193,40,87,251                   // vxorps        %xmm11,%xmm10,%xmm7
22843  .byte  197,145,102,255                     // vpcmpgtd      %xmm7,%xmm13,%xmm7
22844  .byte  196,193,112,87,243                  // vxorps        %xmm11,%xmm1,%xmm6
22845  .byte  197,145,102,246                     // vpcmpgtd      %xmm6,%xmm13,%xmm6
22846  .byte  196,227,77,24,247,1                 // vinsertf128   $0x1,%xmm7,%ymm6,%ymm6
22847  .byte  197,193,114,242,16                  // vpslld        $0x10,%xmm2,%xmm7
22848  .byte  196,227,125,25,210,1                // vextractf128  $0x1,%ymm2,%xmm2
22849  .byte  197,233,114,242,16                  // vpslld        $0x10,%xmm2,%xmm2
22850  .byte  196,227,69,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm7,%ymm2
22851  .byte  197,241,114,241,13                  // vpslld        $0xd,%xmm1,%xmm1
22852  .byte  196,193,65,114,242,13               // vpslld        $0xd,%xmm10,%xmm7
22853  .byte  196,227,117,24,207,1                // vinsertf128   $0x1,%xmm7,%ymm1,%ymm1
22854  .byte  197,244,86,202                      // vorps         %ymm2,%ymm1,%ymm1
22855  .byte  196,227,125,25,202,1                // vextractf128  $0x1,%ymm1,%xmm2
22856  .byte  197,233,254,211                     // vpaddd        %xmm3,%xmm2,%xmm2
22857  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
22858  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
22859  .byte  196,195,117,74,206,96               // vblendvps     %ymm6,%ymm14,%ymm1,%ymm1
22860  .byte  196,193,57,108,209                  // vpunpcklqdq   %xmm9,%xmm8,%xmm2
22861  .byte  197,233,105,244                     // vpunpckhwd    %xmm4,%xmm2,%xmm6
22862  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
22863  .byte  196,226,121,51,210                  // vpmovzxwd     %xmm2,%xmm2
22864  .byte  196,227,109,24,214,1                // vinsertf128   $0x1,%xmm6,%ymm2,%ymm2
22865  .byte  196,193,108,84,244                  // vandps        %ymm12,%ymm2,%ymm6
22866  .byte  197,236,87,214                      // vxorps        %ymm6,%ymm2,%ymm2
22867  .byte  196,227,125,25,215,1                // vextractf128  $0x1,%ymm2,%xmm7
22868  .byte  196,193,64,87,235                   // vxorps        %xmm11,%xmm7,%xmm5
22869  .byte  197,145,102,237                     // vpcmpgtd      %xmm5,%xmm13,%xmm5
22870  .byte  196,193,104,87,227                  // vxorps        %xmm11,%xmm2,%xmm4
22871  .byte  197,145,102,228                     // vpcmpgtd      %xmm4,%xmm13,%xmm4
22872  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
22873  .byte  197,209,114,246,16                  // vpslld        $0x10,%xmm6,%xmm5
22874  .byte  196,227,125,25,246,1                // vextractf128  $0x1,%ymm6,%xmm6
22875  .byte  197,201,114,246,16                  // vpslld        $0x10,%xmm6,%xmm6
22876  .byte  196,227,85,24,238,1                 // vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
22877  .byte  197,233,114,242,13                  // vpslld        $0xd,%xmm2,%xmm2
22878  .byte  197,201,114,247,13                  // vpslld        $0xd,%xmm7,%xmm6
22879  .byte  196,227,109,24,214,1                // vinsertf128   $0x1,%xmm6,%ymm2,%ymm2
22880  .byte  197,236,86,213                      // vorps         %ymm5,%ymm2,%ymm2
22881  .byte  196,227,125,25,213,1                // vextractf128  $0x1,%ymm2,%xmm5
22882  .byte  197,209,254,235                     // vpaddd        %xmm3,%xmm5,%xmm5
22883  .byte  197,233,254,211                     // vpaddd        %xmm3,%xmm2,%xmm2
22884  .byte  196,227,109,24,213,1                // vinsertf128   $0x1,%xmm5,%ymm2,%ymm2
22885  .byte  196,195,109,74,214,64               // vblendvps     %ymm4,%ymm14,%ymm2,%ymm2
22886  .byte  196,193,57,109,225                  // vpunpckhqdq   %xmm9,%xmm8,%xmm4
22887  .byte  196,193,89,105,234                  // vpunpckhwd    %xmm10,%xmm4,%xmm5
22888  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
22889  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
22890  .byte  196,193,92,84,236                   // vandps        %ymm12,%ymm4,%ymm5
22891  .byte  197,220,87,229                      // vxorps        %ymm5,%ymm4,%ymm4
22892  .byte  196,227,125,25,230,1                // vextractf128  $0x1,%ymm4,%xmm6
22893  .byte  196,193,72,87,251                   // vxorps        %xmm11,%xmm6,%xmm7
22894  .byte  197,17,102,199                      // vpcmpgtd      %xmm7,%xmm13,%xmm8
22895  .byte  196,193,88,87,251                   // vxorps        %xmm11,%xmm4,%xmm7
22896  .byte  197,145,102,255                     // vpcmpgtd      %xmm7,%xmm13,%xmm7
22897  .byte  196,195,69,24,248,1                 // vinsertf128   $0x1,%xmm8,%ymm7,%ymm7
22898  .byte  197,185,114,245,16                  // vpslld        $0x10,%xmm5,%xmm8
22899  .byte  196,227,125,25,237,1                // vextractf128  $0x1,%ymm5,%xmm5
22900  .byte  197,209,114,245,16                  // vpslld        $0x10,%xmm5,%xmm5
22901  .byte  196,227,61,24,237,1                 // vinsertf128   $0x1,%xmm5,%ymm8,%ymm5
22902  .byte  197,217,114,244,13                  // vpslld        $0xd,%xmm4,%xmm4
22903  .byte  197,201,114,246,13                  // vpslld        $0xd,%xmm6,%xmm6
22904  .byte  196,227,93,24,230,1                 // vinsertf128   $0x1,%xmm6,%ymm4,%ymm4
22905  .byte  197,220,86,229                      // vorps         %ymm5,%ymm4,%ymm4
22906  .byte  196,227,125,25,229,1                // vextractf128  $0x1,%ymm4,%xmm5
22907  .byte  197,209,254,235                     // vpaddd        %xmm3,%xmm5,%xmm5
22908  .byte  197,217,254,219                     // vpaddd        %xmm3,%xmm4,%xmm3
22909  .byte  196,227,101,24,221,1                // vinsertf128   $0x1,%xmm5,%ymm3,%ymm3
22910  .byte  196,195,101,74,222,112              // vblendvps     %ymm7,%ymm14,%ymm3,%ymm3
22911  .byte  72,173                              // lods          %ds:(%rsi),%rax
22912  .byte  197,252,16,100,36,128               // vmovups       -0x80(%rsp),%ymm4
22913  .byte  197,252,16,108,36,160               // vmovups       -0x60(%rsp),%ymm5
22914  .byte  197,252,16,116,36,192               // vmovups       -0x40(%rsp),%ymm6
22915  .byte  197,252,16,124,36,224               // vmovups       -0x20(%rsp),%ymm7
22916  .byte  72,131,196,24                       // add           $0x18,%rsp
22917  .byte  255,224                             // jmpq          *%rax
22918  .byte  197,123,16,4,208                    // vmovsd        (%rax,%rdx,8),%xmm8
22919  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
22920  .byte  73,131,248,1                        // cmp           $0x1,%r8
22921  .byte  116,79                              // je            52f8 <_sk_load_f16_avx+0x316>
22922  .byte  197,57,22,68,208,8                  // vmovhpd       0x8(%rax,%rdx,8),%xmm8,%xmm8
22923  .byte  73,131,248,3                        // cmp           $0x3,%r8
22924  .byte  114,67                              // jb            52f8 <_sk_load_f16_avx+0x316>
22925  .byte  197,251,16,84,208,16                // vmovsd        0x10(%rax,%rdx,8),%xmm2
22926  .byte  73,131,248,3                        // cmp           $0x3,%r8
22927  .byte  116,68                              // je            5305 <_sk_load_f16_avx+0x323>
22928  .byte  197,233,22,84,208,24                // vmovhpd       0x18(%rax,%rdx,8),%xmm2,%xmm2
22929  .byte  73,131,248,5                        // cmp           $0x5,%r8
22930  .byte  114,56                              // jb            5305 <_sk_load_f16_avx+0x323>
22931  .byte  197,251,16,76,208,32                // vmovsd        0x20(%rax,%rdx,8),%xmm1
22932  .byte  73,131,248,5                        // cmp           $0x5,%r8
22933  .byte  15,132,70,253,255,255               // je            5023 <_sk_load_f16_avx+0x41>
22934  .byte  197,241,22,76,208,40                // vmovhpd       0x28(%rax,%rdx,8),%xmm1,%xmm1
22935  .byte  73,131,248,7                        // cmp           $0x7,%r8
22936  .byte  15,130,54,253,255,255               // jb            5023 <_sk_load_f16_avx+0x41>
22937  .byte  197,122,126,76,208,48               // vmovq         0x30(%rax,%rdx,8),%xmm9
22938  .byte  233,43,253,255,255                  // jmpq          5023 <_sk_load_f16_avx+0x41>
22939  .byte  197,241,87,201                      // vxorpd        %xmm1,%xmm1,%xmm1
22940  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
22941  .byte  233,30,253,255,255                  // jmpq          5023 <_sk_load_f16_avx+0x41>
22942  .byte  197,241,87,201                      // vxorpd        %xmm1,%xmm1,%xmm1
22943  .byte  233,21,253,255,255                  // jmpq          5023 <_sk_load_f16_avx+0x41>
22944
22945HIDDEN _sk_load_f16_dst_avx
22946.globl _sk_load_f16_dst_avx
22947FUNCTION(_sk_load_f16_dst_avx)
22948_sk_load_f16_dst_avx:
22949  .byte  72,131,236,24                       // sub           $0x18,%rsp
22950  .byte  72,173                              // lods          %ds:(%rsi),%rax
22951  .byte  72,139,0                            // mov           (%rax),%rax
22952  .byte  77,133,192                          // test          %r8,%r8
22953  .byte  197,252,17,92,36,224                // vmovups       %ymm3,-0x20(%rsp)
22954  .byte  197,252,17,84,36,192                // vmovups       %ymm2,-0x40(%rsp)
22955  .byte  197,252,17,76,36,160                // vmovups       %ymm1,-0x60(%rsp)
22956  .byte  197,254,127,68,36,128               // vmovdqu       %ymm0,-0x80(%rsp)
22957  .byte  15,133,141,2,0,0                    // jne           55c5 <_sk_load_f16_dst_avx+0x2b7>
22958  .byte  197,121,16,4,208                    // vmovupd       (%rax,%rdx,8),%xmm8
22959  .byte  197,249,16,116,208,16               // vmovupd       0x10(%rax,%rdx,8),%xmm6
22960  .byte  197,249,16,108,208,32               // vmovupd       0x20(%rax,%rdx,8),%xmm5
22961  .byte  197,122,111,76,208,48               // vmovdqu       0x30(%rax,%rdx,8),%xmm9
22962  .byte  197,185,97,230                      // vpunpcklwd    %xmm6,%xmm8,%xmm4
22963  .byte  197,185,105,246                     // vpunpckhwd    %xmm6,%xmm8,%xmm6
22964  .byte  196,193,81,97,249                   // vpunpcklwd    %xmm9,%xmm5,%xmm7
22965  .byte  196,193,81,105,233                  // vpunpckhwd    %xmm9,%xmm5,%xmm5
22966  .byte  197,89,97,254                       // vpunpcklwd    %xmm6,%xmm4,%xmm15
22967  .byte  197,89,105,198                      // vpunpckhwd    %xmm6,%xmm4,%xmm8
22968  .byte  197,193,97,245                      // vpunpcklwd    %xmm5,%xmm7,%xmm6
22969  .byte  197,65,105,205                      // vpunpckhwd    %xmm5,%xmm7,%xmm9
22970  .byte  197,129,108,230                     // vpunpcklqdq   %xmm6,%xmm15,%xmm4
22971  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
22972  .byte  197,217,105,232                     // vpunpckhwd    %xmm0,%xmm4,%xmm5
22973  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
22974  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
22975  .byte  196,98,125,24,37,243,40,0,0         // vbroadcastss  0x28f3(%rip),%ymm12        # 7c84 <_sk_callback_avx+0x4d4>
22976  .byte  196,193,92,84,236                   // vandps        %ymm12,%ymm4,%ymm5
22977  .byte  197,220,87,229                      // vxorps        %ymm5,%ymm4,%ymm4
22978  .byte  196,195,125,25,230,1                // vextractf128  $0x1,%ymm4,%xmm14
22979  .byte  196,98,121,24,29,223,40,0,0         // vbroadcastss  0x28df(%rip),%xmm11        # 7c88 <_sk_callback_avx+0x4d8>
22980  .byte  196,193,8,87,251                    // vxorps        %xmm11,%xmm14,%xmm7
22981  .byte  196,98,121,24,45,213,40,0,0         // vbroadcastss  0x28d5(%rip),%xmm13        # 7c8c <_sk_callback_avx+0x4dc>
22982  .byte  197,145,102,255                     // vpcmpgtd      %xmm7,%xmm13,%xmm7
22983  .byte  196,65,88,87,211                    // vxorps        %xmm11,%xmm4,%xmm10
22984  .byte  196,65,17,102,210                   // vpcmpgtd      %xmm10,%xmm13,%xmm10
22985  .byte  196,99,45,24,215,1                  // vinsertf128   $0x1,%xmm7,%ymm10,%ymm10
22986  .byte  197,193,114,245,16                  // vpslld        $0x10,%xmm5,%xmm7
22987  .byte  196,227,125,25,237,1                // vextractf128  $0x1,%ymm5,%xmm5
22988  .byte  197,209,114,245,16                  // vpslld        $0x10,%xmm5,%xmm5
22989  .byte  196,227,69,24,237,1                 // vinsertf128   $0x1,%xmm5,%ymm7,%ymm5
22990  .byte  197,217,114,244,13                  // vpslld        $0xd,%xmm4,%xmm4
22991  .byte  196,193,65,114,246,13               // vpslld        $0xd,%xmm14,%xmm7
22992  .byte  196,227,93,24,231,1                 // vinsertf128   $0x1,%xmm7,%ymm4,%ymm4
22993  .byte  197,220,86,229                      // vorps         %ymm5,%ymm4,%ymm4
22994  .byte  196,227,125,25,229,1                // vextractf128  $0x1,%ymm4,%xmm5
22995  .byte  196,226,121,24,61,139,40,0,0        // vbroadcastss  0x288b(%rip),%xmm7        # 7c90 <_sk_callback_avx+0x4e0>
22996  .byte  197,209,254,239                     // vpaddd        %xmm7,%xmm5,%xmm5
22997  .byte  197,217,254,231                     // vpaddd        %xmm7,%xmm4,%xmm4
22998  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
22999  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
23000  .byte  196,195,93,74,230,160               // vblendvps     %ymm10,%ymm14,%ymm4,%ymm4
23001  .byte  197,129,109,238                     // vpunpckhqdq   %xmm6,%xmm15,%xmm5
23002  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
23003  .byte  197,209,105,240                     // vpunpckhwd    %xmm0,%xmm5,%xmm6
23004  .byte  196,226,121,51,237                  // vpmovzxwd     %xmm5,%xmm5
23005  .byte  196,227,85,24,238,1                 // vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
23006  .byte  196,193,84,84,244                   // vandps        %ymm12,%ymm5,%ymm6
23007  .byte  197,212,87,238                      // vxorps        %ymm6,%ymm5,%ymm5
23008  .byte  196,195,125,25,234,1                // vextractf128  $0x1,%ymm5,%xmm10
23009  .byte  196,193,40,87,219                   // vxorps        %xmm11,%xmm10,%xmm3
23010  .byte  197,145,102,219                     // vpcmpgtd      %xmm3,%xmm13,%xmm3
23011  .byte  196,193,80,87,211                   // vxorps        %xmm11,%xmm5,%xmm2
23012  .byte  197,145,102,210                     // vpcmpgtd      %xmm2,%xmm13,%xmm2
23013  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
23014  .byte  197,225,114,246,16                  // vpslld        $0x10,%xmm6,%xmm3
23015  .byte  196,227,125,25,246,1                // vextractf128  $0x1,%ymm6,%xmm6
23016  .byte  197,201,114,246,16                  // vpslld        $0x10,%xmm6,%xmm6
23017  .byte  196,227,101,24,222,1                // vinsertf128   $0x1,%xmm6,%ymm3,%ymm3
23018  .byte  197,209,114,245,13                  // vpslld        $0xd,%xmm5,%xmm5
23019  .byte  196,193,73,114,242,13               // vpslld        $0xd,%xmm10,%xmm6
23020  .byte  196,227,85,24,238,1                 // vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
23021  .byte  197,212,86,219                      // vorps         %ymm3,%ymm5,%ymm3
23022  .byte  196,227,125,25,221,1                // vextractf128  $0x1,%ymm3,%xmm5
23023  .byte  197,209,254,239                     // vpaddd        %xmm7,%xmm5,%xmm5
23024  .byte  197,225,254,223                     // vpaddd        %xmm7,%xmm3,%xmm3
23025  .byte  196,227,101,24,221,1                // vinsertf128   $0x1,%xmm5,%ymm3,%ymm3
23026  .byte  196,195,101,74,238,32               // vblendvps     %ymm2,%ymm14,%ymm3,%ymm5
23027  .byte  196,193,57,108,209                  // vpunpcklqdq   %xmm9,%xmm8,%xmm2
23028  .byte  197,233,105,216                     // vpunpckhwd    %xmm0,%xmm2,%xmm3
23029  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
23030  .byte  196,226,121,51,210                  // vpmovzxwd     %xmm2,%xmm2
23031  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
23032  .byte  196,193,108,84,220                  // vandps        %ymm12,%ymm2,%ymm3
23033  .byte  197,236,87,211                      // vxorps        %ymm3,%ymm2,%ymm2
23034  .byte  196,227,125,25,214,1                // vextractf128  $0x1,%ymm2,%xmm6
23035  .byte  196,193,72,87,203                   // vxorps        %xmm11,%xmm6,%xmm1
23036  .byte  197,145,102,201                     // vpcmpgtd      %xmm1,%xmm13,%xmm1
23037  .byte  196,193,104,87,195                  // vxorps        %xmm11,%xmm2,%xmm0
23038  .byte  197,145,102,192                     // vpcmpgtd      %xmm0,%xmm13,%xmm0
23039  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
23040  .byte  197,241,114,243,16                  // vpslld        $0x10,%xmm3,%xmm1
23041  .byte  196,227,125,25,219,1                // vextractf128  $0x1,%ymm3,%xmm3
23042  .byte  197,225,114,243,16                  // vpslld        $0x10,%xmm3,%xmm3
23043  .byte  196,227,117,24,203,1                // vinsertf128   $0x1,%xmm3,%ymm1,%ymm1
23044  .byte  197,233,114,242,13                  // vpslld        $0xd,%xmm2,%xmm2
23045  .byte  197,225,114,246,13                  // vpslld        $0xd,%xmm6,%xmm3
23046  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
23047  .byte  197,236,86,201                      // vorps         %ymm1,%ymm2,%ymm1
23048  .byte  196,227,125,25,202,1                // vextractf128  $0x1,%ymm1,%xmm2
23049  .byte  197,233,254,215                     // vpaddd        %xmm7,%xmm2,%xmm2
23050  .byte  197,241,254,207                     // vpaddd        %xmm7,%xmm1,%xmm1
23051  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
23052  .byte  196,195,117,74,246,0                // vblendvps     %ymm0,%ymm14,%ymm1,%ymm6
23053  .byte  196,193,57,109,193                  // vpunpckhqdq   %xmm9,%xmm8,%xmm0
23054  .byte  196,193,121,105,202                 // vpunpckhwd    %xmm10,%xmm0,%xmm1
23055  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
23056  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
23057  .byte  196,193,124,84,204                  // vandps        %ymm12,%ymm0,%ymm1
23058  .byte  197,252,87,193                      // vxorps        %ymm1,%ymm0,%ymm0
23059  .byte  196,227,125,25,194,1                // vextractf128  $0x1,%ymm0,%xmm2
23060  .byte  196,193,104,87,219                  // vxorps        %xmm11,%xmm2,%xmm3
23061  .byte  197,17,102,195                      // vpcmpgtd      %xmm3,%xmm13,%xmm8
23062  .byte  196,193,120,87,219                  // vxorps        %xmm11,%xmm0,%xmm3
23063  .byte  197,145,102,219                     // vpcmpgtd      %xmm3,%xmm13,%xmm3
23064  .byte  196,195,101,24,216,1                // vinsertf128   $0x1,%xmm8,%ymm3,%ymm3
23065  .byte  197,185,114,241,16                  // vpslld        $0x10,%xmm1,%xmm8
23066  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
23067  .byte  197,241,114,241,16                  // vpslld        $0x10,%xmm1,%xmm1
23068  .byte  196,227,61,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm8,%ymm1
23069  .byte  197,249,114,240,13                  // vpslld        $0xd,%xmm0,%xmm0
23070  .byte  197,233,114,242,13                  // vpslld        $0xd,%xmm2,%xmm2
23071  .byte  196,227,125,24,194,1                // vinsertf128   $0x1,%xmm2,%ymm0,%ymm0
23072  .byte  197,252,86,193                      // vorps         %ymm1,%ymm0,%ymm0
23073  .byte  196,227,125,25,193,1                // vextractf128  $0x1,%ymm0,%xmm1
23074  .byte  197,241,254,207                     // vpaddd        %xmm7,%xmm1,%xmm1
23075  .byte  197,249,254,199                     // vpaddd        %xmm7,%xmm0,%xmm0
23076  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
23077  .byte  196,195,125,74,254,48               // vblendvps     %ymm3,%ymm14,%ymm0,%ymm7
23078  .byte  72,173                              // lods          %ds:(%rsi),%rax
23079  .byte  197,252,16,68,36,128                // vmovups       -0x80(%rsp),%ymm0
23080  .byte  197,252,16,76,36,160                // vmovups       -0x60(%rsp),%ymm1
23081  .byte  197,252,16,84,36,192                // vmovups       -0x40(%rsp),%ymm2
23082  .byte  197,252,16,92,36,224                // vmovups       -0x20(%rsp),%ymm3
23083  .byte  72,131,196,24                       // add           $0x18,%rsp
23084  .byte  255,224                             // jmpq          *%rax
23085  .byte  197,123,16,4,208                    // vmovsd        (%rax,%rdx,8),%xmm8
23086  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
23087  .byte  73,131,248,1                        // cmp           $0x1,%r8
23088  .byte  116,79                              // je            5624 <_sk_load_f16_dst_avx+0x316>
23089  .byte  197,57,22,68,208,8                  // vmovhpd       0x8(%rax,%rdx,8),%xmm8,%xmm8
23090  .byte  73,131,248,3                        // cmp           $0x3,%r8
23091  .byte  114,67                              // jb            5624 <_sk_load_f16_dst_avx+0x316>
23092  .byte  197,251,16,116,208,16               // vmovsd        0x10(%rax,%rdx,8),%xmm6
23093  .byte  73,131,248,3                        // cmp           $0x3,%r8
23094  .byte  116,68                              // je            5631 <_sk_load_f16_dst_avx+0x323>
23095  .byte  197,201,22,116,208,24               // vmovhpd       0x18(%rax,%rdx,8),%xmm6,%xmm6
23096  .byte  73,131,248,5                        // cmp           $0x5,%r8
23097  .byte  114,56                              // jb            5631 <_sk_load_f16_dst_avx+0x323>
23098  .byte  197,251,16,108,208,32               // vmovsd        0x20(%rax,%rdx,8),%xmm5
23099  .byte  73,131,248,5                        // cmp           $0x5,%r8
23100  .byte  15,132,70,253,255,255               // je            534f <_sk_load_f16_dst_avx+0x41>
23101  .byte  197,209,22,108,208,40               // vmovhpd       0x28(%rax,%rdx,8),%xmm5,%xmm5
23102  .byte  73,131,248,7                        // cmp           $0x7,%r8
23103  .byte  15,130,54,253,255,255               // jb            534f <_sk_load_f16_dst_avx+0x41>
23104  .byte  197,122,126,76,208,48               // vmovq         0x30(%rax,%rdx,8),%xmm9
23105  .byte  233,43,253,255,255                  // jmpq          534f <_sk_load_f16_dst_avx+0x41>
23106  .byte  197,209,87,237                      // vxorpd        %xmm5,%xmm5,%xmm5
23107  .byte  197,201,87,246                      // vxorpd        %xmm6,%xmm6,%xmm6
23108  .byte  233,30,253,255,255                  // jmpq          534f <_sk_load_f16_dst_avx+0x41>
23109  .byte  197,209,87,237                      // vxorpd        %xmm5,%xmm5,%xmm5
23110  .byte  233,21,253,255,255                  // jmpq          534f <_sk_load_f16_dst_avx+0x41>
23111
23112HIDDEN _sk_gather_f16_avx
23113.globl _sk_gather_f16_avx
23114FUNCTION(_sk_gather_f16_avx)
23115_sk_gather_f16_avx:
23116  .byte  72,131,236,24                       // sub           $0x18,%rsp
23117  .byte  197,252,17,124,36,224               // vmovups       %ymm7,-0x20(%rsp)
23118  .byte  197,252,17,116,36,192               // vmovups       %ymm6,-0x40(%rsp)
23119  .byte  197,252,17,108,36,160               // vmovups       %ymm5,-0x60(%rsp)
23120  .byte  197,254,127,100,36,128              // vmovdqu       %ymm4,-0x80(%rsp)
23121  .byte  72,173                              // lods          %ds:(%rsi),%rax
23122  .byte  76,139,8                            // mov           (%rax),%r9
23123  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
23124  .byte  197,249,110,80,8                    // vmovd         0x8(%rax),%xmm2
23125  .byte  197,249,112,210,0                   // vpshufd       $0x0,%xmm2,%xmm2
23126  .byte  196,226,105,64,217                  // vpmulld       %xmm1,%xmm2,%xmm3
23127  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
23128  .byte  196,226,105,64,201                  // vpmulld       %xmm1,%xmm2,%xmm1
23129  .byte  197,254,91,208                      // vcvttps2dq    %ymm0,%ymm2
23130  .byte  196,227,125,25,208,1                // vextractf128  $0x1,%ymm2,%xmm0
23131  .byte  197,113,254,192                     // vpaddd        %xmm0,%xmm1,%xmm8
23132  .byte  197,225,254,202                     // vpaddd        %xmm2,%xmm3,%xmm1
23133  .byte  196,225,249,126,200                 // vmovq         %xmm1,%rax
23134  .byte  65,137,194                          // mov           %eax,%r10d
23135  .byte  72,193,232,32                       // shr           $0x20,%rax
23136  .byte  196,65,122,126,12,193               // vmovq         (%r9,%rax,8),%xmm9
23137  .byte  196,227,249,22,200,1                // vpextrq       $0x1,%xmm1,%rax
23138  .byte  196,1,122,126,20,209                // vmovq         (%r9,%r10,8),%xmm10
23139  .byte  65,137,194                          // mov           %eax,%r10d
23140  .byte  72,193,232,32                       // shr           $0x20,%rax
23141  .byte  196,65,122,126,28,193               // vmovq         (%r9,%rax,8),%xmm11
23142  .byte  196,97,249,126,192                  // vmovq         %xmm8,%rax
23143  .byte  196,1,122,126,36,209                // vmovq         (%r9,%r10,8),%xmm12
23144  .byte  65,137,194                          // mov           %eax,%r10d
23145  .byte  72,193,232,32                       // shr           $0x20,%rax
23146  .byte  196,65,122,126,44,193               // vmovq         (%r9,%rax,8),%xmm13
23147  .byte  196,67,249,22,195,1                 // vpextrq       $0x1,%xmm8,%r11
23148  .byte  196,1,122,126,4,209                 // vmovq         (%r9,%r10,8),%xmm8
23149  .byte  76,137,216                          // mov           %r11,%rax
23150  .byte  72,193,232,32                       // shr           $0x20,%rax
23151  .byte  196,65,122,126,52,193               // vmovq         (%r9,%rax,8),%xmm14
23152  .byte  68,137,216                          // mov           %r11d,%eax
23153  .byte  196,193,122,126,4,193               // vmovq         (%r9,%rax,8),%xmm0
23154  .byte  196,193,41,108,209                  // vpunpcklqdq   %xmm9,%xmm10,%xmm2
23155  .byte  196,193,25,108,203                  // vpunpcklqdq   %xmm11,%xmm12,%xmm1
23156  .byte  196,193,57,108,221                  // vpunpcklqdq   %xmm13,%xmm8,%xmm3
23157  .byte  196,193,121,108,198                 // vpunpcklqdq   %xmm14,%xmm0,%xmm0
23158  .byte  197,105,97,193                      // vpunpcklwd    %xmm1,%xmm2,%xmm8
23159  .byte  197,233,105,209                     // vpunpckhwd    %xmm1,%xmm2,%xmm2
23160  .byte  197,225,97,200                      // vpunpcklwd    %xmm0,%xmm3,%xmm1
23161  .byte  197,225,105,192                     // vpunpckhwd    %xmm0,%xmm3,%xmm0
23162  .byte  197,57,97,250                       // vpunpcklwd    %xmm2,%xmm8,%xmm15
23163  .byte  197,57,105,194                      // vpunpckhwd    %xmm2,%xmm8,%xmm8
23164  .byte  197,241,97,208                      // vpunpcklwd    %xmm0,%xmm1,%xmm2
23165  .byte  197,113,105,200                     // vpunpckhwd    %xmm0,%xmm1,%xmm9
23166  .byte  197,129,108,194                     // vpunpcklqdq   %xmm2,%xmm15,%xmm0
23167  .byte  197,241,239,201                     // vpxor         %xmm1,%xmm1,%xmm1
23168  .byte  197,249,105,201                     // vpunpckhwd    %xmm1,%xmm0,%xmm1
23169  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
23170  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
23171  .byte  196,98,125,24,37,80,37,0,0          // vbroadcastss  0x2550(%rip),%ymm12        # 7c94 <_sk_callback_avx+0x4e4>
23172  .byte  196,193,124,84,204                  // vandps        %ymm12,%ymm0,%ymm1
23173  .byte  197,252,87,193                      // vxorps        %ymm1,%ymm0,%ymm0
23174  .byte  196,195,125,25,198,1                // vextractf128  $0x1,%ymm0,%xmm14
23175  .byte  196,98,121,24,29,60,37,0,0          // vbroadcastss  0x253c(%rip),%xmm11        # 7c98 <_sk_callback_avx+0x4e8>
23176  .byte  196,193,8,87,219                    // vxorps        %xmm11,%xmm14,%xmm3
23177  .byte  196,98,121,24,45,50,37,0,0          // vbroadcastss  0x2532(%rip),%xmm13        # 7c9c <_sk_callback_avx+0x4ec>
23178  .byte  197,145,102,219                     // vpcmpgtd      %xmm3,%xmm13,%xmm3
23179  .byte  196,65,120,87,211                   // vxorps        %xmm11,%xmm0,%xmm10
23180  .byte  196,65,17,102,210                   // vpcmpgtd      %xmm10,%xmm13,%xmm10
23181  .byte  196,99,45,24,211,1                  // vinsertf128   $0x1,%xmm3,%ymm10,%ymm10
23182  .byte  197,225,114,241,16                  // vpslld        $0x10,%xmm1,%xmm3
23183  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
23184  .byte  197,241,114,241,16                  // vpslld        $0x10,%xmm1,%xmm1
23185  .byte  196,227,101,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm1
23186  .byte  197,249,114,240,13                  // vpslld        $0xd,%xmm0,%xmm0
23187  .byte  196,193,97,114,246,13               // vpslld        $0xd,%xmm14,%xmm3
23188  .byte  196,227,125,24,195,1                // vinsertf128   $0x1,%xmm3,%ymm0,%ymm0
23189  .byte  197,252,86,193                      // vorps         %ymm1,%ymm0,%ymm0
23190  .byte  196,227,125,25,193,1                // vextractf128  $0x1,%ymm0,%xmm1
23191  .byte  196,226,121,24,29,232,36,0,0        // vbroadcastss  0x24e8(%rip),%xmm3        # 7ca0 <_sk_callback_avx+0x4f0>
23192  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
23193  .byte  197,249,254,195                     // vpaddd        %xmm3,%xmm0,%xmm0
23194  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
23195  .byte  196,65,12,87,246                    // vxorps        %ymm14,%ymm14,%ymm14
23196  .byte  196,195,125,74,198,160              // vblendvps     %ymm10,%ymm14,%ymm0,%ymm0
23197  .byte  197,129,109,202                     // vpunpckhqdq   %xmm2,%xmm15,%xmm1
23198  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
23199  .byte  197,241,105,212                     // vpunpckhwd    %xmm4,%xmm1,%xmm2
23200  .byte  196,226,121,51,201                  // vpmovzxwd     %xmm1,%xmm1
23201  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
23202  .byte  196,193,116,84,212                  // vandps        %ymm12,%ymm1,%ymm2
23203  .byte  197,244,87,202                      // vxorps        %ymm2,%ymm1,%ymm1
23204  .byte  196,195,125,25,202,1                // vextractf128  $0x1,%ymm1,%xmm10
23205  .byte  196,193,40,87,251                   // vxorps        %xmm11,%xmm10,%xmm7
23206  .byte  197,145,102,255                     // vpcmpgtd      %xmm7,%xmm13,%xmm7
23207  .byte  196,193,112,87,243                  // vxorps        %xmm11,%xmm1,%xmm6
23208  .byte  197,145,102,246                     // vpcmpgtd      %xmm6,%xmm13,%xmm6
23209  .byte  196,227,77,24,247,1                 // vinsertf128   $0x1,%xmm7,%ymm6,%ymm6
23210  .byte  197,193,114,242,16                  // vpslld        $0x10,%xmm2,%xmm7
23211  .byte  196,227,125,25,210,1                // vextractf128  $0x1,%ymm2,%xmm2
23212  .byte  197,233,114,242,16                  // vpslld        $0x10,%xmm2,%xmm2
23213  .byte  196,227,69,24,210,1                 // vinsertf128   $0x1,%xmm2,%ymm7,%ymm2
23214  .byte  197,241,114,241,13                  // vpslld        $0xd,%xmm1,%xmm1
23215  .byte  196,193,65,114,242,13               // vpslld        $0xd,%xmm10,%xmm7
23216  .byte  196,227,117,24,207,1                // vinsertf128   $0x1,%xmm7,%ymm1,%ymm1
23217  .byte  197,244,86,202                      // vorps         %ymm2,%ymm1,%ymm1
23218  .byte  196,227,125,25,202,1                // vextractf128  $0x1,%ymm1,%xmm2
23219  .byte  197,233,254,211                     // vpaddd        %xmm3,%xmm2,%xmm2
23220  .byte  197,241,254,203                     // vpaddd        %xmm3,%xmm1,%xmm1
23221  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
23222  .byte  196,195,117,74,206,96               // vblendvps     %ymm6,%ymm14,%ymm1,%ymm1
23223  .byte  196,193,57,108,209                  // vpunpcklqdq   %xmm9,%xmm8,%xmm2
23224  .byte  197,233,105,244                     // vpunpckhwd    %xmm4,%xmm2,%xmm6
23225  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
23226  .byte  196,226,121,51,210                  // vpmovzxwd     %xmm2,%xmm2
23227  .byte  196,227,109,24,214,1                // vinsertf128   $0x1,%xmm6,%ymm2,%ymm2
23228  .byte  196,193,108,84,244                  // vandps        %ymm12,%ymm2,%ymm6
23229  .byte  197,236,87,214                      // vxorps        %ymm6,%ymm2,%ymm2
23230  .byte  196,227,125,25,215,1                // vextractf128  $0x1,%ymm2,%xmm7
23231  .byte  196,193,64,87,235                   // vxorps        %xmm11,%xmm7,%xmm5
23232  .byte  197,145,102,237                     // vpcmpgtd      %xmm5,%xmm13,%xmm5
23233  .byte  196,193,104,87,227                  // vxorps        %xmm11,%xmm2,%xmm4
23234  .byte  197,145,102,228                     // vpcmpgtd      %xmm4,%xmm13,%xmm4
23235  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
23236  .byte  197,209,114,246,16                  // vpslld        $0x10,%xmm6,%xmm5
23237  .byte  196,227,125,25,246,1                // vextractf128  $0x1,%ymm6,%xmm6
23238  .byte  197,201,114,246,16                  // vpslld        $0x10,%xmm6,%xmm6
23239  .byte  196,227,85,24,238,1                 // vinsertf128   $0x1,%xmm6,%ymm5,%ymm5
23240  .byte  197,233,114,242,13                  // vpslld        $0xd,%xmm2,%xmm2
23241  .byte  197,201,114,247,13                  // vpslld        $0xd,%xmm7,%xmm6
23242  .byte  196,227,109,24,214,1                // vinsertf128   $0x1,%xmm6,%ymm2,%ymm2
23243  .byte  197,236,86,213                      // vorps         %ymm5,%ymm2,%ymm2
23244  .byte  196,227,125,25,213,1                // vextractf128  $0x1,%ymm2,%xmm5
23245  .byte  197,209,254,235                     // vpaddd        %xmm3,%xmm5,%xmm5
23246  .byte  197,233,254,211                     // vpaddd        %xmm3,%xmm2,%xmm2
23247  .byte  196,227,109,24,213,1                // vinsertf128   $0x1,%xmm5,%ymm2,%ymm2
23248  .byte  196,195,109,74,214,64               // vblendvps     %ymm4,%ymm14,%ymm2,%ymm2
23249  .byte  196,193,57,109,225                  // vpunpckhqdq   %xmm9,%xmm8,%xmm4
23250  .byte  196,193,89,105,234                  // vpunpckhwd    %xmm10,%xmm4,%xmm5
23251  .byte  196,226,121,51,228                  // vpmovzxwd     %xmm4,%xmm4
23252  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
23253  .byte  196,193,92,84,236                   // vandps        %ymm12,%ymm4,%ymm5
23254  .byte  197,220,87,229                      // vxorps        %ymm5,%ymm4,%ymm4
23255  .byte  196,227,125,25,230,1                // vextractf128  $0x1,%ymm4,%xmm6
23256  .byte  196,193,72,87,251                   // vxorps        %xmm11,%xmm6,%xmm7
23257  .byte  197,17,102,199                      // vpcmpgtd      %xmm7,%xmm13,%xmm8
23258  .byte  196,193,88,87,251                   // vxorps        %xmm11,%xmm4,%xmm7
23259  .byte  197,145,102,255                     // vpcmpgtd      %xmm7,%xmm13,%xmm7
23260  .byte  196,195,69,24,248,1                 // vinsertf128   $0x1,%xmm8,%ymm7,%ymm7
23261  .byte  197,185,114,245,16                  // vpslld        $0x10,%xmm5,%xmm8
23262  .byte  196,227,125,25,237,1                // vextractf128  $0x1,%ymm5,%xmm5
23263  .byte  197,209,114,245,16                  // vpslld        $0x10,%xmm5,%xmm5
23264  .byte  196,227,61,24,237,1                 // vinsertf128   $0x1,%xmm5,%ymm8,%ymm5
23265  .byte  197,217,114,244,13                  // vpslld        $0xd,%xmm4,%xmm4
23266  .byte  197,201,114,246,13                  // vpslld        $0xd,%xmm6,%xmm6
23267  .byte  196,227,93,24,230,1                 // vinsertf128   $0x1,%xmm6,%ymm4,%ymm4
23268  .byte  197,220,86,229                      // vorps         %ymm5,%ymm4,%ymm4
23269  .byte  196,227,125,25,229,1                // vextractf128  $0x1,%ymm4,%xmm5
23270  .byte  197,209,254,235                     // vpaddd        %xmm3,%xmm5,%xmm5
23271  .byte  197,217,254,219                     // vpaddd        %xmm3,%xmm4,%xmm3
23272  .byte  196,227,101,24,221,1                // vinsertf128   $0x1,%xmm5,%ymm3,%ymm3
23273  .byte  196,195,101,74,222,112              // vblendvps     %ymm7,%ymm14,%ymm3,%ymm3
23274  .byte  72,173                              // lods          %ds:(%rsi),%rax
23275  .byte  197,252,16,100,36,128               // vmovups       -0x80(%rsp),%ymm4
23276  .byte  197,252,16,108,36,160               // vmovups       -0x60(%rsp),%ymm5
23277  .byte  197,252,16,116,36,192               // vmovups       -0x40(%rsp),%ymm6
23278  .byte  197,252,16,124,36,224               // vmovups       -0x20(%rsp),%ymm7
23279  .byte  72,131,196,24                       // add           $0x18,%rsp
23280  .byte  255,224                             // jmpq          *%rax
23281
23282HIDDEN _sk_store_f16_avx
23283.globl _sk_store_f16_avx
23284FUNCTION(_sk_store_f16_avx)
23285_sk_store_f16_avx:
23286  .byte  72,131,236,88                       // sub           $0x58,%rsp
23287  .byte  197,252,17,124,36,32                // vmovups       %ymm7,0x20(%rsp)
23288  .byte  197,252,17,52,36                    // vmovups       %ymm6,(%rsp)
23289  .byte  197,252,17,108,36,224               // vmovups       %ymm5,-0x20(%rsp)
23290  .byte  197,252,17,100,36,192               // vmovups       %ymm4,-0x40(%rsp)
23291  .byte  196,98,125,24,13,8,35,0,0           // vbroadcastss  0x2308(%rip),%ymm9        # 7ca4 <_sk_callback_avx+0x4f4>
23292  .byte  196,65,124,84,209                   // vandps        %ymm9,%ymm0,%ymm10
23293  .byte  197,252,17,68,36,128                // vmovups       %ymm0,-0x80(%rsp)
23294  .byte  196,65,124,87,218                   // vxorps        %ymm10,%ymm0,%ymm11
23295  .byte  196,67,125,25,220,1                 // vextractf128  $0x1,%ymm11,%xmm12
23296  .byte  196,98,121,24,5,237,34,0,0          // vbroadcastss  0x22ed(%rip),%xmm8        # 7ca8 <_sk_callback_avx+0x4f8>
23297  .byte  196,65,57,102,236                   // vpcmpgtd      %xmm12,%xmm8,%xmm13
23298  .byte  196,65,57,102,243                   // vpcmpgtd      %xmm11,%xmm8,%xmm14
23299  .byte  196,67,13,24,237,1                  // vinsertf128   $0x1,%xmm13,%ymm14,%ymm13
23300  .byte  196,193,9,114,210,16                // vpsrld        $0x10,%xmm10,%xmm14
23301  .byte  196,67,125,25,210,1                 // vextractf128  $0x1,%ymm10,%xmm10
23302  .byte  196,193,41,114,210,16               // vpsrld        $0x10,%xmm10,%xmm10
23303  .byte  196,67,13,24,242,1                  // vinsertf128   $0x1,%xmm10,%ymm14,%ymm14
23304  .byte  196,193,33,114,211,13               // vpsrld        $0xd,%xmm11,%xmm11
23305  .byte  196,193,25,114,212,13               // vpsrld        $0xd,%xmm12,%xmm12
23306  .byte  196,98,125,24,21,180,34,0,0         // vbroadcastss  0x22b4(%rip),%ymm10        # 7cac <_sk_callback_avx+0x4fc>
23307  .byte  196,65,12,86,242                    // vorps         %ymm10,%ymm14,%ymm14
23308  .byte  196,67,125,25,247,1                 // vextractf128  $0x1,%ymm14,%xmm15
23309  .byte  196,65,1,254,228                    // vpaddd        %xmm12,%xmm15,%xmm12
23310  .byte  196,65,9,254,219                    // vpaddd        %xmm11,%xmm14,%xmm11
23311  .byte  196,67,37,24,228,1                  // vinsertf128   $0x1,%xmm12,%ymm11,%ymm12
23312  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
23313  .byte  196,99,29,74,224,208                // vblendvps     %ymm13,%ymm0,%ymm12,%ymm12
23314  .byte  196,65,116,84,233                   // vandps        %ymm9,%ymm1,%ymm13
23315  .byte  197,252,17,76,36,160                // vmovups       %ymm1,-0x60(%rsp)
23316  .byte  196,65,116,87,245                   // vxorps        %ymm13,%ymm1,%ymm14
23317  .byte  196,67,125,25,247,1                 // vextractf128  $0x1,%ymm14,%xmm15
23318  .byte  196,193,57,102,255                  // vpcmpgtd      %xmm15,%xmm8,%xmm7
23319  .byte  196,65,57,102,222                   // vpcmpgtd      %xmm14,%xmm8,%xmm11
23320  .byte  196,227,37,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm11,%ymm7
23321  .byte  196,193,33,114,213,16               // vpsrld        $0x10,%xmm13,%xmm11
23322  .byte  196,99,125,25,238,1                 // vextractf128  $0x1,%ymm13,%xmm6
23323  .byte  197,201,114,214,16                  // vpsrld        $0x10,%xmm6,%xmm6
23324  .byte  196,227,37,24,246,1                 // vinsertf128   $0x1,%xmm6,%ymm11,%ymm6
23325  .byte  196,193,33,114,215,13               // vpsrld        $0xd,%xmm15,%xmm11
23326  .byte  196,193,76,86,242                   // vorps         %ymm10,%ymm6,%ymm6
23327  .byte  196,227,125,25,245,1                // vextractf128  $0x1,%ymm6,%xmm5
23328  .byte  196,193,81,254,235                  // vpaddd        %xmm11,%xmm5,%xmm5
23329  .byte  196,193,89,114,214,13               // vpsrld        $0xd,%xmm14,%xmm4
23330  .byte  197,201,254,228                     // vpaddd        %xmm4,%xmm6,%xmm4
23331  .byte  196,227,93,24,229,1                 // vinsertf128   $0x1,%xmm5,%ymm4,%ymm4
23332  .byte  196,99,93,74,232,112                // vblendvps     %ymm7,%ymm0,%ymm4,%ymm13
23333  .byte  196,193,108,84,225                  // vandps        %ymm9,%ymm2,%ymm4
23334  .byte  197,236,87,236                      // vxorps        %ymm4,%ymm2,%ymm5
23335  .byte  196,227,125,25,238,1                // vextractf128  $0x1,%ymm5,%xmm6
23336  .byte  197,185,102,254                     // vpcmpgtd      %xmm6,%xmm8,%xmm7
23337  .byte  197,57,102,221                      // vpcmpgtd      %xmm5,%xmm8,%xmm11
23338  .byte  196,227,37,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm11,%ymm7
23339  .byte  197,161,114,212,16                  // vpsrld        $0x10,%xmm4,%xmm11
23340  .byte  196,227,125,25,228,1                // vextractf128  $0x1,%ymm4,%xmm4
23341  .byte  197,217,114,212,16                  // vpsrld        $0x10,%xmm4,%xmm4
23342  .byte  196,227,37,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm11,%ymm4
23343  .byte  197,201,114,214,13                  // vpsrld        $0xd,%xmm6,%xmm6
23344  .byte  196,193,92,86,226                   // vorps         %ymm10,%ymm4,%ymm4
23345  .byte  196,227,125,25,225,1                // vextractf128  $0x1,%ymm4,%xmm1
23346  .byte  197,241,254,206                     // vpaddd        %xmm6,%xmm1,%xmm1
23347  .byte  197,209,114,213,13                  // vpsrld        $0xd,%xmm5,%xmm5
23348  .byte  197,217,254,229                     // vpaddd        %xmm5,%xmm4,%xmm4
23349  .byte  196,227,93,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm4,%ymm1
23350  .byte  196,99,117,74,216,112               // vblendvps     %ymm7,%ymm0,%ymm1,%ymm11
23351  .byte  196,193,100,84,225                  // vandps        %ymm9,%ymm3,%ymm4
23352  .byte  197,228,87,236                      // vxorps        %ymm4,%ymm3,%ymm5
23353  .byte  196,227,125,25,238,1                // vextractf128  $0x1,%ymm5,%xmm6
23354  .byte  197,185,102,254                     // vpcmpgtd      %xmm6,%xmm8,%xmm7
23355  .byte  197,57,102,197                      // vpcmpgtd      %xmm5,%xmm8,%xmm8
23356  .byte  196,227,61,24,255,1                 // vinsertf128   $0x1,%xmm7,%ymm8,%ymm7
23357  .byte  197,185,114,212,16                  // vpsrld        $0x10,%xmm4,%xmm8
23358  .byte  196,227,125,25,228,1                // vextractf128  $0x1,%ymm4,%xmm4
23359  .byte  197,217,114,212,16                  // vpsrld        $0x10,%xmm4,%xmm4
23360  .byte  196,227,61,24,228,1                 // vinsertf128   $0x1,%xmm4,%ymm8,%ymm4
23361  .byte  196,193,92,86,226                   // vorps         %ymm10,%ymm4,%ymm4
23362  .byte  197,201,114,214,13                  // vpsrld        $0xd,%xmm6,%xmm6
23363  .byte  196,227,125,25,225,1                // vextractf128  $0x1,%ymm4,%xmm1
23364  .byte  197,241,254,206                     // vpaddd        %xmm6,%xmm1,%xmm1
23365  .byte  197,209,114,213,13                  // vpsrld        $0xd,%xmm5,%xmm5
23366  .byte  197,217,254,229                     // vpaddd        %xmm5,%xmm4,%xmm4
23367  .byte  196,227,93,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm4,%ymm1
23368  .byte  196,227,117,74,200,112              // vblendvps     %ymm7,%ymm0,%ymm1,%ymm1
23369  .byte  196,99,125,25,224,1                 // vextractf128  $0x1,%ymm12,%xmm0
23370  .byte  196,226,25,43,192                   // vpackusdw     %xmm0,%xmm12,%xmm0
23371  .byte  196,99,125,25,236,1                 // vextractf128  $0x1,%ymm13,%xmm4
23372  .byte  196,226,17,43,228                   // vpackusdw     %xmm4,%xmm13,%xmm4
23373  .byte  196,99,125,25,221,1                 // vextractf128  $0x1,%ymm11,%xmm5
23374  .byte  196,226,33,43,245                   // vpackusdw     %xmm5,%xmm11,%xmm6
23375  .byte  196,227,125,25,205,1                // vextractf128  $0x1,%ymm1,%xmm5
23376  .byte  196,226,113,43,205                  // vpackusdw     %xmm5,%xmm1,%xmm1
23377  .byte  197,249,97,236                      // vpunpcklwd    %xmm4,%xmm0,%xmm5
23378  .byte  197,249,105,196                     // vpunpckhwd    %xmm4,%xmm0,%xmm0
23379  .byte  197,201,97,225                      // vpunpcklwd    %xmm1,%xmm6,%xmm4
23380  .byte  197,201,105,201                     // vpunpckhwd    %xmm1,%xmm6,%xmm1
23381  .byte  197,81,98,220                       // vpunpckldq    %xmm4,%xmm5,%xmm11
23382  .byte  197,81,106,212                      // vpunpckhdq    %xmm4,%xmm5,%xmm10
23383  .byte  197,121,98,201                      // vpunpckldq    %xmm1,%xmm0,%xmm9
23384  .byte  197,121,106,193                     // vpunpckhdq    %xmm1,%xmm0,%xmm8
23385  .byte  72,173                              // lods          %ds:(%rsi),%rax
23386  .byte  72,139,0                            // mov           (%rax),%rax
23387  .byte  77,133,192                          // test          %r8,%r8
23388  .byte  117,66                              // jne           5bd6 <_sk_store_f16_avx+0x25e>
23389  .byte  197,120,17,28,208                   // vmovups       %xmm11,(%rax,%rdx,8)
23390  .byte  197,120,17,84,208,16                // vmovups       %xmm10,0x10(%rax,%rdx,8)
23391  .byte  197,120,17,76,208,32                // vmovups       %xmm9,0x20(%rax,%rdx,8)
23392  .byte  197,122,127,68,208,48               // vmovdqu       %xmm8,0x30(%rax,%rdx,8)
23393  .byte  72,173                              // lods          %ds:(%rsi),%rax
23394  .byte  197,252,16,68,36,128                // vmovups       -0x80(%rsp),%ymm0
23395  .byte  197,252,16,76,36,160                // vmovups       -0x60(%rsp),%ymm1
23396  .byte  197,252,16,100,36,192               // vmovups       -0x40(%rsp),%ymm4
23397  .byte  197,252,16,108,36,224               // vmovups       -0x20(%rsp),%ymm5
23398  .byte  197,252,16,52,36                    // vmovups       (%rsp),%ymm6
23399  .byte  197,252,16,124,36,32                // vmovups       0x20(%rsp),%ymm7
23400  .byte  72,131,196,88                       // add           $0x58,%rsp
23401  .byte  255,224                             // jmpq          *%rax
23402  .byte  197,121,214,28,208                  // vmovq         %xmm11,(%rax,%rdx,8)
23403  .byte  73,131,248,1                        // cmp           $0x1,%r8
23404  .byte  116,202                             // je            5bab <_sk_store_f16_avx+0x233>
23405  .byte  197,121,23,92,208,8                 // vmovhpd       %xmm11,0x8(%rax,%rdx,8)
23406  .byte  73,131,248,3                        // cmp           $0x3,%r8
23407  .byte  114,190                             // jb            5bab <_sk_store_f16_avx+0x233>
23408  .byte  197,121,214,84,208,16               // vmovq         %xmm10,0x10(%rax,%rdx,8)
23409  .byte  116,182                             // je            5bab <_sk_store_f16_avx+0x233>
23410  .byte  197,121,23,84,208,24                // vmovhpd       %xmm10,0x18(%rax,%rdx,8)
23411  .byte  73,131,248,5                        // cmp           $0x5,%r8
23412  .byte  114,170                             // jb            5bab <_sk_store_f16_avx+0x233>
23413  .byte  197,121,214,76,208,32               // vmovq         %xmm9,0x20(%rax,%rdx,8)
23414  .byte  116,162                             // je            5bab <_sk_store_f16_avx+0x233>
23415  .byte  197,121,23,76,208,40                // vmovhpd       %xmm9,0x28(%rax,%rdx,8)
23416  .byte  73,131,248,7                        // cmp           $0x7,%r8
23417  .byte  114,150                             // jb            5bab <_sk_store_f16_avx+0x233>
23418  .byte  197,121,214,68,208,48               // vmovq         %xmm8,0x30(%rax,%rdx,8)
23419  .byte  235,142                             // jmp           5bab <_sk_store_f16_avx+0x233>
23420
23421HIDDEN _sk_load_u16_be_avx
23422.globl _sk_load_u16_be_avx
23423FUNCTION(_sk_load_u16_be_avx)
23424_sk_load_u16_be_avx:
23425  .byte  72,173                              // lods          %ds:(%rsi),%rax
23426  .byte  76,139,8                            // mov           (%rax),%r9
23427  .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
23428  .byte  77,133,192                          // test          %r8,%r8
23429  .byte  15,133,253,0,0,0                    // jne           5d30 <_sk_load_u16_be_avx+0x113>
23430  .byte  196,65,121,16,4,65                  // vmovupd       (%r9,%rax,2),%xmm8
23431  .byte  196,193,121,16,84,65,16             // vmovupd       0x10(%r9,%rax,2),%xmm2
23432  .byte  196,193,121,16,92,65,32             // vmovupd       0x20(%r9,%rax,2),%xmm3
23433  .byte  196,65,122,111,76,65,48             // vmovdqu       0x30(%r9,%rax,2),%xmm9
23434  .byte  197,185,97,194                      // vpunpcklwd    %xmm2,%xmm8,%xmm0
23435  .byte  197,185,105,210                     // vpunpckhwd    %xmm2,%xmm8,%xmm2
23436  .byte  196,193,97,97,201                   // vpunpcklwd    %xmm9,%xmm3,%xmm1
23437  .byte  196,193,97,105,217                  // vpunpckhwd    %xmm9,%xmm3,%xmm3
23438  .byte  197,121,97,202                      // vpunpcklwd    %xmm2,%xmm0,%xmm9
23439  .byte  197,121,105,194                     // vpunpckhwd    %xmm2,%xmm0,%xmm8
23440  .byte  197,241,97,211                      // vpunpcklwd    %xmm3,%xmm1,%xmm2
23441  .byte  197,113,105,227                     // vpunpckhwd    %xmm3,%xmm1,%xmm12
23442  .byte  197,177,108,194                     // vpunpcklqdq   %xmm2,%xmm9,%xmm0
23443  .byte  197,241,113,240,8                   // vpsllw        $0x8,%xmm0,%xmm1
23444  .byte  197,249,113,208,8                   // vpsrlw        $0x8,%xmm0,%xmm0
23445  .byte  197,241,235,192                     // vpor          %xmm0,%xmm1,%xmm0
23446  .byte  196,65,41,239,210                   // vpxor         %xmm10,%xmm10,%xmm10
23447  .byte  196,193,121,105,202                 // vpunpckhwd    %xmm10,%xmm0,%xmm1
23448  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
23449  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
23450  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
23451  .byte  196,98,125,24,29,12,32,0,0          // vbroadcastss  0x200c(%rip),%ymm11        # 7cb0 <_sk_callback_avx+0x500>
23452  .byte  196,193,124,89,195                  // vmulps        %ymm11,%ymm0,%ymm0
23453  .byte  197,177,109,202                     // vpunpckhqdq   %xmm2,%xmm9,%xmm1
23454  .byte  197,233,113,241,8                   // vpsllw        $0x8,%xmm1,%xmm2
23455  .byte  197,241,113,209,8                   // vpsrlw        $0x8,%xmm1,%xmm1
23456  .byte  197,233,235,201                     // vpor          %xmm1,%xmm2,%xmm1
23457  .byte  196,193,113,105,210                 // vpunpckhwd    %xmm10,%xmm1,%xmm2
23458  .byte  196,226,121,51,201                  // vpmovzxwd     %xmm1,%xmm1
23459  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
23460  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
23461  .byte  196,193,116,89,203                  // vmulps        %ymm11,%ymm1,%ymm1
23462  .byte  196,193,57,108,212                  // vpunpcklqdq   %xmm12,%xmm8,%xmm2
23463  .byte  197,225,113,242,8                   // vpsllw        $0x8,%xmm2,%xmm3
23464  .byte  197,233,113,210,8                   // vpsrlw        $0x8,%xmm2,%xmm2
23465  .byte  197,225,235,210                     // vpor          %xmm2,%xmm3,%xmm2
23466  .byte  196,193,105,105,218                 // vpunpckhwd    %xmm10,%xmm2,%xmm3
23467  .byte  196,226,121,51,210                  // vpmovzxwd     %xmm2,%xmm2
23468  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
23469  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
23470  .byte  196,193,108,89,211                  // vmulps        %ymm11,%ymm2,%ymm2
23471  .byte  196,193,57,109,220                  // vpunpckhqdq   %xmm12,%xmm8,%xmm3
23472  .byte  197,185,113,243,8                   // vpsllw        $0x8,%xmm3,%xmm8
23473  .byte  197,225,113,211,8                   // vpsrlw        $0x8,%xmm3,%xmm3
23474  .byte  197,185,235,219                     // vpor          %xmm3,%xmm8,%xmm3
23475  .byte  196,65,97,105,194                   // vpunpckhwd    %xmm10,%xmm3,%xmm8
23476  .byte  196,226,121,51,219                  // vpmovzxwd     %xmm3,%xmm3
23477  .byte  196,195,101,24,216,1                // vinsertf128   $0x1,%xmm8,%ymm3,%ymm3
23478  .byte  197,252,91,219                      // vcvtdq2ps     %ymm3,%ymm3
23479  .byte  196,193,100,89,219                  // vmulps        %ymm11,%ymm3,%ymm3
23480  .byte  72,173                              // lods          %ds:(%rsi),%rax
23481  .byte  255,224                             // jmpq          *%rax
23482  .byte  196,65,123,16,4,65                  // vmovsd        (%r9,%rax,2),%xmm8
23483  .byte  196,65,49,239,201                   // vpxor         %xmm9,%xmm9,%xmm9
23484  .byte  73,131,248,1                        // cmp           $0x1,%r8
23485  .byte  116,85                              // je            5d96 <_sk_load_u16_be_avx+0x179>
23486  .byte  196,65,57,22,68,65,8                // vmovhpd       0x8(%r9,%rax,2),%xmm8,%xmm8
23487  .byte  73,131,248,3                        // cmp           $0x3,%r8
23488  .byte  114,72                              // jb            5d96 <_sk_load_u16_be_avx+0x179>
23489  .byte  196,193,123,16,84,65,16             // vmovsd        0x10(%r9,%rax,2),%xmm2
23490  .byte  73,131,248,3                        // cmp           $0x3,%r8
23491  .byte  116,72                              // je            5da3 <_sk_load_u16_be_avx+0x186>
23492  .byte  196,193,105,22,84,65,24             // vmovhpd       0x18(%r9,%rax,2),%xmm2,%xmm2
23493  .byte  73,131,248,5                        // cmp           $0x5,%r8
23494  .byte  114,59                              // jb            5da3 <_sk_load_u16_be_avx+0x186>
23495  .byte  196,193,123,16,92,65,32             // vmovsd        0x20(%r9,%rax,2),%xmm3
23496  .byte  73,131,248,5                        // cmp           $0x5,%r8
23497  .byte  15,132,213,254,255,255              // je            5c4e <_sk_load_u16_be_avx+0x31>
23498  .byte  196,193,97,22,92,65,40              // vmovhpd       0x28(%r9,%rax,2),%xmm3,%xmm3
23499  .byte  73,131,248,7                        // cmp           $0x7,%r8
23500  .byte  15,130,196,254,255,255              // jb            5c4e <_sk_load_u16_be_avx+0x31>
23501  .byte  196,65,122,126,76,65,48             // vmovq         0x30(%r9,%rax,2),%xmm9
23502  .byte  233,184,254,255,255                 // jmpq          5c4e <_sk_load_u16_be_avx+0x31>
23503  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
23504  .byte  197,233,87,210                      // vxorpd        %xmm2,%xmm2,%xmm2
23505  .byte  233,171,254,255,255                 // jmpq          5c4e <_sk_load_u16_be_avx+0x31>
23506  .byte  197,225,87,219                      // vxorpd        %xmm3,%xmm3,%xmm3
23507  .byte  233,162,254,255,255                 // jmpq          5c4e <_sk_load_u16_be_avx+0x31>
23508
23509HIDDEN _sk_load_rgb_u16_be_avx
23510.globl _sk_load_rgb_u16_be_avx
23511FUNCTION(_sk_load_rgb_u16_be_avx)
23512_sk_load_rgb_u16_be_avx:
23513  .byte  72,173                              // lods          %ds:(%rsi),%rax
23514  .byte  76,139,8                            // mov           (%rax),%r9
23515  .byte  72,141,4,82                         // lea           (%rdx,%rdx,2),%rax
23516  .byte  77,133,192                          // test          %r8,%r8
23517  .byte  15,133,243,0,0,0                    // jne           5eb1 <_sk_load_rgb_u16_be_avx+0x105>
23518  .byte  196,193,122,111,4,65                // vmovdqu       (%r9,%rax,2),%xmm0
23519  .byte  196,193,122,111,84,65,12            // vmovdqu       0xc(%r9,%rax,2),%xmm2
23520  .byte  196,193,122,111,76,65,24            // vmovdqu       0x18(%r9,%rax,2),%xmm1
23521  .byte  196,193,122,111,92,65,32            // vmovdqu       0x20(%r9,%rax,2),%xmm3
23522  .byte  197,225,115,219,4                   // vpsrldq       $0x4,%xmm3,%xmm3
23523  .byte  197,185,115,216,6                   // vpsrldq       $0x6,%xmm0,%xmm8
23524  .byte  197,177,115,218,6                   // vpsrldq       $0x6,%xmm2,%xmm9
23525  .byte  197,161,115,217,6                   // vpsrldq       $0x6,%xmm1,%xmm11
23526  .byte  197,169,115,219,6                   // vpsrldq       $0x6,%xmm3,%xmm10
23527  .byte  197,249,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm0
23528  .byte  196,193,57,97,209                   // vpunpcklwd    %xmm9,%xmm8,%xmm2
23529  .byte  197,241,97,203                      // vpunpcklwd    %xmm3,%xmm1,%xmm1
23530  .byte  196,193,33,97,218                   // vpunpcklwd    %xmm10,%xmm11,%xmm3
23531  .byte  197,121,97,194                      // vpunpcklwd    %xmm2,%xmm0,%xmm8
23532  .byte  197,121,105,202                     // vpunpckhwd    %xmm2,%xmm0,%xmm9
23533  .byte  197,241,97,211                      // vpunpcklwd    %xmm3,%xmm1,%xmm2
23534  .byte  197,113,105,211                     // vpunpckhwd    %xmm3,%xmm1,%xmm10
23535  .byte  197,185,108,194                     // vpunpcklqdq   %xmm2,%xmm8,%xmm0
23536  .byte  197,241,113,240,8                   // vpsllw        $0x8,%xmm0,%xmm1
23537  .byte  197,249,113,208,8                   // vpsrlw        $0x8,%xmm0,%xmm0
23538  .byte  197,241,235,192                     // vpor          %xmm0,%xmm1,%xmm0
23539  .byte  196,65,25,239,228                   // vpxor         %xmm12,%xmm12,%xmm12
23540  .byte  196,193,121,105,204                 // vpunpckhwd    %xmm12,%xmm0,%xmm1
23541  .byte  196,226,121,51,192                  // vpmovzxwd     %xmm0,%xmm0
23542  .byte  196,227,125,24,193,1                // vinsertf128   $0x1,%xmm1,%ymm0,%ymm0
23543  .byte  197,252,91,192                      // vcvtdq2ps     %ymm0,%ymm0
23544  .byte  196,98,125,24,29,108,30,0,0         // vbroadcastss  0x1e6c(%rip),%ymm11        # 7cb4 <_sk_callback_avx+0x504>
23545  .byte  196,193,124,89,195                  // vmulps        %ymm11,%ymm0,%ymm0
23546  .byte  197,185,109,202                     // vpunpckhqdq   %xmm2,%xmm8,%xmm1
23547  .byte  197,233,113,241,8                   // vpsllw        $0x8,%xmm1,%xmm2
23548  .byte  197,241,113,209,8                   // vpsrlw        $0x8,%xmm1,%xmm1
23549  .byte  197,233,235,201                     // vpor          %xmm1,%xmm2,%xmm1
23550  .byte  196,193,113,105,212                 // vpunpckhwd    %xmm12,%xmm1,%xmm2
23551  .byte  196,226,121,51,201                  // vpmovzxwd     %xmm1,%xmm1
23552  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
23553  .byte  197,252,91,201                      // vcvtdq2ps     %ymm1,%ymm1
23554  .byte  196,193,116,89,203                  // vmulps        %ymm11,%ymm1,%ymm1
23555  .byte  196,193,49,108,210                  // vpunpcklqdq   %xmm10,%xmm9,%xmm2
23556  .byte  197,225,113,242,8                   // vpsllw        $0x8,%xmm2,%xmm3
23557  .byte  197,233,113,210,8                   // vpsrlw        $0x8,%xmm2,%xmm2
23558  .byte  197,225,235,210                     // vpor          %xmm2,%xmm3,%xmm2
23559  .byte  196,193,105,105,220                 // vpunpckhwd    %xmm12,%xmm2,%xmm3
23560  .byte  196,226,121,51,210                  // vpmovzxwd     %xmm2,%xmm2
23561  .byte  196,227,109,24,211,1                // vinsertf128   $0x1,%xmm3,%ymm2,%ymm2
23562  .byte  197,252,91,210                      // vcvtdq2ps     %ymm2,%ymm2
23563  .byte  196,193,108,89,211                  // vmulps        %ymm11,%ymm2,%ymm2
23564  .byte  72,173                              // lods          %ds:(%rsi),%rax
23565  .byte  196,226,125,24,29,9,30,0,0          // vbroadcastss  0x1e09(%rip),%ymm3        # 7cb8 <_sk_callback_avx+0x508>
23566  .byte  255,224                             // jmpq          *%rax
23567  .byte  196,193,121,110,4,65                // vmovd         (%r9,%rax,2),%xmm0
23568  .byte  196,193,121,196,68,65,4,2           // vpinsrw       $0x2,0x4(%r9,%rax,2),%xmm0,%xmm0
23569  .byte  73,131,248,1                        // cmp           $0x1,%r8
23570  .byte  117,5                               // jne           5eca <_sk_load_rgb_u16_be_avx+0x11e>
23571  .byte  233,40,255,255,255                  // jmpq          5df2 <_sk_load_rgb_u16_be_avx+0x46>
23572  .byte  196,193,121,110,76,65,6             // vmovd         0x6(%r9,%rax,2),%xmm1
23573  .byte  196,65,113,196,68,65,10,2           // vpinsrw       $0x2,0xa(%r9,%rax,2),%xmm1,%xmm8
23574  .byte  73,131,248,3                        // cmp           $0x3,%r8
23575  .byte  114,26                              // jb            5ef9 <_sk_load_rgb_u16_be_avx+0x14d>
23576  .byte  196,193,121,110,76,65,12            // vmovd         0xc(%r9,%rax,2),%xmm1
23577  .byte  196,193,113,196,84,65,16,2          // vpinsrw       $0x2,0x10(%r9,%rax,2),%xmm1,%xmm2
23578  .byte  73,131,248,3                        // cmp           $0x3,%r8
23579  .byte  117,10                              // jne           5efe <_sk_load_rgb_u16_be_avx+0x152>
23580  .byte  233,249,254,255,255                 // jmpq          5df2 <_sk_load_rgb_u16_be_avx+0x46>
23581  .byte  233,244,254,255,255                 // jmpq          5df2 <_sk_load_rgb_u16_be_avx+0x46>
23582  .byte  196,193,121,110,76,65,18            // vmovd         0x12(%r9,%rax,2),%xmm1
23583  .byte  196,65,113,196,76,65,22,2           // vpinsrw       $0x2,0x16(%r9,%rax,2),%xmm1,%xmm9
23584  .byte  73,131,248,5                        // cmp           $0x5,%r8
23585  .byte  114,26                              // jb            5f2d <_sk_load_rgb_u16_be_avx+0x181>
23586  .byte  196,193,121,110,76,65,24            // vmovd         0x18(%r9,%rax,2),%xmm1
23587  .byte  196,193,113,196,76,65,28,2          // vpinsrw       $0x2,0x1c(%r9,%rax,2),%xmm1,%xmm1
23588  .byte  73,131,248,5                        // cmp           $0x5,%r8
23589  .byte  117,10                              // jne           5f32 <_sk_load_rgb_u16_be_avx+0x186>
23590  .byte  233,197,254,255,255                 // jmpq          5df2 <_sk_load_rgb_u16_be_avx+0x46>
23591  .byte  233,192,254,255,255                 // jmpq          5df2 <_sk_load_rgb_u16_be_avx+0x46>
23592  .byte  196,193,121,110,92,65,30            // vmovd         0x1e(%r9,%rax,2),%xmm3
23593  .byte  196,65,97,196,92,65,34,2            // vpinsrw       $0x2,0x22(%r9,%rax,2),%xmm3,%xmm11
23594  .byte  73,131,248,7                        // cmp           $0x7,%r8
23595  .byte  114,20                              // jb            5f5b <_sk_load_rgb_u16_be_avx+0x1af>
23596  .byte  196,193,121,110,92,65,36            // vmovd         0x24(%r9,%rax,2),%xmm3
23597  .byte  196,193,97,196,92,65,40,2           // vpinsrw       $0x2,0x28(%r9,%rax,2),%xmm3,%xmm3
23598  .byte  233,151,254,255,255                 // jmpq          5df2 <_sk_load_rgb_u16_be_avx+0x46>
23599  .byte  233,146,254,255,255                 // jmpq          5df2 <_sk_load_rgb_u16_be_avx+0x46>
23600
23601HIDDEN _sk_store_u16_be_avx
23602.globl _sk_store_u16_be_avx
23603FUNCTION(_sk_store_u16_be_avx)
23604_sk_store_u16_be_avx:
23605  .byte  72,173                              // lods          %ds:(%rsi),%rax
23606  .byte  76,139,8                            // mov           (%rax),%r9
23607  .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
23608  .byte  196,98,125,24,5,70,29,0,0           // vbroadcastss  0x1d46(%rip),%ymm8        # 7cbc <_sk_callback_avx+0x50c>
23609  .byte  196,65,124,89,200                   // vmulps        %ymm8,%ymm0,%ymm9
23610  .byte  196,65,125,91,201                   // vcvtps2dq     %ymm9,%ymm9
23611  .byte  196,67,125,25,202,1                 // vextractf128  $0x1,%ymm9,%xmm10
23612  .byte  196,66,49,43,202                    // vpackusdw     %xmm10,%xmm9,%xmm9
23613  .byte  196,193,41,113,241,8                // vpsllw        $0x8,%xmm9,%xmm10
23614  .byte  196,193,49,113,209,8                // vpsrlw        $0x8,%xmm9,%xmm9
23615  .byte  196,65,41,235,201                   // vpor          %xmm9,%xmm10,%xmm9
23616  .byte  196,65,116,89,208                   // vmulps        %ymm8,%ymm1,%ymm10
23617  .byte  196,65,125,91,210                   // vcvtps2dq     %ymm10,%ymm10
23618  .byte  196,67,125,25,211,1                 // vextractf128  $0x1,%ymm10,%xmm11
23619  .byte  196,66,41,43,211                    // vpackusdw     %xmm11,%xmm10,%xmm10
23620  .byte  196,193,33,113,242,8                // vpsllw        $0x8,%xmm10,%xmm11
23621  .byte  196,193,41,113,210,8                // vpsrlw        $0x8,%xmm10,%xmm10
23622  .byte  196,65,33,235,210                   // vpor          %xmm10,%xmm11,%xmm10
23623  .byte  196,65,108,89,216                   // vmulps        %ymm8,%ymm2,%ymm11
23624  .byte  196,65,125,91,219                   // vcvtps2dq     %ymm11,%ymm11
23625  .byte  196,67,125,25,220,1                 // vextractf128  $0x1,%ymm11,%xmm12
23626  .byte  196,66,33,43,220                    // vpackusdw     %xmm12,%xmm11,%xmm11
23627  .byte  196,193,25,113,243,8                // vpsllw        $0x8,%xmm11,%xmm12
23628  .byte  196,193,33,113,211,8                // vpsrlw        $0x8,%xmm11,%xmm11
23629  .byte  196,65,25,235,219                   // vpor          %xmm11,%xmm12,%xmm11
23630  .byte  196,65,100,89,192                   // vmulps        %ymm8,%ymm3,%ymm8
23631  .byte  196,65,125,91,192                   // vcvtps2dq     %ymm8,%ymm8
23632  .byte  196,67,125,25,196,1                 // vextractf128  $0x1,%ymm8,%xmm12
23633  .byte  196,66,57,43,196                    // vpackusdw     %xmm12,%xmm8,%xmm8
23634  .byte  196,193,25,113,240,8                // vpsllw        $0x8,%xmm8,%xmm12
23635  .byte  196,193,57,113,208,8                // vpsrlw        $0x8,%xmm8,%xmm8
23636  .byte  196,65,25,235,192                   // vpor          %xmm8,%xmm12,%xmm8
23637  .byte  196,65,49,97,226                    // vpunpcklwd    %xmm10,%xmm9,%xmm12
23638  .byte  196,65,49,105,234                   // vpunpckhwd    %xmm10,%xmm9,%xmm13
23639  .byte  196,65,33,97,200                    // vpunpcklwd    %xmm8,%xmm11,%xmm9
23640  .byte  196,65,33,105,192                   // vpunpckhwd    %xmm8,%xmm11,%xmm8
23641  .byte  196,65,25,98,217                    // vpunpckldq    %xmm9,%xmm12,%xmm11
23642  .byte  196,65,25,106,209                   // vpunpckhdq    %xmm9,%xmm12,%xmm10
23643  .byte  196,65,17,98,200                    // vpunpckldq    %xmm8,%xmm13,%xmm9
23644  .byte  196,65,17,106,192                   // vpunpckhdq    %xmm8,%xmm13,%xmm8
23645  .byte  77,133,192                          // test          %r8,%r8
23646  .byte  117,31                              // jne           605a <_sk_store_u16_be_avx+0xfa>
23647  .byte  196,65,120,17,28,65                 // vmovups       %xmm11,(%r9,%rax,2)
23648  .byte  196,65,120,17,84,65,16              // vmovups       %xmm10,0x10(%r9,%rax,2)
23649  .byte  196,65,120,17,76,65,32              // vmovups       %xmm9,0x20(%r9,%rax,2)
23650  .byte  196,65,122,127,68,65,48             // vmovdqu       %xmm8,0x30(%r9,%rax,2)
23651  .byte  72,173                              // lods          %ds:(%rsi),%rax
23652  .byte  255,224                             // jmpq          *%rax
23653  .byte  196,65,121,214,28,65                // vmovq         %xmm11,(%r9,%rax,2)
23654  .byte  73,131,248,1                        // cmp           $0x1,%r8
23655  .byte  116,240                             // je            6056 <_sk_store_u16_be_avx+0xf6>
23656  .byte  196,65,121,23,92,65,8               // vmovhpd       %xmm11,0x8(%r9,%rax,2)
23657  .byte  73,131,248,3                        // cmp           $0x3,%r8
23658  .byte  114,227                             // jb            6056 <_sk_store_u16_be_avx+0xf6>
23659  .byte  196,65,121,214,84,65,16             // vmovq         %xmm10,0x10(%r9,%rax,2)
23660  .byte  116,218                             // je            6056 <_sk_store_u16_be_avx+0xf6>
23661  .byte  196,65,121,23,84,65,24              // vmovhpd       %xmm10,0x18(%r9,%rax,2)
23662  .byte  73,131,248,5                        // cmp           $0x5,%r8
23663  .byte  114,205                             // jb            6056 <_sk_store_u16_be_avx+0xf6>
23664  .byte  196,65,121,214,76,65,32             // vmovq         %xmm9,0x20(%r9,%rax,2)
23665  .byte  116,196                             // je            6056 <_sk_store_u16_be_avx+0xf6>
23666  .byte  196,65,121,23,76,65,40              // vmovhpd       %xmm9,0x28(%r9,%rax,2)
23667  .byte  73,131,248,7                        // cmp           $0x7,%r8
23668  .byte  114,183                             // jb            6056 <_sk_store_u16_be_avx+0xf6>
23669  .byte  196,65,121,214,68,65,48             // vmovq         %xmm8,0x30(%r9,%rax,2)
23670  .byte  235,174                             // jmp           6056 <_sk_store_u16_be_avx+0xf6>
23671
23672HIDDEN _sk_load_f32_avx
23673.globl _sk_load_f32_avx
23674FUNCTION(_sk_load_f32_avx)
23675_sk_load_f32_avx:
23676  .byte  72,173                              // lods          %ds:(%rsi),%rax
23677  .byte  73,131,248,7                        // cmp           $0x7,%r8
23678  .byte  119,110                             // ja            611e <_sk_load_f32_avx+0x76>
23679  .byte  76,139,8                            // mov           (%rax),%r9
23680  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
23681  .byte  76,141,29,134,0,0,0                 // lea           0x86(%rip),%r11        # 6148 <_sk_load_f32_avx+0xa0>
23682  .byte  75,99,4,131                         // movslq        (%r11,%r8,4),%rax
23683  .byte  76,1,216                            // add           %r11,%rax
23684  .byte  255,224                             // jmpq          *%rax
23685  .byte  196,3,125,24,68,145,112,1           // vinsertf128   $0x1,0x70(%r9,%r10,4),%ymm0,%ymm8
23686  .byte  196,131,125,24,92,145,96,1          // vinsertf128   $0x1,0x60(%r9,%r10,4),%ymm0,%ymm3
23687  .byte  196,131,125,24,76,145,80,1          // vinsertf128   $0x1,0x50(%r9,%r10,4),%ymm0,%ymm1
23688  .byte  196,131,125,24,84,145,64,1          // vinsertf128   $0x1,0x40(%r9,%r10,4),%ymm0,%ymm2
23689  .byte  196,129,121,16,68,145,48            // vmovupd       0x30(%r9,%r10,4),%xmm0
23690  .byte  196,195,125,13,192,12               // vblendpd      $0xc,%ymm8,%ymm0,%ymm0
23691  .byte  196,1,121,16,68,145,32              // vmovupd       0x20(%r9,%r10,4),%xmm8
23692  .byte  196,99,61,13,203,12                 // vblendpd      $0xc,%ymm3,%ymm8,%ymm9
23693  .byte  196,129,121,16,92,145,16            // vmovupd       0x10(%r9,%r10,4),%xmm3
23694  .byte  196,99,101,13,209,12                // vblendpd      $0xc,%ymm1,%ymm3,%ymm10
23695  .byte  196,129,121,16,12,145               // vmovupd       (%r9,%r10,4),%xmm1
23696  .byte  196,227,117,13,202,12               // vblendpd      $0xc,%ymm2,%ymm1,%ymm1
23697  .byte  196,193,116,20,210                  // vunpcklps     %ymm10,%ymm1,%ymm2
23698  .byte  196,193,116,21,218                  // vunpckhps     %ymm10,%ymm1,%ymm3
23699  .byte  197,180,20,200                      // vunpcklps     %ymm0,%ymm9,%ymm1
23700  .byte  197,52,21,192                       // vunpckhps     %ymm0,%ymm9,%ymm8
23701  .byte  197,237,20,193                      // vunpcklpd     %ymm1,%ymm2,%ymm0
23702  .byte  197,237,21,201                      // vunpckhpd     %ymm1,%ymm2,%ymm1
23703  .byte  196,193,101,20,208                  // vunpcklpd     %ymm8,%ymm3,%ymm2
23704  .byte  196,193,101,21,216                  // vunpckhpd     %ymm8,%ymm3,%ymm3
23705  .byte  72,173                              // lods          %ds:(%rsi),%rax
23706  .byte  255,224                             // jmpq          *%rax
23707  .byte  102,144                             // xchg          %ax,%ax
23708  .byte  131,255,255                         // cmp           $0xffffffff,%edi
23709  .byte  255,202                             // dec           %edx
23710  .byte  255                                 // (bad)
23711  .byte  255                                 // (bad)
23712  .byte  255                                 // (bad)
23713  .byte  189,255,255,255,176                 // mov           $0xb0ffffff,%ebp
23714  .byte  255                                 // (bad)
23715  .byte  255                                 // (bad)
23716  .byte  255,163,255,255,255,155             // jmpq          *-0x64000001(%rbx)
23717  .byte  255                                 // (bad)
23718  .byte  255                                 // (bad)
23719  .byte  255,147,255,255,255,139             // callq         *-0x74000001(%rbx)
23720  .byte  255                                 // (bad)
23721  .byte  255                                 // (bad)
23722  .byte  255                                 // .byte         0xff
23723
23724HIDDEN _sk_load_f32_dst_avx
23725.globl _sk_load_f32_dst_avx
23726FUNCTION(_sk_load_f32_dst_avx)
23727_sk_load_f32_dst_avx:
23728  .byte  72,173                              // lods          %ds:(%rsi),%rax
23729  .byte  73,131,248,7                        // cmp           $0x7,%r8
23730  .byte  119,110                             // ja            61de <_sk_load_f32_dst_avx+0x76>
23731  .byte  76,139,8                            // mov           (%rax),%r9
23732  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
23733  .byte  76,141,29,134,0,0,0                 // lea           0x86(%rip),%r11        # 6208 <_sk_load_f32_dst_avx+0xa0>
23734  .byte  75,99,4,131                         // movslq        (%r11,%r8,4),%rax
23735  .byte  76,1,216                            // add           %r11,%rax
23736  .byte  255,224                             // jmpq          *%rax
23737  .byte  196,3,125,24,68,145,112,1           // vinsertf128   $0x1,0x70(%r9,%r10,4),%ymm0,%ymm8
23738  .byte  196,131,125,24,124,145,96,1         // vinsertf128   $0x1,0x60(%r9,%r10,4),%ymm0,%ymm7
23739  .byte  196,131,125,24,108,145,80,1         // vinsertf128   $0x1,0x50(%r9,%r10,4),%ymm0,%ymm5
23740  .byte  196,131,125,24,116,145,64,1         // vinsertf128   $0x1,0x40(%r9,%r10,4),%ymm0,%ymm6
23741  .byte  196,129,121,16,100,145,48           // vmovupd       0x30(%r9,%r10,4),%xmm4
23742  .byte  196,195,93,13,224,12                // vblendpd      $0xc,%ymm8,%ymm4,%ymm4
23743  .byte  196,1,121,16,68,145,32              // vmovupd       0x20(%r9,%r10,4),%xmm8
23744  .byte  196,99,61,13,207,12                 // vblendpd      $0xc,%ymm7,%ymm8,%ymm9
23745  .byte  196,129,121,16,124,145,16           // vmovupd       0x10(%r9,%r10,4),%xmm7
23746  .byte  196,99,69,13,213,12                 // vblendpd      $0xc,%ymm5,%ymm7,%ymm10
23747  .byte  196,129,121,16,44,145               // vmovupd       (%r9,%r10,4),%xmm5
23748  .byte  196,227,85,13,238,12                // vblendpd      $0xc,%ymm6,%ymm5,%ymm5
23749  .byte  196,193,84,20,242                   // vunpcklps     %ymm10,%ymm5,%ymm6
23750  .byte  196,193,84,21,250                   // vunpckhps     %ymm10,%ymm5,%ymm7
23751  .byte  197,180,20,236                      // vunpcklps     %ymm4,%ymm9,%ymm5
23752  .byte  197,52,21,196                       // vunpckhps     %ymm4,%ymm9,%ymm8
23753  .byte  197,205,20,229                      // vunpcklpd     %ymm5,%ymm6,%ymm4
23754  .byte  197,205,21,237                      // vunpckhpd     %ymm5,%ymm6,%ymm5
23755  .byte  196,193,69,20,240                   // vunpcklpd     %ymm8,%ymm7,%ymm6
23756  .byte  196,193,69,21,248                   // vunpckhpd     %ymm8,%ymm7,%ymm7
23757  .byte  72,173                              // lods          %ds:(%rsi),%rax
23758  .byte  255,224                             // jmpq          *%rax
23759  .byte  102,144                             // xchg          %ax,%ax
23760  .byte  131,255,255                         // cmp           $0xffffffff,%edi
23761  .byte  255,202                             // dec           %edx
23762  .byte  255                                 // (bad)
23763  .byte  255                                 // (bad)
23764  .byte  255                                 // (bad)
23765  .byte  189,255,255,255,176                 // mov           $0xb0ffffff,%ebp
23766  .byte  255                                 // (bad)
23767  .byte  255                                 // (bad)
23768  .byte  255,163,255,255,255,155             // jmpq          *-0x64000001(%rbx)
23769  .byte  255                                 // (bad)
23770  .byte  255                                 // (bad)
23771  .byte  255,147,255,255,255,139             // callq         *-0x74000001(%rbx)
23772  .byte  255                                 // (bad)
23773  .byte  255                                 // (bad)
23774  .byte  255                                 // .byte         0xff
23775
23776HIDDEN _sk_store_f32_avx
23777.globl _sk_store_f32_avx
23778FUNCTION(_sk_store_f32_avx)
23779_sk_store_f32_avx:
23780  .byte  72,173                              // lods          %ds:(%rsi),%rax
23781  .byte  76,139,8                            // mov           (%rax),%r9
23782  .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
23783  .byte  197,124,20,193                      // vunpcklps     %ymm1,%ymm0,%ymm8
23784  .byte  197,124,21,217                      // vunpckhps     %ymm1,%ymm0,%ymm11
23785  .byte  197,108,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm9
23786  .byte  197,108,21,227                      // vunpckhps     %ymm3,%ymm2,%ymm12
23787  .byte  196,65,61,20,209                    // vunpcklpd     %ymm9,%ymm8,%ymm10
23788  .byte  196,65,61,21,201                    // vunpckhpd     %ymm9,%ymm8,%ymm9
23789  .byte  196,65,37,20,196                    // vunpcklpd     %ymm12,%ymm11,%ymm8
23790  .byte  196,65,37,21,220                    // vunpckhpd     %ymm12,%ymm11,%ymm11
23791  .byte  77,133,192                          // test          %r8,%r8
23792  .byte  117,55                              // jne           6295 <_sk_store_f32_avx+0x6d>
23793  .byte  196,67,45,24,225,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm12
23794  .byte  196,67,61,24,235,1                  // vinsertf128   $0x1,%xmm11,%ymm8,%ymm13
23795  .byte  196,67,45,6,201,49                  // vperm2f128    $0x31,%ymm9,%ymm10,%ymm9
23796  .byte  196,67,61,6,195,49                  // vperm2f128    $0x31,%ymm11,%ymm8,%ymm8
23797  .byte  196,65,125,17,36,129                // vmovupd       %ymm12,(%r9,%rax,4)
23798  .byte  196,65,125,17,108,129,32            // vmovupd       %ymm13,0x20(%r9,%rax,4)
23799  .byte  196,65,125,17,76,129,64             // vmovupd       %ymm9,0x40(%r9,%rax,4)
23800  .byte  196,65,125,17,68,129,96             // vmovupd       %ymm8,0x60(%r9,%rax,4)
23801  .byte  72,173                              // lods          %ds:(%rsi),%rax
23802  .byte  255,224                             // jmpq          *%rax
23803  .byte  196,65,121,17,20,129                // vmovupd       %xmm10,(%r9,%rax,4)
23804  .byte  73,131,248,1                        // cmp           $0x1,%r8
23805  .byte  116,240                             // je            6291 <_sk_store_f32_avx+0x69>
23806  .byte  196,65,121,17,76,129,16             // vmovupd       %xmm9,0x10(%r9,%rax,4)
23807  .byte  73,131,248,3                        // cmp           $0x3,%r8
23808  .byte  114,227                             // jb            6291 <_sk_store_f32_avx+0x69>
23809  .byte  196,65,121,17,68,129,32             // vmovupd       %xmm8,0x20(%r9,%rax,4)
23810  .byte  116,218                             // je            6291 <_sk_store_f32_avx+0x69>
23811  .byte  196,65,121,17,92,129,48             // vmovupd       %xmm11,0x30(%r9,%rax,4)
23812  .byte  73,131,248,5                        // cmp           $0x5,%r8
23813  .byte  114,205                             // jb            6291 <_sk_store_f32_avx+0x69>
23814  .byte  196,67,125,25,84,129,64,1           // vextractf128  $0x1,%ymm10,0x40(%r9,%rax,4)
23815  .byte  116,195                             // je            6291 <_sk_store_f32_avx+0x69>
23816  .byte  196,67,125,25,76,129,80,1           // vextractf128  $0x1,%ymm9,0x50(%r9,%rax,4)
23817  .byte  73,131,248,7                        // cmp           $0x7,%r8
23818  .byte  114,181                             // jb            6291 <_sk_store_f32_avx+0x69>
23819  .byte  196,67,125,25,68,129,96,1           // vextractf128  $0x1,%ymm8,0x60(%r9,%rax,4)
23820  .byte  235,171                             // jmp           6291 <_sk_store_f32_avx+0x69>
23821
23822HIDDEN _sk_clamp_x_avx
23823.globl _sk_clamp_x_avx
23824FUNCTION(_sk_clamp_x_avx)
23825_sk_clamp_x_avx:
23826  .byte  72,173                              // lods          %ds:(%rsi),%rax
23827  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
23828  .byte  197,60,95,200                       // vmaxps        %ymm0,%ymm8,%ymm9
23829  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
23830  .byte  196,99,125,25,192,1                 // vextractf128  $0x1,%ymm8,%xmm0
23831  .byte  196,65,41,118,210                   // vpcmpeqd      %xmm10,%xmm10,%xmm10
23832  .byte  196,193,121,254,194                 // vpaddd        %xmm10,%xmm0,%xmm0
23833  .byte  196,65,57,254,194                   // vpaddd        %xmm10,%xmm8,%xmm8
23834  .byte  196,227,61,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm8,%ymm0
23835  .byte  197,180,93,192                      // vminps        %ymm0,%ymm9,%ymm0
23836  .byte  72,173                              // lods          %ds:(%rsi),%rax
23837  .byte  255,224                             // jmpq          *%rax
23838
23839HIDDEN _sk_clamp_y_avx
23840.globl _sk_clamp_y_avx
23841FUNCTION(_sk_clamp_y_avx)
23842_sk_clamp_y_avx:
23843  .byte  72,173                              // lods          %ds:(%rsi),%rax
23844  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
23845  .byte  197,60,95,201                       // vmaxps        %ymm1,%ymm8,%ymm9
23846  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
23847  .byte  196,99,125,25,193,1                 // vextractf128  $0x1,%ymm8,%xmm1
23848  .byte  196,65,41,118,210                   // vpcmpeqd      %xmm10,%xmm10,%xmm10
23849  .byte  196,193,113,254,202                 // vpaddd        %xmm10,%xmm1,%xmm1
23850  .byte  196,65,57,254,194                   // vpaddd        %xmm10,%xmm8,%xmm8
23851  .byte  196,227,61,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm8,%ymm1
23852  .byte  197,180,93,201                      // vminps        %ymm1,%ymm9,%ymm1
23853  .byte  72,173                              // lods          %ds:(%rsi),%rax
23854  .byte  255,224                             // jmpq          *%rax
23855
23856HIDDEN _sk_repeat_x_avx
23857.globl _sk_repeat_x_avx
23858FUNCTION(_sk_repeat_x_avx)
23859_sk_repeat_x_avx:
23860  .byte  72,173                              // lods          %ds:(%rsi),%rax
23861  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
23862  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
23863  .byte  196,67,125,8,192,1                  // vroundps      $0x1,%ymm8,%ymm8
23864  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
23865  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
23866  .byte  196,65,124,92,192                   // vsubps        %ymm8,%ymm0,%ymm8
23867  .byte  196,99,125,25,200,1                 // vextractf128  $0x1,%ymm9,%xmm0
23868  .byte  196,65,41,118,210                   // vpcmpeqd      %xmm10,%xmm10,%xmm10
23869  .byte  196,193,121,254,194                 // vpaddd        %xmm10,%xmm0,%xmm0
23870  .byte  196,65,49,254,202                   // vpaddd        %xmm10,%xmm9,%xmm9
23871  .byte  196,227,53,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm9,%ymm0
23872  .byte  197,188,93,192                      // vminps        %ymm0,%ymm8,%ymm0
23873  .byte  72,173                              // lods          %ds:(%rsi),%rax
23874  .byte  255,224                             // jmpq          *%rax
23875
23876HIDDEN _sk_repeat_y_avx
23877.globl _sk_repeat_y_avx
23878FUNCTION(_sk_repeat_y_avx)
23879_sk_repeat_y_avx:
23880  .byte  72,173                              // lods          %ds:(%rsi),%rax
23881  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
23882  .byte  197,60,89,193                       // vmulps        %ymm1,%ymm8,%ymm8
23883  .byte  196,67,125,8,192,1                  // vroundps      $0x1,%ymm8,%ymm8
23884  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
23885  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
23886  .byte  196,65,116,92,192                   // vsubps        %ymm8,%ymm1,%ymm8
23887  .byte  196,99,125,25,201,1                 // vextractf128  $0x1,%ymm9,%xmm1
23888  .byte  196,65,41,118,210                   // vpcmpeqd      %xmm10,%xmm10,%xmm10
23889  .byte  196,193,113,254,202                 // vpaddd        %xmm10,%xmm1,%xmm1
23890  .byte  196,65,49,254,202                   // vpaddd        %xmm10,%xmm9,%xmm9
23891  .byte  196,227,53,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm9,%ymm1
23892  .byte  197,188,93,201                      // vminps        %ymm1,%ymm8,%ymm1
23893  .byte  72,173                              // lods          %ds:(%rsi),%rax
23894  .byte  255,224                             // jmpq          *%rax
23895
23896HIDDEN _sk_mirror_x_avx
23897.globl _sk_mirror_x_avx
23898FUNCTION(_sk_mirror_x_avx)
23899_sk_mirror_x_avx:
23900  .byte  72,173                              // lods          %ds:(%rsi),%rax
23901  .byte  197,121,110,0                       // vmovd         (%rax),%xmm8
23902  .byte  197,122,16,72,4                     // vmovss        0x4(%rax),%xmm9
23903  .byte  196,65,121,112,208,0                // vpshufd       $0x0,%xmm8,%xmm10
23904  .byte  196,67,45,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm10,%ymm10
23905  .byte  196,65,124,92,218                   // vsubps        %ymm10,%ymm0,%ymm11
23906  .byte  196,193,58,88,192                   // vaddss        %xmm8,%xmm8,%xmm0
23907  .byte  196,227,121,4,192,0                 // vpermilps     $0x0,%xmm0,%xmm0
23908  .byte  196,99,125,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm0,%ymm8
23909  .byte  197,178,89,5,183,24,0,0             // vmulss        0x18b7(%rip),%xmm9,%xmm0        # 7cc0 <_sk_callback_avx+0x510>
23910  .byte  196,227,121,4,192,0                 // vpermilps     $0x0,%xmm0,%xmm0
23911  .byte  196,227,125,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
23912  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
23913  .byte  196,227,125,8,192,1                 // vroundps      $0x1,%ymm0,%ymm0
23914  .byte  196,193,124,89,192                  // vmulps        %ymm8,%ymm0,%ymm0
23915  .byte  197,164,92,192                      // vsubps        %ymm0,%ymm11,%ymm0
23916  .byte  196,193,124,92,194                  // vsubps        %ymm10,%ymm0,%ymm0
23917  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
23918  .byte  197,60,92,192                       // vsubps        %ymm0,%ymm8,%ymm8
23919  .byte  197,60,84,192                       // vandps        %ymm0,%ymm8,%ymm8
23920  .byte  196,99,125,25,208,1                 // vextractf128  $0x1,%ymm10,%xmm0
23921  .byte  196,65,49,118,201                   // vpcmpeqd      %xmm9,%xmm9,%xmm9
23922  .byte  196,193,121,254,193                 // vpaddd        %xmm9,%xmm0,%xmm0
23923  .byte  196,65,41,254,201                   // vpaddd        %xmm9,%xmm10,%xmm9
23924  .byte  196,227,53,24,192,1                 // vinsertf128   $0x1,%xmm0,%ymm9,%ymm0
23925  .byte  197,188,93,192                      // vminps        %ymm0,%ymm8,%ymm0
23926  .byte  72,173                              // lods          %ds:(%rsi),%rax
23927  .byte  255,224                             // jmpq          *%rax
23928
23929HIDDEN _sk_mirror_y_avx
23930.globl _sk_mirror_y_avx
23931FUNCTION(_sk_mirror_y_avx)
23932_sk_mirror_y_avx:
23933  .byte  72,173                              // lods          %ds:(%rsi),%rax
23934  .byte  197,121,110,0                       // vmovd         (%rax),%xmm8
23935  .byte  197,122,16,72,4                     // vmovss        0x4(%rax),%xmm9
23936  .byte  196,65,121,112,208,0                // vpshufd       $0x0,%xmm8,%xmm10
23937  .byte  196,67,45,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm10,%ymm10
23938  .byte  196,65,116,92,218                   // vsubps        %ymm10,%ymm1,%ymm11
23939  .byte  196,193,58,88,200                   // vaddss        %xmm8,%xmm8,%xmm1
23940  .byte  196,227,121,4,201,0                 // vpermilps     $0x0,%xmm1,%xmm1
23941  .byte  196,99,117,24,193,1                 // vinsertf128   $0x1,%xmm1,%ymm1,%ymm8
23942  .byte  197,178,89,13,50,24,0,0             // vmulss        0x1832(%rip),%xmm9,%xmm1        # 7cc4 <_sk_callback_avx+0x514>
23943  .byte  196,227,121,4,201,0                 // vpermilps     $0x0,%xmm1,%xmm1
23944  .byte  196,227,117,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
23945  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
23946  .byte  196,227,125,8,201,1                 // vroundps      $0x1,%ymm1,%ymm1
23947  .byte  196,193,116,89,200                  // vmulps        %ymm8,%ymm1,%ymm1
23948  .byte  197,164,92,201                      // vsubps        %ymm1,%ymm11,%ymm1
23949  .byte  196,193,116,92,202                  // vsubps        %ymm10,%ymm1,%ymm1
23950  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
23951  .byte  197,60,92,193                       // vsubps        %ymm1,%ymm8,%ymm8
23952  .byte  197,60,84,193                       // vandps        %ymm1,%ymm8,%ymm8
23953  .byte  196,99,125,25,209,1                 // vextractf128  $0x1,%ymm10,%xmm1
23954  .byte  196,65,49,118,201                   // vpcmpeqd      %xmm9,%xmm9,%xmm9
23955  .byte  196,193,113,254,201                 // vpaddd        %xmm9,%xmm1,%xmm1
23956  .byte  196,65,41,254,201                   // vpaddd        %xmm9,%xmm10,%xmm9
23957  .byte  196,227,53,24,201,1                 // vinsertf128   $0x1,%xmm1,%ymm9,%ymm1
23958  .byte  197,188,93,201                      // vminps        %ymm1,%ymm8,%ymm1
23959  .byte  72,173                              // lods          %ds:(%rsi),%rax
23960  .byte  255,224                             // jmpq          *%rax
23961
23962HIDDEN _sk_clamp_x_1_avx
23963.globl _sk_clamp_x_1_avx
23964FUNCTION(_sk_clamp_x_1_avx)
23965_sk_clamp_x_1_avx:
23966  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
23967  .byte  197,188,95,192                      // vmaxps        %ymm0,%ymm8,%ymm0
23968  .byte  196,98,125,24,5,208,23,0,0          // vbroadcastss  0x17d0(%rip),%ymm8        # 7cc8 <_sk_callback_avx+0x518>
23969  .byte  196,193,124,93,192                  // vminps        %ymm8,%ymm0,%ymm0
23970  .byte  72,173                              // lods          %ds:(%rsi),%rax
23971  .byte  255,224                             // jmpq          *%rax
23972
23973HIDDEN _sk_repeat_x_1_avx
23974.globl _sk_repeat_x_1_avx
23975FUNCTION(_sk_repeat_x_1_avx)
23976_sk_repeat_x_1_avx:
23977  .byte  196,99,125,8,192,1                  // vroundps      $0x1,%ymm0,%ymm8
23978  .byte  196,193,124,92,192                  // vsubps        %ymm8,%ymm0,%ymm0
23979  .byte  72,173                              // lods          %ds:(%rsi),%rax
23980  .byte  255,224                             // jmpq          *%rax
23981
23982HIDDEN _sk_mirror_x_1_avx
23983.globl _sk_mirror_x_1_avx
23984FUNCTION(_sk_mirror_x_1_avx)
23985_sk_mirror_x_1_avx:
23986  .byte  196,98,125,24,5,179,23,0,0          // vbroadcastss  0x17b3(%rip),%ymm8        # 7ccc <_sk_callback_avx+0x51c>
23987  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
23988  .byte  196,98,125,24,13,169,23,0,0         // vbroadcastss  0x17a9(%rip),%ymm9        # 7cd0 <_sk_callback_avx+0x520>
23989  .byte  196,65,124,89,201                   // vmulps        %ymm9,%ymm0,%ymm9
23990  .byte  196,67,125,8,201,1                  // vroundps      $0x1,%ymm9,%ymm9
23991  .byte  196,65,52,88,201                    // vaddps        %ymm9,%ymm9,%ymm9
23992  .byte  196,193,124,92,193                  // vsubps        %ymm9,%ymm0,%ymm0
23993  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
23994  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
23995  .byte  197,60,92,192                       // vsubps        %ymm0,%ymm8,%ymm8
23996  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
23997  .byte  72,173                              // lods          %ds:(%rsi),%rax
23998  .byte  255,224                             // jmpq          *%rax
23999
24000HIDDEN _sk_luminance_to_alpha_avx
24001.globl _sk_luminance_to_alpha_avx
24002FUNCTION(_sk_luminance_to_alpha_avx)
24003_sk_luminance_to_alpha_avx:
24004  .byte  196,226,125,24,29,121,23,0,0        // vbroadcastss  0x1779(%rip),%ymm3        # 7cd4 <_sk_callback_avx+0x524>
24005  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
24006  .byte  196,226,125,24,29,112,23,0,0        // vbroadcastss  0x1770(%rip),%ymm3        # 7cd8 <_sk_callback_avx+0x528>
24007  .byte  197,244,89,203                      // vmulps        %ymm3,%ymm1,%ymm1
24008  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
24009  .byte  196,226,125,24,13,99,23,0,0         // vbroadcastss  0x1763(%rip),%ymm1        # 7cdc <_sk_callback_avx+0x52c>
24010  .byte  197,236,89,201                      // vmulps        %ymm1,%ymm2,%ymm1
24011  .byte  197,252,88,217                      // vaddps        %ymm1,%ymm0,%ymm3
24012  .byte  72,173                              // lods          %ds:(%rsi),%rax
24013  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
24014  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
24015  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
24016  .byte  255,224                             // jmpq          *%rax
24017
24018HIDDEN _sk_matrix_translate_avx
24019.globl _sk_matrix_translate_avx
24020FUNCTION(_sk_matrix_translate_avx)
24021_sk_matrix_translate_avx:
24022  .byte  72,173                              // lods          %ds:(%rsi),%rax
24023  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
24024  .byte  197,188,88,192                      // vaddps        %ymm0,%ymm8,%ymm0
24025  .byte  196,98,125,24,64,4                  // vbroadcastss  0x4(%rax),%ymm8
24026  .byte  197,188,88,201                      // vaddps        %ymm1,%ymm8,%ymm1
24027  .byte  72,173                              // lods          %ds:(%rsi),%rax
24028  .byte  255,224                             // jmpq          *%rax
24029
24030HIDDEN _sk_matrix_scale_translate_avx
24031.globl _sk_matrix_scale_translate_avx
24032FUNCTION(_sk_matrix_scale_translate_avx)
24033_sk_matrix_scale_translate_avx:
24034  .byte  72,173                              // lods          %ds:(%rsi),%rax
24035  .byte  196,98,125,24,64,8                  // vbroadcastss  0x8(%rax),%ymm8
24036  .byte  196,98,125,24,8                     // vbroadcastss  (%rax),%ymm9
24037  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
24038  .byte  196,193,124,88,193                  // vaddps        %ymm9,%ymm0,%ymm0
24039  .byte  196,98,125,24,64,12                 // vbroadcastss  0xc(%rax),%ymm8
24040  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
24041  .byte  197,188,89,201                      // vmulps        %ymm1,%ymm8,%ymm1
24042  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
24043  .byte  72,173                              // lods          %ds:(%rsi),%rax
24044  .byte  255,224                             // jmpq          *%rax
24045
24046HIDDEN _sk_matrix_2x3_avx
24047.globl _sk_matrix_2x3_avx
24048FUNCTION(_sk_matrix_2x3_avx)
24049_sk_matrix_2x3_avx:
24050  .byte  72,173                              // lods          %ds:(%rsi),%rax
24051  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
24052  .byte  196,98,125,24,72,8                  // vbroadcastss  0x8(%rax),%ymm9
24053  .byte  196,98,125,24,80,16                 // vbroadcastss  0x10(%rax),%ymm10
24054  .byte  197,52,89,201                       // vmulps        %ymm1,%ymm9,%ymm9
24055  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
24056  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
24057  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
24058  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
24059  .byte  196,98,125,24,80,12                 // vbroadcastss  0xc(%rax),%ymm10
24060  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
24061  .byte  197,172,89,201                      // vmulps        %ymm1,%ymm10,%ymm1
24062  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
24063  .byte  197,180,89,192                      // vmulps        %ymm0,%ymm9,%ymm0
24064  .byte  197,252,88,201                      // vaddps        %ymm1,%ymm0,%ymm1
24065  .byte  72,173                              // lods          %ds:(%rsi),%rax
24066  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
24067  .byte  255,224                             // jmpq          *%rax
24068
24069HIDDEN _sk_matrix_3x4_avx
24070.globl _sk_matrix_3x4_avx
24071FUNCTION(_sk_matrix_3x4_avx)
24072_sk_matrix_3x4_avx:
24073  .byte  72,173                              // lods          %ds:(%rsi),%rax
24074  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
24075  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
24076  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
24077  .byte  196,98,125,24,88,36                 // vbroadcastss  0x24(%rax),%ymm11
24078  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
24079  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
24080  .byte  197,52,89,201                       // vmulps        %ymm1,%ymm9,%ymm9
24081  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
24082  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
24083  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
24084  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
24085  .byte  196,98,125,24,80,16                 // vbroadcastss  0x10(%rax),%ymm10
24086  .byte  196,98,125,24,88,28                 // vbroadcastss  0x1c(%rax),%ymm11
24087  .byte  196,98,125,24,96,40                 // vbroadcastss  0x28(%rax),%ymm12
24088  .byte  197,36,89,218                       // vmulps        %ymm2,%ymm11,%ymm11
24089  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
24090  .byte  197,44,89,209                       // vmulps        %ymm1,%ymm10,%ymm10
24091  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
24092  .byte  197,52,89,200                       // vmulps        %ymm0,%ymm9,%ymm9
24093  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
24094  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
24095  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
24096  .byte  196,98,125,24,96,32                 // vbroadcastss  0x20(%rax),%ymm12
24097  .byte  196,98,125,24,104,44                // vbroadcastss  0x2c(%rax),%ymm13
24098  .byte  197,156,89,210                      // vmulps        %ymm2,%ymm12,%ymm2
24099  .byte  196,193,108,88,213                  // vaddps        %ymm13,%ymm2,%ymm2
24100  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
24101  .byte  197,244,88,202                      // vaddps        %ymm2,%ymm1,%ymm1
24102  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
24103  .byte  197,252,88,209                      // vaddps        %ymm1,%ymm0,%ymm2
24104  .byte  72,173                              // lods          %ds:(%rsi),%rax
24105  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
24106  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
24107  .byte  255,224                             // jmpq          *%rax
24108
24109HIDDEN _sk_matrix_4x5_avx
24110.globl _sk_matrix_4x5_avx
24111FUNCTION(_sk_matrix_4x5_avx)
24112_sk_matrix_4x5_avx:
24113  .byte  72,173                              // lods          %ds:(%rsi),%rax
24114  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
24115  .byte  196,98,125,24,72,16                 // vbroadcastss  0x10(%rax),%ymm9
24116  .byte  196,98,125,24,80,32                 // vbroadcastss  0x20(%rax),%ymm10
24117  .byte  196,98,125,24,88,48                 // vbroadcastss  0x30(%rax),%ymm11
24118  .byte  196,98,125,24,96,64                 // vbroadcastss  0x40(%rax),%ymm12
24119  .byte  197,36,89,219                       // vmulps        %ymm3,%ymm11,%ymm11
24120  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
24121  .byte  197,44,89,210                       // vmulps        %ymm2,%ymm10,%ymm10
24122  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
24123  .byte  197,52,89,201                       // vmulps        %ymm1,%ymm9,%ymm9
24124  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
24125  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
24126  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
24127  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
24128  .byte  196,98,125,24,80,20                 // vbroadcastss  0x14(%rax),%ymm10
24129  .byte  196,98,125,24,88,36                 // vbroadcastss  0x24(%rax),%ymm11
24130  .byte  196,98,125,24,96,52                 // vbroadcastss  0x34(%rax),%ymm12
24131  .byte  196,98,125,24,104,68                // vbroadcastss  0x44(%rax),%ymm13
24132  .byte  197,28,89,227                       // vmulps        %ymm3,%ymm12,%ymm12
24133  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
24134  .byte  197,36,89,218                       // vmulps        %ymm2,%ymm11,%ymm11
24135  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
24136  .byte  197,44,89,209                       // vmulps        %ymm1,%ymm10,%ymm10
24137  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
24138  .byte  197,52,89,200                       // vmulps        %ymm0,%ymm9,%ymm9
24139  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
24140  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
24141  .byte  196,98,125,24,88,24                 // vbroadcastss  0x18(%rax),%ymm11
24142  .byte  196,98,125,24,96,40                 // vbroadcastss  0x28(%rax),%ymm12
24143  .byte  196,98,125,24,104,56                // vbroadcastss  0x38(%rax),%ymm13
24144  .byte  196,98,125,24,112,72                // vbroadcastss  0x48(%rax),%ymm14
24145  .byte  197,20,89,235                       // vmulps        %ymm3,%ymm13,%ymm13
24146  .byte  196,65,20,88,238                    // vaddps        %ymm14,%ymm13,%ymm13
24147  .byte  197,28,89,226                       // vmulps        %ymm2,%ymm12,%ymm12
24148  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
24149  .byte  197,36,89,217                       // vmulps        %ymm1,%ymm11,%ymm11
24150  .byte  196,65,36,88,220                    // vaddps        %ymm12,%ymm11,%ymm11
24151  .byte  197,44,89,208                       // vmulps        %ymm0,%ymm10,%ymm10
24152  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
24153  .byte  196,98,125,24,88,12                 // vbroadcastss  0xc(%rax),%ymm11
24154  .byte  196,98,125,24,96,28                 // vbroadcastss  0x1c(%rax),%ymm12
24155  .byte  196,98,125,24,104,44                // vbroadcastss  0x2c(%rax),%ymm13
24156  .byte  196,98,125,24,112,60                // vbroadcastss  0x3c(%rax),%ymm14
24157  .byte  196,98,125,24,120,76                // vbroadcastss  0x4c(%rax),%ymm15
24158  .byte  197,140,89,219                      // vmulps        %ymm3,%ymm14,%ymm3
24159  .byte  196,193,100,88,223                  // vaddps        %ymm15,%ymm3,%ymm3
24160  .byte  197,148,89,210                      // vmulps        %ymm2,%ymm13,%ymm2
24161  .byte  197,236,88,211                      // vaddps        %ymm3,%ymm2,%ymm2
24162  .byte  197,156,89,201                      // vmulps        %ymm1,%ymm12,%ymm1
24163  .byte  197,244,88,202                      // vaddps        %ymm2,%ymm1,%ymm1
24164  .byte  197,164,89,192                      // vmulps        %ymm0,%ymm11,%ymm0
24165  .byte  197,252,88,217                      // vaddps        %ymm1,%ymm0,%ymm3
24166  .byte  72,173                              // lods          %ds:(%rsi),%rax
24167  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
24168  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
24169  .byte  197,124,41,210                      // vmovaps       %ymm10,%ymm2
24170  .byte  255,224                             // jmpq          *%rax
24171
24172HIDDEN _sk_matrix_4x3_avx
24173.globl _sk_matrix_4x3_avx
24174FUNCTION(_sk_matrix_4x3_avx)
24175_sk_matrix_4x3_avx:
24176  .byte  72,173                              // lods          %ds:(%rsi),%rax
24177  .byte  196,226,125,24,16                   // vbroadcastss  (%rax),%ymm2
24178  .byte  196,226,125,24,88,16                // vbroadcastss  0x10(%rax),%ymm3
24179  .byte  196,98,125,24,64,32                 // vbroadcastss  0x20(%rax),%ymm8
24180  .byte  197,228,89,217                      // vmulps        %ymm1,%ymm3,%ymm3
24181  .byte  196,193,100,88,216                  // vaddps        %ymm8,%ymm3,%ymm3
24182  .byte  197,236,89,208                      // vmulps        %ymm0,%ymm2,%ymm2
24183  .byte  197,108,88,195                      // vaddps        %ymm3,%ymm2,%ymm8
24184  .byte  196,226,125,24,80,4                 // vbroadcastss  0x4(%rax),%ymm2
24185  .byte  196,226,125,24,88,20                // vbroadcastss  0x14(%rax),%ymm3
24186  .byte  196,98,125,24,72,36                 // vbroadcastss  0x24(%rax),%ymm9
24187  .byte  197,228,89,217                      // vmulps        %ymm1,%ymm3,%ymm3
24188  .byte  196,193,100,88,217                  // vaddps        %ymm9,%ymm3,%ymm3
24189  .byte  197,236,89,208                      // vmulps        %ymm0,%ymm2,%ymm2
24190  .byte  197,108,88,203                      // vaddps        %ymm3,%ymm2,%ymm9
24191  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
24192  .byte  196,226,125,24,88,24                // vbroadcastss  0x18(%rax),%ymm3
24193  .byte  196,98,125,24,80,40                 // vbroadcastss  0x28(%rax),%ymm10
24194  .byte  197,228,89,217                      // vmulps        %ymm1,%ymm3,%ymm3
24195  .byte  196,193,100,88,218                  // vaddps        %ymm10,%ymm3,%ymm3
24196  .byte  197,236,89,208                      // vmulps        %ymm0,%ymm2,%ymm2
24197  .byte  197,236,88,211                      // vaddps        %ymm3,%ymm2,%ymm2
24198  .byte  196,226,125,24,88,12                // vbroadcastss  0xc(%rax),%ymm3
24199  .byte  196,98,125,24,80,28                 // vbroadcastss  0x1c(%rax),%ymm10
24200  .byte  196,98,125,24,88,44                 // vbroadcastss  0x2c(%rax),%ymm11
24201  .byte  197,172,89,201                      // vmulps        %ymm1,%ymm10,%ymm1
24202  .byte  196,193,116,88,203                  // vaddps        %ymm11,%ymm1,%ymm1
24203  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
24204  .byte  197,252,88,217                      // vaddps        %ymm1,%ymm0,%ymm3
24205  .byte  72,173                              // lods          %ds:(%rsi),%rax
24206  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
24207  .byte  197,124,41,201                      // vmovaps       %ymm9,%ymm1
24208  .byte  255,224                             // jmpq          *%rax
24209
24210HIDDEN _sk_matrix_perspective_avx
24211.globl _sk_matrix_perspective_avx
24212FUNCTION(_sk_matrix_perspective_avx)
24213_sk_matrix_perspective_avx:
24214  .byte  72,173                              // lods          %ds:(%rsi),%rax
24215  .byte  196,98,125,24,0                     // vbroadcastss  (%rax),%ymm8
24216  .byte  196,98,125,24,72,4                  // vbroadcastss  0x4(%rax),%ymm9
24217  .byte  196,98,125,24,80,8                  // vbroadcastss  0x8(%rax),%ymm10
24218  .byte  197,52,89,201                       // vmulps        %ymm1,%ymm9,%ymm9
24219  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
24220  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
24221  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
24222  .byte  196,98,125,24,72,12                 // vbroadcastss  0xc(%rax),%ymm9
24223  .byte  196,98,125,24,80,16                 // vbroadcastss  0x10(%rax),%ymm10
24224  .byte  196,98,125,24,88,20                 // vbroadcastss  0x14(%rax),%ymm11
24225  .byte  197,44,89,209                       // vmulps        %ymm1,%ymm10,%ymm10
24226  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
24227  .byte  197,52,89,200                       // vmulps        %ymm0,%ymm9,%ymm9
24228  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
24229  .byte  196,98,125,24,80,24                 // vbroadcastss  0x18(%rax),%ymm10
24230  .byte  196,98,125,24,88,28                 // vbroadcastss  0x1c(%rax),%ymm11
24231  .byte  196,98,125,24,96,32                 // vbroadcastss  0x20(%rax),%ymm12
24232  .byte  197,164,89,201                      // vmulps        %ymm1,%ymm11,%ymm1
24233  .byte  196,193,116,88,204                  // vaddps        %ymm12,%ymm1,%ymm1
24234  .byte  197,172,89,192                      // vmulps        %ymm0,%ymm10,%ymm0
24235  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
24236  .byte  197,252,83,200                      // vrcpps        %ymm0,%ymm1
24237  .byte  197,188,89,193                      // vmulps        %ymm1,%ymm8,%ymm0
24238  .byte  197,180,89,201                      // vmulps        %ymm1,%ymm9,%ymm1
24239  .byte  72,173                              // lods          %ds:(%rsi),%rax
24240  .byte  255,224                             // jmpq          *%rax
24241
24242HIDDEN _sk_evenly_spaced_gradient_avx
24243.globl _sk_evenly_spaced_gradient_avx
24244FUNCTION(_sk_evenly_spaced_gradient_avx)
24245_sk_evenly_spaced_gradient_avx:
24246  .byte  85                                  // push          %rbp
24247  .byte  65,87                               // push          %r15
24248  .byte  65,86                               // push          %r14
24249  .byte  65,85                               // push          %r13
24250  .byte  65,84                               // push          %r12
24251  .byte  83                                  // push          %rbx
24252  .byte  197,252,17,124,36,216               // vmovups       %ymm7,-0x28(%rsp)
24253  .byte  72,173                              // lods          %ds:(%rsi),%rax
24254  .byte  72,139,24                           // mov           (%rax),%rbx
24255  .byte  72,139,104,8                        // mov           0x8(%rax),%rbp
24256  .byte  72,255,203                          // dec           %rbx
24257  .byte  120,7                               // js            691d <_sk_evenly_spaced_gradient_avx+0x25>
24258  .byte  196,225,242,42,203                  // vcvtsi2ss     %rbx,%xmm1,%xmm1
24259  .byte  235,21                              // jmp           6932 <_sk_evenly_spaced_gradient_avx+0x3a>
24260  .byte  73,137,217                          // mov           %rbx,%r9
24261  .byte  73,209,233                          // shr           %r9
24262  .byte  131,227,1                           // and           $0x1,%ebx
24263  .byte  76,9,203                            // or            %r9,%rbx
24264  .byte  196,225,242,42,203                  // vcvtsi2ss     %rbx,%xmm1,%xmm1
24265  .byte  197,242,88,201                      // vaddss        %xmm1,%xmm1,%xmm1
24266  .byte  196,227,121,4,201,0                 // vpermilps     $0x0,%xmm1,%xmm1
24267  .byte  196,227,117,24,201,1                // vinsertf128   $0x1,%xmm1,%ymm1,%ymm1
24268  .byte  197,244,89,200                      // vmulps        %ymm0,%ymm1,%ymm1
24269  .byte  197,254,91,201                      // vcvttps2dq    %ymm1,%ymm1
24270  .byte  196,195,249,22,201,1                // vpextrq       $0x1,%xmm1,%r9
24271  .byte  69,137,202                          // mov           %r9d,%r10d
24272  .byte  73,193,233,32                       // shr           $0x20,%r9
24273  .byte  196,193,249,126,203                 // vmovq         %xmm1,%r11
24274  .byte  69,137,222                          // mov           %r11d,%r14d
24275  .byte  73,193,235,32                       // shr           $0x20,%r11
24276  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
24277  .byte  196,195,249,22,204,1                // vpextrq       $0x1,%xmm1,%r12
24278  .byte  69,137,231                          // mov           %r12d,%r15d
24279  .byte  73,193,236,32                       // shr           $0x20,%r12
24280  .byte  196,225,249,126,203                 // vmovq         %xmm1,%rbx
24281  .byte  65,137,221                          // mov           %ebx,%r13d
24282  .byte  72,193,235,32                       // shr           $0x20,%rbx
24283  .byte  196,161,122,16,76,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm1
24284  .byte  196,227,113,33,76,157,0,16          // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm1,%xmm1
24285  .byte  196,161,122,16,84,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm2
24286  .byte  196,33,122,16,68,165,0              // vmovss        0x0(%rbp,%r12,4),%xmm8
24287  .byte  196,161,122,16,92,181,0             // vmovss        0x0(%rbp,%r14,4),%xmm3
24288  .byte  196,35,97,33,76,157,0,16            // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm3,%xmm9
24289  .byte  196,161,122,16,124,149,0            // vmovss        0x0(%rbp,%r10,4),%xmm7
24290  .byte  196,33,122,16,92,141,0              // vmovss        0x0(%rbp,%r9,4),%xmm11
24291  .byte  196,99,113,33,226,32                // vinsertps     $0x20,%xmm2,%xmm1,%xmm12
24292  .byte  72,139,104,40                       // mov           0x28(%rax),%rbp
24293  .byte  196,161,122,16,84,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm2
24294  .byte  196,99,105,33,108,157,0,16          // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm2,%xmm13
24295  .byte  196,161,122,16,92,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm3
24296  .byte  196,161,122,16,76,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm1
24297  .byte  196,161,122,16,84,181,0             // vmovss        0x0(%rbp,%r14,4),%xmm2
24298  .byte  196,35,105,33,116,157,0,16          // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm2,%xmm14
24299  .byte  196,33,122,16,124,149,0             // vmovss        0x0(%rbp,%r10,4),%xmm15
24300  .byte  196,33,122,16,84,141,0              // vmovss        0x0(%rbp,%r9,4),%xmm10
24301  .byte  196,67,25,33,192,48                 // vinsertps     $0x30,%xmm8,%xmm12,%xmm8
24302  .byte  196,227,49,33,215,32                // vinsertps     $0x20,%xmm7,%xmm9,%xmm2
24303  .byte  196,195,105,33,211,48               // vinsertps     $0x30,%xmm11,%xmm2,%xmm2
24304  .byte  196,67,109,24,192,1                 // vinsertf128   $0x1,%xmm8,%ymm2,%ymm8
24305  .byte  196,227,17,33,211,32                // vinsertps     $0x20,%xmm3,%xmm13,%xmm2
24306  .byte  196,99,105,33,201,48                // vinsertps     $0x30,%xmm1,%xmm2,%xmm9
24307  .byte  72,139,104,16                       // mov           0x10(%rax),%rbp
24308  .byte  196,161,122,16,84,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm2
24309  .byte  196,99,105,33,92,157,0,16           // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm2,%xmm11
24310  .byte  196,33,122,16,100,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm12
24311  .byte  196,161,122,16,76,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm1
24312  .byte  196,161,122,16,124,181,0            // vmovss        0x0(%rbp,%r14,4),%xmm7
24313  .byte  196,163,65,33,124,157,0,16          // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm7,%xmm7
24314  .byte  196,161,122,16,92,149,0             // vmovss        0x0(%rbp,%r10,4),%xmm3
24315  .byte  196,33,122,16,108,141,0             // vmovss        0x0(%rbp,%r9,4),%xmm13
24316  .byte  196,195,9,33,215,32                 // vinsertps     $0x20,%xmm15,%xmm14,%xmm2
24317  .byte  196,195,105,33,210,48               // vinsertps     $0x30,%xmm10,%xmm2,%xmm2
24318  .byte  196,67,109,24,241,1                 // vinsertf128   $0x1,%xmm9,%ymm2,%ymm14
24319  .byte  196,195,33,33,212,32                // vinsertps     $0x20,%xmm12,%xmm11,%xmm2
24320  .byte  196,99,105,33,201,48                // vinsertps     $0x30,%xmm1,%xmm2,%xmm9
24321  .byte  196,99,65,33,211,32                 // vinsertps     $0x20,%xmm3,%xmm7,%xmm10
24322  .byte  72,139,104,48                       // mov           0x30(%rax),%rbp
24323  .byte  196,161,122,16,92,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm3
24324  .byte  196,99,97,33,92,157,0,16            // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm3,%xmm11
24325  .byte  196,33,122,16,124,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm15
24326  .byte  196,33,122,16,100,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm12
24327  .byte  196,161,122,16,84,181,0             // vmovss        0x0(%rbp,%r14,4),%xmm2
24328  .byte  196,163,105,33,84,157,0,16          // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm2,%xmm2
24329  .byte  196,161,122,16,124,149,0            // vmovss        0x0(%rbp,%r10,4),%xmm7
24330  .byte  196,161,122,16,92,141,0             // vmovss        0x0(%rbp,%r9,4),%xmm3
24331  .byte  196,67,41,33,213,48                 // vinsertps     $0x30,%xmm13,%xmm10,%xmm10
24332  .byte  196,67,45,24,233,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm13
24333  .byte  196,195,33,33,207,32                // vinsertps     $0x20,%xmm15,%xmm11,%xmm1
24334  .byte  196,67,113,33,204,48                // vinsertps     $0x30,%xmm12,%xmm1,%xmm9
24335  .byte  196,227,105,33,215,32               // vinsertps     $0x20,%xmm7,%xmm2,%xmm2
24336  .byte  196,99,105,33,211,48                // vinsertps     $0x30,%xmm3,%xmm2,%xmm10
24337  .byte  72,139,104,24                       // mov           0x18(%rax),%rbp
24338  .byte  196,161,122,16,92,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm3
24339  .byte  196,99,97,33,92,157,0,16            // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm3,%xmm11
24340  .byte  196,33,122,16,100,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm12
24341  .byte  196,33,122,16,124,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm15
24342  .byte  196,161,122,16,84,181,0             // vmovss        0x0(%rbp,%r14,4),%xmm2
24343  .byte  196,163,105,33,84,157,0,16          // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm2,%xmm2
24344  .byte  196,161,122,16,92,149,0             // vmovss        0x0(%rbp,%r10,4),%xmm3
24345  .byte  196,161,122,16,124,141,0            // vmovss        0x0(%rbp,%r9,4),%xmm7
24346  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
24347  .byte  196,195,33,33,204,32                // vinsertps     $0x20,%xmm12,%xmm11,%xmm1
24348  .byte  196,195,113,33,207,48               // vinsertps     $0x30,%xmm15,%xmm1,%xmm1
24349  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
24350  .byte  196,227,105,33,215,48               // vinsertps     $0x30,%xmm7,%xmm2,%xmm2
24351  .byte  196,99,109,24,209,1                 // vinsertf128   $0x1,%xmm1,%ymm2,%ymm10
24352  .byte  72,139,104,56                       // mov           0x38(%rax),%rbp
24353  .byte  196,161,122,16,76,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm1
24354  .byte  196,99,113,33,92,157,0,16           // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm1,%xmm11
24355  .byte  196,33,122,16,100,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm12
24356  .byte  196,33,122,16,124,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm15
24357  .byte  196,161,122,16,124,181,0            // vmovss        0x0(%rbp,%r14,4),%xmm7
24358  .byte  196,163,65,33,124,157,0,16          // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm7,%xmm7
24359  .byte  196,161,122,16,76,149,0             // vmovss        0x0(%rbp,%r10,4),%xmm1
24360  .byte  196,161,122,16,84,141,0             // vmovss        0x0(%rbp,%r9,4),%xmm2
24361  .byte  196,195,33,33,220,32                // vinsertps     $0x20,%xmm12,%xmm11,%xmm3
24362  .byte  196,195,97,33,223,48                // vinsertps     $0x30,%xmm15,%xmm3,%xmm3
24363  .byte  196,227,65,33,201,32                // vinsertps     $0x20,%xmm1,%xmm7,%xmm1
24364  .byte  196,227,113,33,202,48               // vinsertps     $0x30,%xmm2,%xmm1,%xmm1
24365  .byte  196,99,117,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm1,%ymm11
24366  .byte  72,139,104,32                       // mov           0x20(%rax),%rbp
24367  .byte  196,161,122,16,76,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm1
24368  .byte  196,227,113,33,76,157,0,16          // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm1,%xmm1
24369  .byte  196,161,122,16,84,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm2
24370  .byte  196,227,113,33,202,32               // vinsertps     $0x20,%xmm2,%xmm1,%xmm1
24371  .byte  196,161,122,16,84,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm2
24372  .byte  196,161,122,16,92,181,0             // vmovss        0x0(%rbp,%r14,4),%xmm3
24373  .byte  196,35,97,33,100,157,0,16           // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm3,%xmm12
24374  .byte  196,161,122,16,124,149,0            // vmovss        0x0(%rbp,%r10,4),%xmm7
24375  .byte  196,161,122,16,92,141,0             // vmovss        0x0(%rbp,%r9,4),%xmm3
24376  .byte  196,99,113,33,250,48                // vinsertps     $0x30,%xmm2,%xmm1,%xmm15
24377  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
24378  .byte  196,161,122,16,20,168               // vmovss        (%rax,%r13,4),%xmm2
24379  .byte  196,227,105,33,20,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
24380  .byte  196,227,25,33,255,32                // vinsertps     $0x20,%xmm7,%xmm12,%xmm7
24381  .byte  196,161,122,16,12,184               // vmovss        (%rax,%r15,4),%xmm1
24382  .byte  196,227,65,33,219,48                // vinsertps     $0x30,%xmm3,%xmm7,%xmm3
24383  .byte  196,161,122,16,60,160               // vmovss        (%rax,%r12,4),%xmm7
24384  .byte  196,67,101,24,231,1                 // vinsertf128   $0x1,%xmm15,%ymm3,%ymm12
24385  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
24386  .byte  196,163,97,33,28,152,16             // vinsertps     $0x10,(%rax,%r11,4),%xmm3,%xmm3
24387  .byte  196,227,105,33,201,32               // vinsertps     $0x20,%xmm1,%xmm2,%xmm1
24388  .byte  196,161,122,16,20,144               // vmovss        (%rax,%r10,4),%xmm2
24389  .byte  196,227,113,33,207,48               // vinsertps     $0x30,%xmm7,%xmm1,%xmm1
24390  .byte  196,161,122,16,60,136               // vmovss        (%rax,%r9,4),%xmm7
24391  .byte  196,227,97,33,210,32                // vinsertps     $0x20,%xmm2,%xmm3,%xmm2
24392  .byte  196,227,105,33,215,48               // vinsertps     $0x30,%xmm7,%xmm2,%xmm2
24393  .byte  196,227,109,24,217,1                // vinsertf128   $0x1,%xmm1,%ymm2,%ymm3
24394  .byte  197,188,89,200                      // vmulps        %ymm0,%ymm8,%ymm1
24395  .byte  196,65,116,88,198                   // vaddps        %ymm14,%ymm1,%ymm8
24396  .byte  197,148,89,200                      // vmulps        %ymm0,%ymm13,%ymm1
24397  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
24398  .byte  197,172,89,208                      // vmulps        %ymm0,%ymm10,%ymm2
24399  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
24400  .byte  197,156,89,192                      // vmulps        %ymm0,%ymm12,%ymm0
24401  .byte  197,252,88,219                      // vaddps        %ymm3,%ymm0,%ymm3
24402  .byte  72,173                              // lods          %ds:(%rsi),%rax
24403  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
24404  .byte  197,252,16,124,36,216               // vmovups       -0x28(%rsp),%ymm7
24405  .byte  91                                  // pop           %rbx
24406  .byte  65,92                               // pop           %r12
24407  .byte  65,93                               // pop           %r13
24408  .byte  65,94                               // pop           %r14
24409  .byte  65,95                               // pop           %r15
24410  .byte  93                                  // pop           %rbp
24411  .byte  255,224                             // jmpq          *%rax
24412
24413HIDDEN _sk_gauss_a_to_rgba_avx
24414.globl _sk_gauss_a_to_rgba_avx
24415FUNCTION(_sk_gauss_a_to_rgba_avx)
24416_sk_gauss_a_to_rgba_avx:
24417  .byte  196,226,125,24,5,74,16,0,0          // vbroadcastss  0x104a(%rip),%ymm0        # 7ce0 <_sk_callback_avx+0x530>
24418  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
24419  .byte  196,226,125,24,13,65,16,0,0         // vbroadcastss  0x1041(%rip),%ymm1        # 7ce4 <_sk_callback_avx+0x534>
24420  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
24421  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
24422  .byte  196,226,125,24,13,52,16,0,0         // vbroadcastss  0x1034(%rip),%ymm1        # 7ce8 <_sk_callback_avx+0x538>
24423  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
24424  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
24425  .byte  196,226,125,24,13,39,16,0,0         // vbroadcastss  0x1027(%rip),%ymm1        # 7cec <_sk_callback_avx+0x53c>
24426  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
24427  .byte  197,252,89,195                      // vmulps        %ymm3,%ymm0,%ymm0
24428  .byte  196,226,125,24,13,26,16,0,0         // vbroadcastss  0x101a(%rip),%ymm1        # 7cf0 <_sk_callback_avx+0x540>
24429  .byte  197,252,88,193                      // vaddps        %ymm1,%ymm0,%ymm0
24430  .byte  72,173                              // lods          %ds:(%rsi),%rax
24431  .byte  197,252,40,200                      // vmovaps       %ymm0,%ymm1
24432  .byte  197,252,40,208                      // vmovaps       %ymm0,%ymm2
24433  .byte  197,252,40,216                      // vmovaps       %ymm0,%ymm3
24434  .byte  255,224                             // jmpq          *%rax
24435
24436HIDDEN _sk_gradient_avx
24437.globl _sk_gradient_avx
24438FUNCTION(_sk_gradient_avx)
24439_sk_gradient_avx:
24440  .byte  85                                  // push          %rbp
24441  .byte  65,87                               // push          %r15
24442  .byte  65,86                               // push          %r14
24443  .byte  65,85                               // push          %r13
24444  .byte  65,84                               // push          %r12
24445  .byte  83                                  // push          %rbx
24446  .byte  197,252,17,124,36,216               // vmovups       %ymm7,-0x28(%rsp)
24447  .byte  72,173                              // lods          %ds:(%rsi),%rax
24448  .byte  76,139,8                            // mov           (%rax),%r9
24449  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
24450  .byte  73,131,249,2                        // cmp           $0x2,%r9
24451  .byte  114,80                              // jb            6d59 <_sk_gradient_avx+0x6f>
24452  .byte  72,139,88,72                        // mov           0x48(%rax),%rbx
24453  .byte  73,255,201                          // dec           %r9
24454  .byte  72,131,195,4                        // add           $0x4,%rbx
24455  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
24456  .byte  196,98,125,24,21,210,15,0,0         // vbroadcastss  0xfd2(%rip),%ymm10        # 7cf4 <_sk_callback_avx+0x544>
24457  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
24458  .byte  196,98,125,24,3                     // vbroadcastss  (%rbx),%ymm8
24459  .byte  197,60,194,192,2                    // vcmpleps      %ymm0,%ymm8,%ymm8
24460  .byte  196,67,53,74,194,128                // vblendvps     %ymm8,%ymm10,%ymm9,%ymm8
24461  .byte  196,99,125,25,194,1                 // vextractf128  $0x1,%ymm8,%xmm2
24462  .byte  196,227,125,25,203,1                // vextractf128  $0x1,%ymm1,%xmm3
24463  .byte  197,233,254,211                     // vpaddd        %xmm3,%xmm2,%xmm2
24464  .byte  197,185,254,201                     // vpaddd        %xmm1,%xmm8,%xmm1
24465  .byte  196,227,117,24,202,1                // vinsertf128   $0x1,%xmm2,%ymm1,%ymm1
24466  .byte  72,131,195,4                        // add           $0x4,%rbx
24467  .byte  73,255,201                          // dec           %r9
24468  .byte  117,205                             // jne           6d26 <_sk_gradient_avx+0x3c>
24469  .byte  196,195,249,22,201,1                // vpextrq       $0x1,%xmm1,%r9
24470  .byte  69,137,202                          // mov           %r9d,%r10d
24471  .byte  73,193,233,32                       // shr           $0x20,%r9
24472  .byte  196,193,249,126,203                 // vmovq         %xmm1,%r11
24473  .byte  69,137,222                          // mov           %r11d,%r14d
24474  .byte  73,193,235,32                       // shr           $0x20,%r11
24475  .byte  196,227,125,25,201,1                // vextractf128  $0x1,%ymm1,%xmm1
24476  .byte  196,195,249,22,204,1                // vpextrq       $0x1,%xmm1,%r12
24477  .byte  69,137,231                          // mov           %r12d,%r15d
24478  .byte  73,193,236,32                       // shr           $0x20,%r12
24479  .byte  196,225,249,126,203                 // vmovq         %xmm1,%rbx
24480  .byte  65,137,221                          // mov           %ebx,%r13d
24481  .byte  72,193,235,32                       // shr           $0x20,%rbx
24482  .byte  72,139,104,8                        // mov           0x8(%rax),%rbp
24483  .byte  196,161,122,16,76,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm1
24484  .byte  196,227,113,33,76,157,0,16          // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm1,%xmm1
24485  .byte  196,161,122,16,84,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm2
24486  .byte  196,33,122,16,68,165,0              // vmovss        0x0(%rbp,%r12,4),%xmm8
24487  .byte  196,161,122,16,92,181,0             // vmovss        0x0(%rbp,%r14,4),%xmm3
24488  .byte  196,35,97,33,76,157,0,16            // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm3,%xmm9
24489  .byte  196,161,122,16,124,149,0            // vmovss        0x0(%rbp,%r10,4),%xmm7
24490  .byte  196,33,122,16,92,141,0              // vmovss        0x0(%rbp,%r9,4),%xmm11
24491  .byte  196,99,113,33,226,32                // vinsertps     $0x20,%xmm2,%xmm1,%xmm12
24492  .byte  72,139,104,40                       // mov           0x28(%rax),%rbp
24493  .byte  196,161,122,16,84,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm2
24494  .byte  196,99,105,33,108,157,0,16          // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm2,%xmm13
24495  .byte  196,161,122,16,92,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm3
24496  .byte  196,161,122,16,76,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm1
24497  .byte  196,161,122,16,84,181,0             // vmovss        0x0(%rbp,%r14,4),%xmm2
24498  .byte  196,35,105,33,116,157,0,16          // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm2,%xmm14
24499  .byte  196,33,122,16,124,149,0             // vmovss        0x0(%rbp,%r10,4),%xmm15
24500  .byte  196,33,122,16,84,141,0              // vmovss        0x0(%rbp,%r9,4),%xmm10
24501  .byte  196,67,25,33,192,48                 // vinsertps     $0x30,%xmm8,%xmm12,%xmm8
24502  .byte  196,227,49,33,215,32                // vinsertps     $0x20,%xmm7,%xmm9,%xmm2
24503  .byte  196,195,105,33,211,48               // vinsertps     $0x30,%xmm11,%xmm2,%xmm2
24504  .byte  196,67,109,24,192,1                 // vinsertf128   $0x1,%xmm8,%ymm2,%ymm8
24505  .byte  196,227,17,33,211,32                // vinsertps     $0x20,%xmm3,%xmm13,%xmm2
24506  .byte  196,99,105,33,201,48                // vinsertps     $0x30,%xmm1,%xmm2,%xmm9
24507  .byte  72,139,104,16                       // mov           0x10(%rax),%rbp
24508  .byte  196,161,122,16,84,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm2
24509  .byte  196,99,105,33,92,157,0,16           // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm2,%xmm11
24510  .byte  196,33,122,16,100,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm12
24511  .byte  196,161,122,16,76,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm1
24512  .byte  196,161,122,16,124,181,0            // vmovss        0x0(%rbp,%r14,4),%xmm7
24513  .byte  196,163,65,33,124,157,0,16          // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm7,%xmm7
24514  .byte  196,161,122,16,92,149,0             // vmovss        0x0(%rbp,%r10,4),%xmm3
24515  .byte  196,33,122,16,108,141,0             // vmovss        0x0(%rbp,%r9,4),%xmm13
24516  .byte  196,195,9,33,215,32                 // vinsertps     $0x20,%xmm15,%xmm14,%xmm2
24517  .byte  196,195,105,33,210,48               // vinsertps     $0x30,%xmm10,%xmm2,%xmm2
24518  .byte  196,67,109,24,241,1                 // vinsertf128   $0x1,%xmm9,%ymm2,%ymm14
24519  .byte  196,195,33,33,212,32                // vinsertps     $0x20,%xmm12,%xmm11,%xmm2
24520  .byte  196,99,105,33,201,48                // vinsertps     $0x30,%xmm1,%xmm2,%xmm9
24521  .byte  196,99,65,33,211,32                 // vinsertps     $0x20,%xmm3,%xmm7,%xmm10
24522  .byte  72,139,104,48                       // mov           0x30(%rax),%rbp
24523  .byte  196,161,122,16,92,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm3
24524  .byte  196,99,97,33,92,157,0,16            // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm3,%xmm11
24525  .byte  196,33,122,16,124,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm15
24526  .byte  196,33,122,16,100,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm12
24527  .byte  196,161,122,16,84,181,0             // vmovss        0x0(%rbp,%r14,4),%xmm2
24528  .byte  196,163,105,33,84,157,0,16          // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm2,%xmm2
24529  .byte  196,161,122,16,124,149,0            // vmovss        0x0(%rbp,%r10,4),%xmm7
24530  .byte  196,161,122,16,92,141,0             // vmovss        0x0(%rbp,%r9,4),%xmm3
24531  .byte  196,67,41,33,213,48                 // vinsertps     $0x30,%xmm13,%xmm10,%xmm10
24532  .byte  196,67,45,24,233,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm13
24533  .byte  196,195,33,33,207,32                // vinsertps     $0x20,%xmm15,%xmm11,%xmm1
24534  .byte  196,67,113,33,204,48                // vinsertps     $0x30,%xmm12,%xmm1,%xmm9
24535  .byte  196,227,105,33,215,32               // vinsertps     $0x20,%xmm7,%xmm2,%xmm2
24536  .byte  196,99,105,33,211,48                // vinsertps     $0x30,%xmm3,%xmm2,%xmm10
24537  .byte  72,139,104,24                       // mov           0x18(%rax),%rbp
24538  .byte  196,161,122,16,92,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm3
24539  .byte  196,99,97,33,92,157,0,16            // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm3,%xmm11
24540  .byte  196,33,122,16,100,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm12
24541  .byte  196,33,122,16,124,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm15
24542  .byte  196,161,122,16,84,181,0             // vmovss        0x0(%rbp,%r14,4),%xmm2
24543  .byte  196,163,105,33,84,157,0,16          // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm2,%xmm2
24544  .byte  196,161,122,16,92,149,0             // vmovss        0x0(%rbp,%r10,4),%xmm3
24545  .byte  196,161,122,16,124,141,0            // vmovss        0x0(%rbp,%r9,4),%xmm7
24546  .byte  196,67,45,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm10,%ymm9
24547  .byte  196,195,33,33,204,32                // vinsertps     $0x20,%xmm12,%xmm11,%xmm1
24548  .byte  196,195,113,33,207,48               // vinsertps     $0x30,%xmm15,%xmm1,%xmm1
24549  .byte  196,227,105,33,211,32               // vinsertps     $0x20,%xmm3,%xmm2,%xmm2
24550  .byte  196,227,105,33,215,48               // vinsertps     $0x30,%xmm7,%xmm2,%xmm2
24551  .byte  196,99,109,24,209,1                 // vinsertf128   $0x1,%xmm1,%ymm2,%ymm10
24552  .byte  72,139,104,56                       // mov           0x38(%rax),%rbp
24553  .byte  196,161,122,16,76,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm1
24554  .byte  196,99,113,33,92,157,0,16           // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm1,%xmm11
24555  .byte  196,33,122,16,100,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm12
24556  .byte  196,33,122,16,124,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm15
24557  .byte  196,161,122,16,124,181,0            // vmovss        0x0(%rbp,%r14,4),%xmm7
24558  .byte  196,163,65,33,124,157,0,16          // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm7,%xmm7
24559  .byte  196,161,122,16,76,149,0             // vmovss        0x0(%rbp,%r10,4),%xmm1
24560  .byte  196,161,122,16,84,141,0             // vmovss        0x0(%rbp,%r9,4),%xmm2
24561  .byte  196,195,33,33,220,32                // vinsertps     $0x20,%xmm12,%xmm11,%xmm3
24562  .byte  196,195,97,33,223,48                // vinsertps     $0x30,%xmm15,%xmm3,%xmm3
24563  .byte  196,227,65,33,201,32                // vinsertps     $0x20,%xmm1,%xmm7,%xmm1
24564  .byte  196,227,113,33,202,48               // vinsertps     $0x30,%xmm2,%xmm1,%xmm1
24565  .byte  196,99,117,24,219,1                 // vinsertf128   $0x1,%xmm3,%ymm1,%ymm11
24566  .byte  72,139,104,32                       // mov           0x20(%rax),%rbp
24567  .byte  196,161,122,16,76,173,0             // vmovss        0x0(%rbp,%r13,4),%xmm1
24568  .byte  196,227,113,33,76,157,0,16          // vinsertps     $0x10,0x0(%rbp,%rbx,4),%xmm1,%xmm1
24569  .byte  196,161,122,16,84,189,0             // vmovss        0x0(%rbp,%r15,4),%xmm2
24570  .byte  196,227,113,33,202,32               // vinsertps     $0x20,%xmm2,%xmm1,%xmm1
24571  .byte  196,161,122,16,84,165,0             // vmovss        0x0(%rbp,%r12,4),%xmm2
24572  .byte  196,161,122,16,92,181,0             // vmovss        0x0(%rbp,%r14,4),%xmm3
24573  .byte  196,35,97,33,100,157,0,16           // vinsertps     $0x10,0x0(%rbp,%r11,4),%xmm3,%xmm12
24574  .byte  196,161,122,16,124,149,0            // vmovss        0x0(%rbp,%r10,4),%xmm7
24575  .byte  196,161,122,16,92,141,0             // vmovss        0x0(%rbp,%r9,4),%xmm3
24576  .byte  196,99,113,33,250,48                // vinsertps     $0x30,%xmm2,%xmm1,%xmm15
24577  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
24578  .byte  196,161,122,16,20,168               // vmovss        (%rax,%r13,4),%xmm2
24579  .byte  196,227,105,33,20,152,16            // vinsertps     $0x10,(%rax,%rbx,4),%xmm2,%xmm2
24580  .byte  196,227,25,33,255,32                // vinsertps     $0x20,%xmm7,%xmm12,%xmm7
24581  .byte  196,161,122,16,12,184               // vmovss        (%rax,%r15,4),%xmm1
24582  .byte  196,227,65,33,219,48                // vinsertps     $0x30,%xmm3,%xmm7,%xmm3
24583  .byte  196,161,122,16,60,160               // vmovss        (%rax,%r12,4),%xmm7
24584  .byte  196,67,101,24,231,1                 // vinsertf128   $0x1,%xmm15,%ymm3,%ymm12
24585  .byte  196,161,122,16,28,176               // vmovss        (%rax,%r14,4),%xmm3
24586  .byte  196,163,97,33,28,152,16             // vinsertps     $0x10,(%rax,%r11,4),%xmm3,%xmm3
24587  .byte  196,227,105,33,201,32               // vinsertps     $0x20,%xmm1,%xmm2,%xmm1
24588  .byte  196,161,122,16,20,144               // vmovss        (%rax,%r10,4),%xmm2
24589  .byte  196,227,113,33,207,48               // vinsertps     $0x30,%xmm7,%xmm1,%xmm1
24590  .byte  196,161,122,16,60,136               // vmovss        (%rax,%r9,4),%xmm7
24591  .byte  196,227,97,33,210,32                // vinsertps     $0x20,%xmm2,%xmm3,%xmm2
24592  .byte  196,227,105,33,215,48               // vinsertps     $0x30,%xmm7,%xmm2,%xmm2
24593  .byte  196,227,109,24,217,1                // vinsertf128   $0x1,%xmm1,%ymm2,%ymm3
24594  .byte  197,188,89,200                      // vmulps        %ymm0,%ymm8,%ymm1
24595  .byte  196,65,116,88,198                   // vaddps        %ymm14,%ymm1,%ymm8
24596  .byte  197,148,89,200                      // vmulps        %ymm0,%ymm13,%ymm1
24597  .byte  196,193,116,88,201                  // vaddps        %ymm9,%ymm1,%ymm1
24598  .byte  197,172,89,208                      // vmulps        %ymm0,%ymm10,%ymm2
24599  .byte  196,193,108,88,211                  // vaddps        %ymm11,%ymm2,%ymm2
24600  .byte  197,156,89,192                      // vmulps        %ymm0,%ymm12,%ymm0
24601  .byte  197,252,88,219                      // vaddps        %ymm3,%ymm0,%ymm3
24602  .byte  72,173                              // lods          %ds:(%rsi),%rax
24603  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
24604  .byte  197,252,16,124,36,216               // vmovups       -0x28(%rsp),%ymm7
24605  .byte  91                                  // pop           %rbx
24606  .byte  65,92                               // pop           %r12
24607  .byte  65,93                               // pop           %r13
24608  .byte  65,94                               // pop           %r14
24609  .byte  65,95                               // pop           %r15
24610  .byte  93                                  // pop           %rbp
24611  .byte  255,224                             // jmpq          *%rax
24612
24613HIDDEN _sk_evenly_spaced_2_stop_gradient_avx
24614.globl _sk_evenly_spaced_2_stop_gradient_avx
24615FUNCTION(_sk_evenly_spaced_2_stop_gradient_avx)
24616_sk_evenly_spaced_2_stop_gradient_avx:
24617  .byte  72,173                              // lods          %ds:(%rsi),%rax
24618  .byte  196,226,125,24,8                    // vbroadcastss  (%rax),%ymm1
24619  .byte  196,226,125,24,80,16                // vbroadcastss  0x10(%rax),%ymm2
24620  .byte  197,244,89,200                      // vmulps        %ymm0,%ymm1,%ymm1
24621  .byte  197,116,88,194                      // vaddps        %ymm2,%ymm1,%ymm8
24622  .byte  196,226,125,24,72,4                 // vbroadcastss  0x4(%rax),%ymm1
24623  .byte  196,226,125,24,80,20                // vbroadcastss  0x14(%rax),%ymm2
24624  .byte  197,244,89,200                      // vmulps        %ymm0,%ymm1,%ymm1
24625  .byte  197,244,88,202                      // vaddps        %ymm2,%ymm1,%ymm1
24626  .byte  196,226,125,24,80,8                 // vbroadcastss  0x8(%rax),%ymm2
24627  .byte  196,226,125,24,88,24                // vbroadcastss  0x18(%rax),%ymm3
24628  .byte  197,236,89,208                      // vmulps        %ymm0,%ymm2,%ymm2
24629  .byte  197,236,88,211                      // vaddps        %ymm3,%ymm2,%ymm2
24630  .byte  196,226,125,24,88,12                // vbroadcastss  0xc(%rax),%ymm3
24631  .byte  196,98,125,24,72,28                 // vbroadcastss  0x1c(%rax),%ymm9
24632  .byte  197,228,89,192                      // vmulps        %ymm0,%ymm3,%ymm0
24633  .byte  196,193,124,88,217                  // vaddps        %ymm9,%ymm0,%ymm3
24634  .byte  72,173                              // lods          %ds:(%rsi),%rax
24635  .byte  197,124,41,192                      // vmovaps       %ymm8,%ymm0
24636  .byte  255,224                             // jmpq          *%rax
24637
24638HIDDEN _sk_xy_to_unit_angle_avx
24639.globl _sk_xy_to_unit_angle_avx
24640FUNCTION(_sk_xy_to_unit_angle_avx)
24641_sk_xy_to_unit_angle_avx:
24642  .byte  196,65,60,87,192                    // vxorps        %ymm8,%ymm8,%ymm8
24643  .byte  197,60,92,200                       // vsubps        %ymm0,%ymm8,%ymm9
24644  .byte  197,52,84,200                       // vandps        %ymm0,%ymm9,%ymm9
24645  .byte  197,60,92,209                       // vsubps        %ymm1,%ymm8,%ymm10
24646  .byte  197,44,84,209                       // vandps        %ymm1,%ymm10,%ymm10
24647  .byte  196,65,52,93,218                    // vminps        %ymm10,%ymm9,%ymm11
24648  .byte  196,65,52,95,226                    // vmaxps        %ymm10,%ymm9,%ymm12
24649  .byte  196,65,36,94,220                    // vdivps        %ymm12,%ymm11,%ymm11
24650  .byte  196,65,36,89,227                    // vmulps        %ymm11,%ymm11,%ymm12
24651  .byte  196,98,125,24,45,200,11,0,0         // vbroadcastss  0xbc8(%rip),%ymm13        # 7cf8 <_sk_callback_avx+0x548>
24652  .byte  196,65,28,89,237                    // vmulps        %ymm13,%ymm12,%ymm13
24653  .byte  196,98,125,24,53,190,11,0,0         // vbroadcastss  0xbbe(%rip),%ymm14        # 7cfc <_sk_callback_avx+0x54c>
24654  .byte  196,65,20,88,238                    // vaddps        %ymm14,%ymm13,%ymm13
24655  .byte  196,65,28,89,237                    // vmulps        %ymm13,%ymm12,%ymm13
24656  .byte  196,98,125,24,53,175,11,0,0         // vbroadcastss  0xbaf(%rip),%ymm14        # 7d00 <_sk_callback_avx+0x550>
24657  .byte  196,65,20,88,238                    // vaddps        %ymm14,%ymm13,%ymm13
24658  .byte  196,65,28,89,229                    // vmulps        %ymm13,%ymm12,%ymm12
24659  .byte  196,98,125,24,45,160,11,0,0         // vbroadcastss  0xba0(%rip),%ymm13        # 7d04 <_sk_callback_avx+0x554>
24660  .byte  196,65,28,88,229                    // vaddps        %ymm13,%ymm12,%ymm12
24661  .byte  196,65,36,89,220                    // vmulps        %ymm12,%ymm11,%ymm11
24662  .byte  196,65,52,194,202,1                 // vcmpltps      %ymm10,%ymm9,%ymm9
24663  .byte  196,98,125,24,21,139,11,0,0         // vbroadcastss  0xb8b(%rip),%ymm10        # 7d08 <_sk_callback_avx+0x558>
24664  .byte  196,65,44,92,211                    // vsubps        %ymm11,%ymm10,%ymm10
24665  .byte  196,67,37,74,202,144                // vblendvps     %ymm9,%ymm10,%ymm11,%ymm9
24666  .byte  196,193,124,194,192,1               // vcmpltps      %ymm8,%ymm0,%ymm0
24667  .byte  196,98,125,24,21,117,11,0,0         // vbroadcastss  0xb75(%rip),%ymm10        # 7d0c <_sk_callback_avx+0x55c>
24668  .byte  196,65,44,92,209                    // vsubps        %ymm9,%ymm10,%ymm10
24669  .byte  196,195,53,74,194,0                 // vblendvps     %ymm0,%ymm10,%ymm9,%ymm0
24670  .byte  196,65,116,194,200,1                // vcmpltps      %ymm8,%ymm1,%ymm9
24671  .byte  196,98,125,24,21,95,11,0,0          // vbroadcastss  0xb5f(%rip),%ymm10        # 7d10 <_sk_callback_avx+0x560>
24672  .byte  197,44,92,208                       // vsubps        %ymm0,%ymm10,%ymm10
24673  .byte  196,195,125,74,194,144              // vblendvps     %ymm9,%ymm10,%ymm0,%ymm0
24674  .byte  196,65,124,194,200,3                // vcmpunordps   %ymm8,%ymm0,%ymm9
24675  .byte  196,195,125,74,192,144              // vblendvps     %ymm9,%ymm8,%ymm0,%ymm0
24676  .byte  72,173                              // lods          %ds:(%rsi),%rax
24677  .byte  255,224                             // jmpq          *%rax
24678
24679HIDDEN _sk_xy_to_radius_avx
24680.globl _sk_xy_to_radius_avx
24681FUNCTION(_sk_xy_to_radius_avx)
24682_sk_xy_to_radius_avx:
24683  .byte  197,252,89,192                      // vmulps        %ymm0,%ymm0,%ymm0
24684  .byte  197,116,89,193                      // vmulps        %ymm1,%ymm1,%ymm8
24685  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
24686  .byte  197,252,81,192                      // vsqrtps       %ymm0,%ymm0
24687  .byte  72,173                              // lods          %ds:(%rsi),%rax
24688  .byte  255,224                             // jmpq          *%rax
24689
24690HIDDEN _sk_xy_to_2pt_conical_quadratic_max_avx
24691.globl _sk_xy_to_2pt_conical_quadratic_max_avx
24692FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_avx)
24693_sk_xy_to_2pt_conical_quadratic_max_avx:
24694  .byte  72,173                              // lods          %ds:(%rsi),%rax
24695  .byte  196,98,125,24,64,32                 // vbroadcastss  0x20(%rax),%ymm8
24696  .byte  197,122,16,72,40                    // vmovss        0x28(%rax),%xmm9
24697  .byte  197,50,89,80,44                     // vmulss        0x2c(%rax),%xmm9,%xmm10
24698  .byte  196,67,121,4,210,0                  // vpermilps     $0x0,%xmm10,%xmm10
24699  .byte  196,67,45,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm10,%ymm10
24700  .byte  197,44,88,208                       // vaddps        %ymm0,%ymm10,%ymm10
24701  .byte  196,98,125,24,29,9,11,0,0           // vbroadcastss  0xb09(%rip),%ymm11        # 7d14 <_sk_callback_avx+0x564>
24702  .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
24703  .byte  197,252,89,192                      // vmulps        %ymm0,%ymm0,%ymm0
24704  .byte  197,116,89,217                      // vmulps        %ymm1,%ymm1,%ymm11
24705  .byte  196,65,124,88,219                   // vaddps        %ymm11,%ymm0,%ymm11
24706  .byte  196,193,50,89,193                   // vmulss        %xmm9,%xmm9,%xmm0
24707  .byte  196,227,121,4,192,0                 // vpermilps     $0x0,%xmm0,%xmm0
24708  .byte  196,227,125,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
24709  .byte  197,164,92,192                      // vsubps        %ymm0,%ymm11,%ymm0
24710  .byte  196,98,125,24,13,221,10,0,0         // vbroadcastss  0xadd(%rip),%ymm9        # 7d18 <_sk_callback_avx+0x568>
24711  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
24712  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
24713  .byte  196,65,44,89,194                    // vmulps        %ymm10,%ymm10,%ymm8
24714  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
24715  .byte  197,252,81,192                      // vsqrtps       %ymm0,%ymm0
24716  .byte  196,98,125,24,64,36                 // vbroadcastss  0x24(%rax),%ymm8
24717  .byte  196,98,125,24,13,187,10,0,0         // vbroadcastss  0xabb(%rip),%ymm9        # 7d1c <_sk_callback_avx+0x56c>
24718  .byte  196,65,44,87,201                    // vxorps        %ymm9,%ymm10,%ymm9
24719  .byte  196,65,124,92,210                   // vsubps        %ymm10,%ymm0,%ymm10
24720  .byte  196,98,125,24,29,172,10,0,0         // vbroadcastss  0xaac(%rip),%ymm11        # 7d20 <_sk_callback_avx+0x570>
24721  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
24722  .byte  196,65,60,89,210                    // vmulps        %ymm10,%ymm8,%ymm10
24723  .byte  197,180,92,192                      // vsubps        %ymm0,%ymm9,%ymm0
24724  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
24725  .byte  197,172,95,192                      // vmaxps        %ymm0,%ymm10,%ymm0
24726  .byte  72,173                              // lods          %ds:(%rsi),%rax
24727  .byte  255,224                             // jmpq          *%rax
24728
24729HIDDEN _sk_xy_to_2pt_conical_quadratic_min_avx
24730.globl _sk_xy_to_2pt_conical_quadratic_min_avx
24731FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_avx)
24732_sk_xy_to_2pt_conical_quadratic_min_avx:
24733  .byte  72,173                              // lods          %ds:(%rsi),%rax
24734  .byte  196,98,125,24,64,32                 // vbroadcastss  0x20(%rax),%ymm8
24735  .byte  197,122,16,72,40                    // vmovss        0x28(%rax),%xmm9
24736  .byte  197,50,89,80,44                     // vmulss        0x2c(%rax),%xmm9,%xmm10
24737  .byte  196,67,121,4,210,0                  // vpermilps     $0x0,%xmm10,%xmm10
24738  .byte  196,67,45,24,210,1                  // vinsertf128   $0x1,%xmm10,%ymm10,%ymm10
24739  .byte  197,44,88,208                       // vaddps        %ymm0,%ymm10,%ymm10
24740  .byte  196,98,125,24,29,107,10,0,0         // vbroadcastss  0xa6b(%rip),%ymm11        # 7d24 <_sk_callback_avx+0x574>
24741  .byte  196,65,44,89,211                    // vmulps        %ymm11,%ymm10,%ymm10
24742  .byte  197,252,89,192                      // vmulps        %ymm0,%ymm0,%ymm0
24743  .byte  197,116,89,217                      // vmulps        %ymm1,%ymm1,%ymm11
24744  .byte  196,65,124,88,219                   // vaddps        %ymm11,%ymm0,%ymm11
24745  .byte  196,193,50,89,193                   // vmulss        %xmm9,%xmm9,%xmm0
24746  .byte  196,227,121,4,192,0                 // vpermilps     $0x0,%xmm0,%xmm0
24747  .byte  196,227,125,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
24748  .byte  197,164,92,192                      // vsubps        %ymm0,%ymm11,%ymm0
24749  .byte  196,98,125,24,13,63,10,0,0          // vbroadcastss  0xa3f(%rip),%ymm9        # 7d28 <_sk_callback_avx+0x578>
24750  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
24751  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
24752  .byte  196,65,44,89,194                    // vmulps        %ymm10,%ymm10,%ymm8
24753  .byte  196,193,124,88,192                  // vaddps        %ymm8,%ymm0,%ymm0
24754  .byte  197,252,81,192                      // vsqrtps       %ymm0,%ymm0
24755  .byte  196,98,125,24,64,36                 // vbroadcastss  0x24(%rax),%ymm8
24756  .byte  196,98,125,24,13,29,10,0,0          // vbroadcastss  0xa1d(%rip),%ymm9        # 7d2c <_sk_callback_avx+0x57c>
24757  .byte  196,65,44,87,201                    // vxorps        %ymm9,%ymm10,%ymm9
24758  .byte  196,65,124,92,210                   // vsubps        %ymm10,%ymm0,%ymm10
24759  .byte  196,98,125,24,29,14,10,0,0          // vbroadcastss  0xa0e(%rip),%ymm11        # 7d30 <_sk_callback_avx+0x580>
24760  .byte  196,65,60,89,195                    // vmulps        %ymm11,%ymm8,%ymm8
24761  .byte  196,65,60,89,210                    // vmulps        %ymm10,%ymm8,%ymm10
24762  .byte  197,180,92,192                      // vsubps        %ymm0,%ymm9,%ymm0
24763  .byte  197,188,89,192                      // vmulps        %ymm0,%ymm8,%ymm0
24764  .byte  197,172,93,192                      // vminps        %ymm0,%ymm10,%ymm0
24765  .byte  72,173                              // lods          %ds:(%rsi),%rax
24766  .byte  255,224                             // jmpq          *%rax
24767
24768HIDDEN _sk_xy_to_2pt_conical_linear_avx
24769.globl _sk_xy_to_2pt_conical_linear_avx
24770FUNCTION(_sk_xy_to_2pt_conical_linear_avx)
24771_sk_xy_to_2pt_conical_linear_avx:
24772  .byte  72,173                              // lods          %ds:(%rsi),%rax
24773  .byte  197,122,16,64,40                    // vmovss        0x28(%rax),%xmm8
24774  .byte  197,58,89,72,44                     // vmulss        0x2c(%rax),%xmm8,%xmm9
24775  .byte  196,67,121,4,201,0                  // vpermilps     $0x0,%xmm9,%xmm9
24776  .byte  196,67,53,24,201,1                  // vinsertf128   $0x1,%xmm9,%ymm9,%ymm9
24777  .byte  197,52,88,200                       // vaddps        %ymm0,%ymm9,%ymm9
24778  .byte  196,98,125,24,21,211,9,0,0          // vbroadcastss  0x9d3(%rip),%ymm10        # 7d34 <_sk_callback_avx+0x584>
24779  .byte  196,65,52,89,202                    // vmulps        %ymm10,%ymm9,%ymm9
24780  .byte  197,252,89,192                      // vmulps        %ymm0,%ymm0,%ymm0
24781  .byte  197,116,89,209                      // vmulps        %ymm1,%ymm1,%ymm10
24782  .byte  196,65,124,88,210                   // vaddps        %ymm10,%ymm0,%ymm10
24783  .byte  196,193,58,89,192                   // vmulss        %xmm8,%xmm8,%xmm0
24784  .byte  196,227,121,4,192,0                 // vpermilps     $0x0,%xmm0,%xmm0
24785  .byte  196,227,125,24,192,1                // vinsertf128   $0x1,%xmm0,%ymm0,%ymm0
24786  .byte  197,172,92,192                      // vsubps        %ymm0,%ymm10,%ymm0
24787  .byte  196,98,125,24,5,167,9,0,0           // vbroadcastss  0x9a7(%rip),%ymm8        # 7d38 <_sk_callback_avx+0x588>
24788  .byte  196,193,124,87,192                  // vxorps        %ymm8,%ymm0,%ymm0
24789  .byte  196,193,124,94,193                  // vdivps        %ymm9,%ymm0,%ymm0
24790  .byte  72,173                              // lods          %ds:(%rsi),%rax
24791  .byte  255,224                             // jmpq          *%rax
24792
24793HIDDEN _sk_mask_2pt_conical_degenerates_avx
24794.globl _sk_mask_2pt_conical_degenerates_avx
24795FUNCTION(_sk_mask_2pt_conical_degenerates_avx)
24796_sk_mask_2pt_conical_degenerates_avx:
24797  .byte  72,173                              // lods          %ds:(%rsi),%rax
24798  .byte  196,98,125,24,64,44                 // vbroadcastss  0x2c(%rax),%ymm8
24799  .byte  196,98,125,24,72,40                 // vbroadcastss  0x28(%rax),%ymm9
24800  .byte  197,60,89,192                       // vmulps        %ymm0,%ymm8,%ymm8
24801  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
24802  .byte  196,65,52,87,201                    // vxorps        %ymm9,%ymm9,%ymm9
24803  .byte  196,65,52,194,192,2                 // vcmpleps      %ymm8,%ymm9,%ymm8
24804  .byte  196,65,124,194,201,7                // vcmpordps     %ymm9,%ymm0,%ymm9
24805  .byte  196,65,60,84,193                    // vandps        %ymm9,%ymm8,%ymm8
24806  .byte  197,124,17,0                        // vmovups       %ymm8,(%rax)
24807  .byte  72,173                              // lods          %ds:(%rsi),%rax
24808  .byte  255,224                             // jmpq          *%rax
24809
24810HIDDEN _sk_apply_vector_mask_avx
24811.globl _sk_apply_vector_mask_avx
24812FUNCTION(_sk_apply_vector_mask_avx)
24813_sk_apply_vector_mask_avx:
24814  .byte  72,173                              // lods          %ds:(%rsi),%rax
24815  .byte  197,124,16,0                        // vmovups       (%rax),%ymm8
24816  .byte  197,188,84,192                      // vandps        %ymm0,%ymm8,%ymm0
24817  .byte  197,188,84,201                      // vandps        %ymm1,%ymm8,%ymm1
24818  .byte  197,188,84,210                      // vandps        %ymm2,%ymm8,%ymm2
24819  .byte  197,188,84,219                      // vandps        %ymm3,%ymm8,%ymm3
24820  .byte  72,173                              // lods          %ds:(%rsi),%rax
24821  .byte  255,224                             // jmpq          *%rax
24822
24823HIDDEN _sk_save_xy_avx
24824.globl _sk_save_xy_avx
24825FUNCTION(_sk_save_xy_avx)
24826_sk_save_xy_avx:
24827  .byte  72,173                              // lods          %ds:(%rsi),%rax
24828  .byte  196,98,125,24,5,67,9,0,0            // vbroadcastss  0x943(%rip),%ymm8        # 7d3c <_sk_callback_avx+0x58c>
24829  .byte  196,65,124,88,200                   // vaddps        %ymm8,%ymm0,%ymm9
24830  .byte  196,67,125,8,209,1                  // vroundps      $0x1,%ymm9,%ymm10
24831  .byte  196,65,52,92,202                    // vsubps        %ymm10,%ymm9,%ymm9
24832  .byte  196,65,116,88,192                   // vaddps        %ymm8,%ymm1,%ymm8
24833  .byte  196,67,125,8,208,1                  // vroundps      $0x1,%ymm8,%ymm10
24834  .byte  196,65,60,92,194                    // vsubps        %ymm10,%ymm8,%ymm8
24835  .byte  197,252,17,0                        // vmovups       %ymm0,(%rax)
24836  .byte  197,252,17,72,32                    // vmovups       %ymm1,0x20(%rax)
24837  .byte  197,124,17,72,64                    // vmovups       %ymm9,0x40(%rax)
24838  .byte  197,124,17,64,96                    // vmovups       %ymm8,0x60(%rax)
24839  .byte  72,173                              // lods          %ds:(%rsi),%rax
24840  .byte  255,224                             // jmpq          *%rax
24841
24842HIDDEN _sk_accumulate_avx
24843.globl _sk_accumulate_avx
24844FUNCTION(_sk_accumulate_avx)
24845_sk_accumulate_avx:
24846  .byte  72,173                              // lods          %ds:(%rsi),%rax
24847  .byte  197,124,16,128,128,0,0,0            // vmovups       0x80(%rax),%ymm8
24848  .byte  197,60,89,128,160,0,0,0             // vmulps        0xa0(%rax),%ymm8,%ymm8
24849  .byte  197,60,89,200                       // vmulps        %ymm0,%ymm8,%ymm9
24850  .byte  197,180,88,228                      // vaddps        %ymm4,%ymm9,%ymm4
24851  .byte  197,60,89,201                       // vmulps        %ymm1,%ymm8,%ymm9
24852  .byte  197,180,88,237                      // vaddps        %ymm5,%ymm9,%ymm5
24853  .byte  197,60,89,202                       // vmulps        %ymm2,%ymm8,%ymm9
24854  .byte  197,180,88,246                      // vaddps        %ymm6,%ymm9,%ymm6
24855  .byte  197,60,89,195                       // vmulps        %ymm3,%ymm8,%ymm8
24856  .byte  197,188,88,255                      // vaddps        %ymm7,%ymm8,%ymm7
24857  .byte  72,173                              // lods          %ds:(%rsi),%rax
24858  .byte  255,224                             // jmpq          *%rax
24859
24860HIDDEN _sk_bilinear_nx_avx
24861.globl _sk_bilinear_nx_avx
24862FUNCTION(_sk_bilinear_nx_avx)
24863_sk_bilinear_nx_avx:
24864  .byte  72,173                              // lods          %ds:(%rsi),%rax
24865  .byte  196,226,125,24,5,207,8,0,0          // vbroadcastss  0x8cf(%rip),%ymm0        # 7d40 <_sk_callback_avx+0x590>
24866  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
24867  .byte  196,98,125,24,5,198,8,0,0           // vbroadcastss  0x8c6(%rip),%ymm8        # 7d44 <_sk_callback_avx+0x594>
24868  .byte  197,60,92,64,64                     // vsubps        0x40(%rax),%ymm8,%ymm8
24869  .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
24870  .byte  72,173                              // lods          %ds:(%rsi),%rax
24871  .byte  255,224                             // jmpq          *%rax
24872
24873HIDDEN _sk_bilinear_px_avx
24874.globl _sk_bilinear_px_avx
24875FUNCTION(_sk_bilinear_px_avx)
24876_sk_bilinear_px_avx:
24877  .byte  72,173                              // lods          %ds:(%rsi),%rax
24878  .byte  196,226,125,24,5,174,8,0,0          // vbroadcastss  0x8ae(%rip),%ymm0        # 7d48 <_sk_callback_avx+0x598>
24879  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
24880  .byte  197,124,16,64,64                    // vmovups       0x40(%rax),%ymm8
24881  .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
24882  .byte  72,173                              // lods          %ds:(%rsi),%rax
24883  .byte  255,224                             // jmpq          *%rax
24884
24885HIDDEN _sk_bilinear_ny_avx
24886.globl _sk_bilinear_ny_avx
24887FUNCTION(_sk_bilinear_ny_avx)
24888_sk_bilinear_ny_avx:
24889  .byte  72,173                              // lods          %ds:(%rsi),%rax
24890  .byte  196,226,125,24,13,146,8,0,0         // vbroadcastss  0x892(%rip),%ymm1        # 7d4c <_sk_callback_avx+0x59c>
24891  .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
24892  .byte  196,98,125,24,5,136,8,0,0           // vbroadcastss  0x888(%rip),%ymm8        # 7d50 <_sk_callback_avx+0x5a0>
24893  .byte  197,60,92,64,96                     // vsubps        0x60(%rax),%ymm8,%ymm8
24894  .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
24895  .byte  72,173                              // lods          %ds:(%rsi),%rax
24896  .byte  255,224                             // jmpq          *%rax
24897
24898HIDDEN _sk_bilinear_py_avx
24899.globl _sk_bilinear_py_avx
24900FUNCTION(_sk_bilinear_py_avx)
24901_sk_bilinear_py_avx:
24902  .byte  72,173                              // lods          %ds:(%rsi),%rax
24903  .byte  196,226,125,24,13,112,8,0,0         // vbroadcastss  0x870(%rip),%ymm1        # 7d54 <_sk_callback_avx+0x5a4>
24904  .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
24905  .byte  197,124,16,64,96                    // vmovups       0x60(%rax),%ymm8
24906  .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
24907  .byte  72,173                              // lods          %ds:(%rsi),%rax
24908  .byte  255,224                             // jmpq          *%rax
24909
24910HIDDEN _sk_bicubic_n3x_avx
24911.globl _sk_bicubic_n3x_avx
24912FUNCTION(_sk_bicubic_n3x_avx)
24913_sk_bicubic_n3x_avx:
24914  .byte  72,173                              // lods          %ds:(%rsi),%rax
24915  .byte  196,226,125,24,5,83,8,0,0           // vbroadcastss  0x853(%rip),%ymm0        # 7d58 <_sk_callback_avx+0x5a8>
24916  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
24917  .byte  196,98,125,24,5,74,8,0,0            // vbroadcastss  0x84a(%rip),%ymm8        # 7d5c <_sk_callback_avx+0x5ac>
24918  .byte  197,60,92,64,64                     // vsubps        0x40(%rax),%ymm8,%ymm8
24919  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
24920  .byte  196,98,125,24,21,59,8,0,0           // vbroadcastss  0x83b(%rip),%ymm10        # 7d60 <_sk_callback_avx+0x5b0>
24921  .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
24922  .byte  196,98,125,24,21,49,8,0,0           // vbroadcastss  0x831(%rip),%ymm10        # 7d64 <_sk_callback_avx+0x5b4>
24923  .byte  196,65,60,88,194                    // vaddps        %ymm10,%ymm8,%ymm8
24924  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
24925  .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
24926  .byte  72,173                              // lods          %ds:(%rsi),%rax
24927  .byte  255,224                             // jmpq          *%rax
24928
24929HIDDEN _sk_bicubic_n1x_avx
24930.globl _sk_bicubic_n1x_avx
24931FUNCTION(_sk_bicubic_n1x_avx)
24932_sk_bicubic_n1x_avx:
24933  .byte  72,173                              // lods          %ds:(%rsi),%rax
24934  .byte  196,226,125,24,5,20,8,0,0           // vbroadcastss  0x814(%rip),%ymm0        # 7d68 <_sk_callback_avx+0x5b8>
24935  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
24936  .byte  196,98,125,24,5,11,8,0,0            // vbroadcastss  0x80b(%rip),%ymm8        # 7d6c <_sk_callback_avx+0x5bc>
24937  .byte  197,60,92,64,64                     // vsubps        0x40(%rax),%ymm8,%ymm8
24938  .byte  196,98,125,24,13,1,8,0,0            // vbroadcastss  0x801(%rip),%ymm9        # 7d70 <_sk_callback_avx+0x5c0>
24939  .byte  196,65,60,89,201                    // vmulps        %ymm9,%ymm8,%ymm9
24940  .byte  196,98,125,24,21,247,7,0,0          // vbroadcastss  0x7f7(%rip),%ymm10        # 7d74 <_sk_callback_avx+0x5c4>
24941  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
24942  .byte  196,65,60,89,201                    // vmulps        %ymm9,%ymm8,%ymm9
24943  .byte  196,98,125,24,21,232,7,0,0          // vbroadcastss  0x7e8(%rip),%ymm10        # 7d78 <_sk_callback_avx+0x5c8>
24944  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
24945  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
24946  .byte  196,98,125,24,13,217,7,0,0          // vbroadcastss  0x7d9(%rip),%ymm9        # 7d7c <_sk_callback_avx+0x5cc>
24947  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
24948  .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
24949  .byte  72,173                              // lods          %ds:(%rsi),%rax
24950  .byte  255,224                             // jmpq          *%rax
24951
24952HIDDEN _sk_bicubic_p1x_avx
24953.globl _sk_bicubic_p1x_avx
24954FUNCTION(_sk_bicubic_p1x_avx)
24955_sk_bicubic_p1x_avx:
24956  .byte  72,173                              // lods          %ds:(%rsi),%rax
24957  .byte  196,98,125,24,5,193,7,0,0           // vbroadcastss  0x7c1(%rip),%ymm8        # 7d80 <_sk_callback_avx+0x5d0>
24958  .byte  197,188,88,0                        // vaddps        (%rax),%ymm8,%ymm0
24959  .byte  197,124,16,72,64                    // vmovups       0x40(%rax),%ymm9
24960  .byte  196,98,125,24,21,179,7,0,0          // vbroadcastss  0x7b3(%rip),%ymm10        # 7d84 <_sk_callback_avx+0x5d4>
24961  .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
24962  .byte  196,98,125,24,29,169,7,0,0          // vbroadcastss  0x7a9(%rip),%ymm11        # 7d88 <_sk_callback_avx+0x5d8>
24963  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
24964  .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
24965  .byte  196,65,44,88,192                    // vaddps        %ymm8,%ymm10,%ymm8
24966  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
24967  .byte  196,98,125,24,13,144,7,0,0          // vbroadcastss  0x790(%rip),%ymm9        # 7d8c <_sk_callback_avx+0x5dc>
24968  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
24969  .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
24970  .byte  72,173                              // lods          %ds:(%rsi),%rax
24971  .byte  255,224                             // jmpq          *%rax
24972
24973HIDDEN _sk_bicubic_p3x_avx
24974.globl _sk_bicubic_p3x_avx
24975FUNCTION(_sk_bicubic_p3x_avx)
24976_sk_bicubic_p3x_avx:
24977  .byte  72,173                              // lods          %ds:(%rsi),%rax
24978  .byte  196,226,125,24,5,120,7,0,0          // vbroadcastss  0x778(%rip),%ymm0        # 7d90 <_sk_callback_avx+0x5e0>
24979  .byte  197,252,88,0                        // vaddps        (%rax),%ymm0,%ymm0
24980  .byte  197,124,16,64,64                    // vmovups       0x40(%rax),%ymm8
24981  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
24982  .byte  196,98,125,24,21,101,7,0,0          // vbroadcastss  0x765(%rip),%ymm10        # 7d94 <_sk_callback_avx+0x5e4>
24983  .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
24984  .byte  196,98,125,24,21,91,7,0,0           // vbroadcastss  0x75b(%rip),%ymm10        # 7d98 <_sk_callback_avx+0x5e8>
24985  .byte  196,65,60,88,194                    // vaddps        %ymm10,%ymm8,%ymm8
24986  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
24987  .byte  197,124,17,128,128,0,0,0            // vmovups       %ymm8,0x80(%rax)
24988  .byte  72,173                              // lods          %ds:(%rsi),%rax
24989  .byte  255,224                             // jmpq          *%rax
24990
24991HIDDEN _sk_bicubic_n3y_avx
24992.globl _sk_bicubic_n3y_avx
24993FUNCTION(_sk_bicubic_n3y_avx)
24994_sk_bicubic_n3y_avx:
24995  .byte  72,173                              // lods          %ds:(%rsi),%rax
24996  .byte  196,226,125,24,13,62,7,0,0          // vbroadcastss  0x73e(%rip),%ymm1        # 7d9c <_sk_callback_avx+0x5ec>
24997  .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
24998  .byte  196,98,125,24,5,52,7,0,0            // vbroadcastss  0x734(%rip),%ymm8        # 7da0 <_sk_callback_avx+0x5f0>
24999  .byte  197,60,92,64,96                     // vsubps        0x60(%rax),%ymm8,%ymm8
25000  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
25001  .byte  196,98,125,24,21,37,7,0,0           // vbroadcastss  0x725(%rip),%ymm10        # 7da4 <_sk_callback_avx+0x5f4>
25002  .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
25003  .byte  196,98,125,24,21,27,7,0,0           // vbroadcastss  0x71b(%rip),%ymm10        # 7da8 <_sk_callback_avx+0x5f8>
25004  .byte  196,65,60,88,194                    // vaddps        %ymm10,%ymm8,%ymm8
25005  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
25006  .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
25007  .byte  72,173                              // lods          %ds:(%rsi),%rax
25008  .byte  255,224                             // jmpq          *%rax
25009
25010HIDDEN _sk_bicubic_n1y_avx
25011.globl _sk_bicubic_n1y_avx
25012FUNCTION(_sk_bicubic_n1y_avx)
25013_sk_bicubic_n1y_avx:
25014  .byte  72,173                              // lods          %ds:(%rsi),%rax
25015  .byte  196,226,125,24,13,254,6,0,0         // vbroadcastss  0x6fe(%rip),%ymm1        # 7dac <_sk_callback_avx+0x5fc>
25016  .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
25017  .byte  196,98,125,24,5,244,6,0,0           // vbroadcastss  0x6f4(%rip),%ymm8        # 7db0 <_sk_callback_avx+0x600>
25018  .byte  197,60,92,64,96                     // vsubps        0x60(%rax),%ymm8,%ymm8
25019  .byte  196,98,125,24,13,234,6,0,0          // vbroadcastss  0x6ea(%rip),%ymm9        # 7db4 <_sk_callback_avx+0x604>
25020  .byte  196,65,60,89,201                    // vmulps        %ymm9,%ymm8,%ymm9
25021  .byte  196,98,125,24,21,224,6,0,0          // vbroadcastss  0x6e0(%rip),%ymm10        # 7db8 <_sk_callback_avx+0x608>
25022  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
25023  .byte  196,65,60,89,201                    // vmulps        %ymm9,%ymm8,%ymm9
25024  .byte  196,98,125,24,21,209,6,0,0          // vbroadcastss  0x6d1(%rip),%ymm10        # 7dbc <_sk_callback_avx+0x60c>
25025  .byte  196,65,52,88,202                    // vaddps        %ymm10,%ymm9,%ymm9
25026  .byte  196,65,60,89,193                    // vmulps        %ymm9,%ymm8,%ymm8
25027  .byte  196,98,125,24,13,194,6,0,0          // vbroadcastss  0x6c2(%rip),%ymm9        # 7dc0 <_sk_callback_avx+0x610>
25028  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
25029  .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
25030  .byte  72,173                              // lods          %ds:(%rsi),%rax
25031  .byte  255,224                             // jmpq          *%rax
25032
25033HIDDEN _sk_bicubic_p1y_avx
25034.globl _sk_bicubic_p1y_avx
25035FUNCTION(_sk_bicubic_p1y_avx)
25036_sk_bicubic_p1y_avx:
25037  .byte  72,173                              // lods          %ds:(%rsi),%rax
25038  .byte  196,98,125,24,5,170,6,0,0           // vbroadcastss  0x6aa(%rip),%ymm8        # 7dc4 <_sk_callback_avx+0x614>
25039  .byte  197,188,88,72,32                    // vaddps        0x20(%rax),%ymm8,%ymm1
25040  .byte  197,124,16,72,96                    // vmovups       0x60(%rax),%ymm9
25041  .byte  196,98,125,24,21,155,6,0,0          // vbroadcastss  0x69b(%rip),%ymm10        # 7dc8 <_sk_callback_avx+0x618>
25042  .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
25043  .byte  196,98,125,24,29,145,6,0,0          // vbroadcastss  0x691(%rip),%ymm11        # 7dcc <_sk_callback_avx+0x61c>
25044  .byte  196,65,44,88,211                    // vaddps        %ymm11,%ymm10,%ymm10
25045  .byte  196,65,52,89,210                    // vmulps        %ymm10,%ymm9,%ymm10
25046  .byte  196,65,44,88,192                    // vaddps        %ymm8,%ymm10,%ymm8
25047  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
25048  .byte  196,98,125,24,13,120,6,0,0          // vbroadcastss  0x678(%rip),%ymm9        # 7dd0 <_sk_callback_avx+0x620>
25049  .byte  196,65,60,88,193                    // vaddps        %ymm9,%ymm8,%ymm8
25050  .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
25051  .byte  72,173                              // lods          %ds:(%rsi),%rax
25052  .byte  255,224                             // jmpq          *%rax
25053
25054HIDDEN _sk_bicubic_p3y_avx
25055.globl _sk_bicubic_p3y_avx
25056FUNCTION(_sk_bicubic_p3y_avx)
25057_sk_bicubic_p3y_avx:
25058  .byte  72,173                              // lods          %ds:(%rsi),%rax
25059  .byte  196,226,125,24,13,96,6,0,0          // vbroadcastss  0x660(%rip),%ymm1        # 7dd4 <_sk_callback_avx+0x624>
25060  .byte  197,244,88,72,32                    // vaddps        0x20(%rax),%ymm1,%ymm1
25061  .byte  197,124,16,64,96                    // vmovups       0x60(%rax),%ymm8
25062  .byte  196,65,60,89,200                    // vmulps        %ymm8,%ymm8,%ymm9
25063  .byte  196,98,125,24,21,76,6,0,0           // vbroadcastss  0x64c(%rip),%ymm10        # 7dd8 <_sk_callback_avx+0x628>
25064  .byte  196,65,60,89,194                    // vmulps        %ymm10,%ymm8,%ymm8
25065  .byte  196,98,125,24,21,66,6,0,0           // vbroadcastss  0x642(%rip),%ymm10        # 7ddc <_sk_callback_avx+0x62c>
25066  .byte  196,65,60,88,194                    // vaddps        %ymm10,%ymm8,%ymm8
25067  .byte  196,65,52,89,192                    // vmulps        %ymm8,%ymm9,%ymm8
25068  .byte  197,124,17,128,160,0,0,0            // vmovups       %ymm8,0xa0(%rax)
25069  .byte  72,173                              // lods          %ds:(%rsi),%rax
25070  .byte  255,224                             // jmpq          *%rax
25071
25072HIDDEN _sk_callback_avx
25073.globl _sk_callback_avx
25074FUNCTION(_sk_callback_avx)
25075_sk_callback_avx:
25076  .byte  85                                  // push          %rbp
25077  .byte  72,137,229                          // mov           %rsp,%rbp
25078  .byte  65,87                               // push          %r15
25079  .byte  65,86                               // push          %r14
25080  .byte  65,85                               // push          %r13
25081  .byte  65,84                               // push          %r12
25082  .byte  83                                  // push          %rbx
25083  .byte  72,131,228,224                      // and           $0xffffffffffffffe0,%rsp
25084  .byte  72,129,236,192,0,0,0                // sub           $0xc0,%rsp
25085  .byte  197,252,41,188,36,128,0,0,0         // vmovaps       %ymm7,0x80(%rsp)
25086  .byte  197,252,41,116,36,96                // vmovaps       %ymm6,0x60(%rsp)
25087  .byte  197,252,41,108,36,64                // vmovaps       %ymm5,0x40(%rsp)
25088  .byte  197,252,41,100,36,32                // vmovaps       %ymm4,0x20(%rsp)
25089  .byte  76,137,195                          // mov           %r8,%rbx
25090  .byte  72,137,76,36,24                     // mov           %rcx,0x18(%rsp)
25091  .byte  73,137,215                          // mov           %rdx,%r15
25092  .byte  73,137,252                          // mov           %rdi,%r12
25093  .byte  72,173                              // lods          %ds:(%rsi),%rax
25094  .byte  73,137,198                          // mov           %rax,%r14
25095  .byte  73,137,245                          // mov           %rsi,%r13
25096  .byte  197,252,20,225                      // vunpcklps     %ymm1,%ymm0,%ymm4
25097  .byte  197,252,21,193                      // vunpckhps     %ymm1,%ymm0,%ymm0
25098  .byte  197,236,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm1
25099  .byte  197,236,21,211                      // vunpckhps     %ymm3,%ymm2,%ymm2
25100  .byte  197,221,20,217                      // vunpcklpd     %ymm1,%ymm4,%ymm3
25101  .byte  197,221,21,201                      // vunpckhpd     %ymm1,%ymm4,%ymm1
25102  .byte  197,253,20,226                      // vunpcklpd     %ymm2,%ymm0,%ymm4
25103  .byte  197,253,21,194                      // vunpckhpd     %ymm2,%ymm0,%ymm0
25104  .byte  196,227,101,24,209,1                // vinsertf128   $0x1,%xmm1,%ymm3,%ymm2
25105  .byte  196,227,93,24,232,1                 // vinsertf128   $0x1,%xmm0,%ymm4,%ymm5
25106  .byte  196,227,101,6,201,49                // vperm2f128    $0x31,%ymm1,%ymm3,%ymm1
25107  .byte  196,227,93,6,192,49                 // vperm2f128    $0x31,%ymm0,%ymm4,%ymm0
25108  .byte  196,193,125,17,86,8                 // vmovupd       %ymm2,0x8(%r14)
25109  .byte  196,193,125,17,110,40               // vmovupd       %ymm5,0x28(%r14)
25110  .byte  196,193,125,17,78,72                // vmovupd       %ymm1,0x48(%r14)
25111  .byte  196,193,125,17,70,104               // vmovupd       %ymm0,0x68(%r14)
25112  .byte  72,133,219                          // test          %rbx,%rbx
25113  .byte  190,8,0,0,0                         // mov           $0x8,%esi
25114  .byte  15,69,243                           // cmovne        %ebx,%esi
25115  .byte  76,137,247                          // mov           %r14,%rdi
25116  .byte  197,248,119                         // vzeroupper
25117  .byte  65,255,22                           // callq         *(%r14)
25118  .byte  73,139,134,136,0,0,0                // mov           0x88(%r14),%rax
25119  .byte  197,248,16,0                        // vmovups       (%rax),%xmm0
25120  .byte  197,248,16,72,16                    // vmovups       0x10(%rax),%xmm1
25121  .byte  197,248,16,80,32                    // vmovups       0x20(%rax),%xmm2
25122  .byte  197,248,16,88,48                    // vmovups       0x30(%rax),%xmm3
25123  .byte  196,227,101,24,88,112,1             // vinsertf128   $0x1,0x70(%rax),%ymm3,%ymm3
25124  .byte  196,227,109,24,80,96,1              // vinsertf128   $0x1,0x60(%rax),%ymm2,%ymm2
25125  .byte  196,227,117,24,72,80,1              // vinsertf128   $0x1,0x50(%rax),%ymm1,%ymm1
25126  .byte  196,227,125,24,64,64,1              // vinsertf128   $0x1,0x40(%rax),%ymm0,%ymm0
25127  .byte  197,252,20,225                      // vunpcklps     %ymm1,%ymm0,%ymm4
25128  .byte  197,252,21,233                      // vunpckhps     %ymm1,%ymm0,%ymm5
25129  .byte  197,236,20,203                      // vunpcklps     %ymm3,%ymm2,%ymm1
25130  .byte  197,236,21,219                      // vunpckhps     %ymm3,%ymm2,%ymm3
25131  .byte  197,221,20,193                      // vunpcklpd     %ymm1,%ymm4,%ymm0
25132  .byte  197,221,21,201                      // vunpckhpd     %ymm1,%ymm4,%ymm1
25133  .byte  197,213,20,211                      // vunpcklpd     %ymm3,%ymm5,%ymm2
25134  .byte  197,213,21,219                      // vunpckhpd     %ymm3,%ymm5,%ymm3
25135  .byte  76,137,238                          // mov           %r13,%rsi
25136  .byte  72,173                              // lods          %ds:(%rsi),%rax
25137  .byte  76,137,231                          // mov           %r12,%rdi
25138  .byte  76,137,250                          // mov           %r15,%rdx
25139  .byte  72,139,76,36,24                     // mov           0x18(%rsp),%rcx
25140  .byte  73,137,216                          // mov           %rbx,%r8
25141  .byte  197,252,40,100,36,32                // vmovaps       0x20(%rsp),%ymm4
25142  .byte  197,252,40,108,36,64                // vmovaps       0x40(%rsp),%ymm5
25143  .byte  197,252,40,116,36,96                // vmovaps       0x60(%rsp),%ymm6
25144  .byte  197,252,40,188,36,128,0,0,0         // vmovaps       0x80(%rsp),%ymm7
25145  .byte  72,141,101,216                      // lea           -0x28(%rbp),%rsp
25146  .byte  91                                  // pop           %rbx
25147  .byte  65,92                               // pop           %r12
25148  .byte  65,93                               // pop           %r13
25149  .byte  65,94                               // pop           %r14
25150  .byte  65,95                               // pop           %r15
25151  .byte  93                                  // pop           %rbp
25152  .byte  255,224                             // jmpq          *%rax
25153
25154BALIGN4
25155  .byte  0,0                                 // add           %al,(%rax)
25156  .byte  0,63                                // add           %bh,(%rdi)
25157  .byte  0,0                                 // add           %al,(%rax)
25158  .byte  128,63,1                            // cmpb          $0x1,(%rdi)
25159  .byte  0,0                                 // add           %al,(%rax)
25160  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
25161  .byte  0,0                                 // add           %al,(%rax)
25162  .byte  2,0                                 // add           (%rax),%al
25163  .byte  0,0                                 // add           %al,(%rax)
25164  .byte  0,0                                 // add           %al,(%rax)
25165  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
25166  .byte  252                                 // cld
25167  .byte  190,0,0,128,63                      // mov           $0x3f800000,%esi
25168  .byte  0,0                                 // add           %al,(%rax)
25169  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
25170  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
25171  .byte  63                                  // (bad)
25172  .byte  0,0                                 // add           %al,(%rax)
25173  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
25174  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
25175  .byte  63                                  // (bad)
25176  .byte  0,0                                 // add           %al,(%rax)
25177  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
25178  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
25179  .byte  63                                  // (bad)
25180  .byte  0,0                                 // add           %al,(%rax)
25181  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
25182  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
25183  .byte  63                                  // (bad)
25184  .byte  0,0                                 // add           %al,(%rax)
25185  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
25186  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
25187  .byte  63                                  // (bad)
25188  .byte  0,0                                 // add           %al,(%rax)
25189  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
25190  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
25191  .byte  63                                  // (bad)
25192  .byte  0,0                                 // add           %al,(%rax)
25193  .byte  128,191,0,0,224,64,154              // cmpb          $0x9a,0x40e00000(%rdi)
25194  .byte  153                                 // cltd
25195  .byte  153                                 // cltd
25196  .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
25197  .byte  71,225,61                           // rex.RXB       loope 79ad <.literal4+0xb9>
25198  .byte  0,0                                 // add           %al,(%rax)
25199  .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
25200  .byte  153                                 // cltd
25201  .byte  153                                 // cltd
25202  .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
25203  .byte  71,225,61                           // rex.RXB       loope 79bd <.literal4+0xc9>
25204  .byte  0,0                                 // add           %al,(%rax)
25205  .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
25206  .byte  153                                 // cltd
25207  .byte  153                                 // cltd
25208  .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
25209  .byte  71,225,61                           // rex.RXB       loope 79cd <.literal4+0xd9>
25210  .byte  0,0                                 // add           %al,(%rax)
25211  .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
25212  .byte  153                                 // cltd
25213  .byte  153                                 // cltd
25214  .byte  62,61,10,23,63,174                  // ds            cmp $0xae3f170a,%eax
25215  .byte  71,225,61                           // rex.RXB       loope 79dd <.literal4+0xe9>
25216  .byte  0,0                                 // add           %al,(%rax)
25217  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
25218  .byte  0,128,63,0,0,127                    // add           %al,0x7f00003f(%rax)
25219  .byte  67,0,0                              // rex.XB        add %al,(%r8)
25220  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
25221  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
25222  .byte  63                                  // (bad)
25223  .byte  0,0                                 // add           %al,(%rax)
25224  .byte  128,63,145                          // cmpb          $0x91,(%rdi)
25225  .byte  131,158,61,154,153,153,62           // sbbl          $0x3e,-0x666665c3(%rsi)
25226  .byte  92                                  // pop           %rsp
25227  .byte  143                                 // (bad)
25228  .byte  50,63                               // xor           (%rdi),%bh
25229  .byte  10,215                              // or            %bh,%dl
25230  .byte  35,59                               // and           (%rbx),%edi
25231  .byte  174                                 // scas          %es:(%rdi),%al
25232  .byte  71,97                               // rex.RXB       (bad)
25233  .byte  61,145,131,158,61                   // cmp           $0x3d9e8391,%eax
25234  .byte  154                                 // (bad)
25235  .byte  153                                 // cltd
25236  .byte  153                                 // cltd
25237  .byte  62,92                               // ds            pop %rsp
25238  .byte  143                                 // (bad)
25239  .byte  50,63                               // xor           (%rdi),%bh
25240  .byte  10,215                              // or            %bh,%dl
25241  .byte  35,59                               // and           (%rbx),%edi
25242  .byte  174                                 // scas          %es:(%rdi),%al
25243  .byte  71,97                               // rex.RXB       (bad)
25244  .byte  61,82,184,78,65                     // cmp           $0x414eb852,%eax
25245  .byte  57,215                              // cmp           %edx,%edi
25246  .byte  32,187,186,159,98,60                // and           %bh,0x3c629fba(%rbx)
25247  .byte  109                                 // insl          (%dx),%es:(%rdi)
25248  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
25249  .byte  144                                 // nop
25250  .byte  63                                  // (bad)
25251  .byte  252                                 // cld
25252  .byte  191,16,62,168,177                   // mov           $0xb1a83e10,%edi
25253  .byte  152                                 // cwtl
25254  .byte  59,0                                // cmp           (%rax),%eax
25255  .byte  0,128,63,0,0,192                    // add           %al,-0x3fffffc1(%rax)
25256  .byte  64,0,0                              // add           %al,(%rax)
25257  .byte  0,64,0                              // add           %al,0x0(%rax)
25258  .byte  0,128,64,171,170,42                 // add           %al,0x2aaaab40(%rax)
25259  .byte  62,0,0                              // add           %al,%ds:(%rax)
25260  .byte  0,63                                // add           %bh,(%rdi)
25261  .byte  0,0                                 // add           %al,(%rax)
25262  .byte  0,63                                // add           %bh,(%rdi)
25263  .byte  171                                 // stos          %eax,%es:(%rdi)
25264  .byte  170                                 // stos          %al,%es:(%rdi)
25265  .byte  170                                 // stos          %al,%es:(%rdi)
25266  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
25267  .byte  170                                 // stos          %al,%es:(%rdi)
25268  .byte  42,63                               // sub           (%rdi),%bh
25269  .byte  0,0                                 // add           %al,(%rax)
25270  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
25271  .byte  128,64,171,170                      // addb          $0xaa,-0x55(%rax)
25272  .byte  42,62                               // sub           (%rsi),%bh
25273  .byte  171                                 // stos          %eax,%es:(%rdi)
25274  .byte  170                                 // stos          %al,%es:(%rdi)
25275  .byte  170                                 // stos          %al,%es:(%rdi)
25276  .byte  190,129,128,128,59                  // mov           $0x3b808081,%esi
25277  .byte  129,128,128,59,0,248,0,0,8,33       // addl          $0x21080000,-0x7ffc480(%rax)
25278  .byte  132,55                              // test          %dh,(%rdi)
25279  .byte  224,7                               // loopne        7a49 <.literal4+0x155>
25280  .byte  0,0                                 // add           %al,(%rax)
25281  .byte  33,8                                // and           %ecx,(%rax)
25282  .byte  2,58                                // add           (%rdx),%bh
25283  .byte  31                                  // (bad)
25284  .byte  0,0                                 // add           %al,(%rax)
25285  .byte  0,8                                 // add           %cl,(%rax)
25286  .byte  33,4,61,129,128,128,59              // and           %eax,0x3b808081(,%rdi,1)
25287  .byte  128,0,128                           // addb          $0x80,(%rax)
25288  .byte  55                                  // (bad)
25289  .byte  0,0                                 // add           %al,(%rax)
25290  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
25291  .byte  0,127,67                            // add           %bh,0x43(%rdi)
25292  .byte  129,128,128,59,129,128,128,59,0,0   // addl          $0x3b80,-0x7f7ec480(%rax)
25293  .byte  0,52,255                            // add           %dh,(%rdi,%rdi,8)
25294  .byte  255                                 // (bad)
25295  .byte  127,0                               // jg            7a70 <.literal4+0x17c>
25296  .byte  0,0                                 // add           %al,(%rax)
25297  .byte  0,63                                // add           %bh,(%rdi)
25298  .byte  119,115                             // ja            7ae9 <.literal4+0x1f5>
25299  .byte  248                                 // clc
25300  .byte  194,117,191                         // retq          $0xbf75
25301  .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
25302  .byte  62,163,233,220,63,81,140,242,66,141 // movabs        %eax,%ds:0x8d42f28c513fdce9
25303  .byte  188,190,63,248,245                  // mov           $0xf5f83fbe,%esp
25304  .byte  154                                 // (bad)
25305  .byte  64,254                              // rex           (bad)
25306  .byte  210,221                             // rcr           %cl,%ch
25307  .byte  65,0,0                              // add           %al,(%r8)
25308  .byte  0,75,0                              // add           %cl,0x0(%rbx)
25309  .byte  0,128,63,0,0,0                      // add           %al,0x3f(%rax)
25310  .byte  52,255                              // xor           $0xff,%al
25311  .byte  255                                 // (bad)
25312  .byte  127,0                               // jg            7aa4 <.literal4+0x1b0>
25313  .byte  0,0                                 // add           %al,(%rax)
25314  .byte  0,63                                // add           %bh,(%rdi)
25315  .byte  119,115                             // ja            7b1d <.literal4+0x229>
25316  .byte  248                                 // clc
25317  .byte  194,117,191                         // retq          $0xbf75
25318  .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
25319  .byte  62,163,233,220,63,81,140,242,66,141 // movabs        %eax,%ds:0x8d42f28c513fdce9
25320  .byte  188,190,63,248,245                  // mov           $0xf5f83fbe,%esp
25321  .byte  154                                 // (bad)
25322  .byte  64,254                              // rex           (bad)
25323  .byte  210,221                             // rcr           %cl,%ch
25324  .byte  65,0,0                              // add           %al,(%r8)
25325  .byte  0,75,0                              // add           %cl,0x0(%rbx)
25326  .byte  0,128,63,0,0,0                      // add           %al,0x3f(%rax)
25327  .byte  52,255                              // xor           $0xff,%al
25328  .byte  255                                 // (bad)
25329  .byte  127,0                               // jg            7ad8 <.literal4+0x1e4>
25330  .byte  0,0                                 // add           %al,(%rax)
25331  .byte  0,63                                // add           %bh,(%rdi)
25332  .byte  119,115                             // ja            7b51 <.literal4+0x25d>
25333  .byte  248                                 // clc
25334  .byte  194,117,191                         // retq          $0xbf75
25335  .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
25336  .byte  62,163,233,220,63,81,140,242,66,141 // movabs        %eax,%ds:0x8d42f28c513fdce9
25337  .byte  188,190,63,248,245                  // mov           $0xf5f83fbe,%esp
25338  .byte  154                                 // (bad)
25339  .byte  64,254                              // rex           (bad)
25340  .byte  210,221                             // rcr           %cl,%ch
25341  .byte  65,0,0                              // add           %al,(%r8)
25342  .byte  0,75,0                              // add           %cl,0x0(%rbx)
25343  .byte  0,128,63,0,0,0                      // add           %al,0x3f(%rax)
25344  .byte  52,255                              // xor           $0xff,%al
25345  .byte  255                                 // (bad)
25346  .byte  127,0                               // jg            7b0c <.literal4+0x218>
25347  .byte  0,0                                 // add           %al,(%rax)
25348  .byte  0,63                                // add           %bh,(%rdi)
25349  .byte  119,115                             // ja            7b85 <.literal4+0x291>
25350  .byte  248                                 // clc
25351  .byte  194,117,191                         // retq          $0xbf75
25352  .byte  191,63,249,68,180                   // mov           $0xb444f93f,%edi
25353  .byte  62,163,233,220,63,81,140,242,66,141 // movabs        %eax,%ds:0x8d42f28c513fdce9
25354  .byte  188,190,63,248,245                  // mov           $0xf5f83fbe,%esp
25355  .byte  154                                 // (bad)
25356  .byte  64,254                              // rex           (bad)
25357  .byte  210,221                             // rcr           %cl,%ch
25358  .byte  65,0,0                              // add           %al,(%r8)
25359  .byte  0,75,0                              // add           %cl,0x0(%rbx)
25360  .byte  0,128,63,0,0,200                    // add           %al,-0x37ffffc1(%rax)
25361  .byte  66,0,0                              // rex.X         add %al,(%rax)
25362  .byte  127,67                              // jg            7b83 <.literal4+0x28f>
25363  .byte  0,0                                 // add           %al,(%rax)
25364  .byte  0,195                               // add           %al,%bl
25365  .byte  0,0                                 // add           %al,(%rax)
25366  .byte  128,65,203,61                       // addb          $0x3d,-0x35(%rcx)
25367  .byte  13,60,111,18,3                      // or            $0x3126f3c,%eax
25368  .byte  59,10                               // cmp           (%rdx),%ecx
25369  .byte  215                                 // xlat          %ds:(%rbx)
25370  .byte  163,59,194,24,17,60,203,61,13       // movabs        %eax,0xd3dcb3c1118c23b
25371  .byte  190,80,128,3,62                     // mov           $0x3e038050,%esi
25372  .byte  31                                  // (bad)
25373  .byte  215                                 // xlat          %ds:(%rbx)
25374  .byte  118,63                              // jbe           7ba3 <.literal4+0x2af>
25375  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
25376  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
25377  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
25378  .byte  0,127,67                            // add           %bh,0x43(%rdi)
25379  .byte  129,128,128,59,0,0,128,63,129,128   // addl          $0x80813f80,0x3b80(%rax)
25380  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
25381  .byte  0,128,63,129,128,128                // add           %al,-0x7f7f7ec1(%rax)
25382  .byte  59,0                                // cmp           (%rax),%eax
25383  .byte  0,128,63,0,248,0                    // add           %al,0xf8003f(%rax)
25384  .byte  0,8                                 // add           %cl,(%rax)
25385  .byte  33,132,55,224,7,0,0                 // and           %eax,0x7e0(%rdi,%rsi,1)
25386  .byte  33,8                                // and           %ecx,(%rax)
25387  .byte  2,58                                // add           (%rdx),%bh
25388  .byte  31                                  // (bad)
25389  .byte  0,0                                 // add           %al,(%rax)
25390  .byte  0,8                                 // add           %cl,(%rax)
25391  .byte  33,4,61,0,0,128,63                  // and           %eax,0x3f800000(,%rdi,1)
25392  .byte  0,248                               // add           %bh,%al
25393  .byte  0,0                                 // add           %al,(%rax)
25394  .byte  8,33                                // or            %ah,(%rcx)
25395  .byte  132,55                              // test          %dh,(%rdi)
25396  .byte  224,7                               // loopne        7bbd <.literal4+0x2c9>
25397  .byte  0,0                                 // add           %al,(%rax)
25398  .byte  33,8                                // and           %ecx,(%rax)
25399  .byte  2,58                                // add           (%rdx),%bh
25400  .byte  31                                  // (bad)
25401  .byte  0,0                                 // add           %al,(%rax)
25402  .byte  0,8                                 // add           %cl,(%rax)
25403  .byte  33,4,61,0,0,128,63                  // and           %eax,0x3f800000(,%rdi,1)
25404  .byte  0,248                               // add           %bh,%al
25405  .byte  0,0                                 // add           %al,(%rax)
25406  .byte  8,33                                // or            %ah,(%rcx)
25407  .byte  132,55                              // test          %dh,(%rdi)
25408  .byte  224,7                               // loopne        7bd9 <.literal4+0x2e5>
25409  .byte  0,0                                 // add           %al,(%rax)
25410  .byte  33,8                                // and           %ecx,(%rax)
25411  .byte  2,58                                // add           (%rdx),%bh
25412  .byte  31                                  // (bad)
25413  .byte  0,0                                 // add           %al,(%rax)
25414  .byte  0,8                                 // add           %cl,(%rax)
25415  .byte  33,4,61,0,0,128,63                  // and           %eax,0x3f800000(,%rdi,1)
25416  .byte  0,0                                 // add           %al,(%rax)
25417  .byte  248                                 // clc
25418  .byte  65,0,0                              // add           %al,(%r8)
25419  .byte  124,66                              // jl            7c2e <.literal4+0x33a>
25420  .byte  0,240                               // add           %dh,%al
25421  .byte  0,0                                 // add           %al,(%rax)
25422  .byte  137,136,136,55,0,15                 // mov           %ecx,0xf003788(%rax)
25423  .byte  0,0                                 // add           %al,(%rax)
25424  .byte  137,136,136,57,240,0                // mov           %ecx,0xf03988(%rax)
25425  .byte  0,0                                 // add           %al,(%rax)
25426  .byte  137,136,136,59,15,0                 // mov           %ecx,0xf3b88(%rax)
25427  .byte  0,0                                 // add           %al,(%rax)
25428  .byte  137,136,136,61,0,240                // mov           %ecx,-0xfffc278(%rax)
25429  .byte  0,0                                 // add           %al,(%rax)
25430  .byte  137,136,136,55,0,15                 // mov           %ecx,0xf003788(%rax)
25431  .byte  0,0                                 // add           %al,(%rax)
25432  .byte  137,136,136,57,240,0                // mov           %ecx,0xf03988(%rax)
25433  .byte  0,0                                 // add           %al,(%rax)
25434  .byte  137,136,136,59,15,0                 // mov           %ecx,0xf3b88(%rax)
25435  .byte  0,0                                 // add           %al,(%rax)
25436  .byte  137,136,136,61,0,240                // mov           %ecx,-0xfffc278(%rax)
25437  .byte  0,0                                 // add           %al,(%rax)
25438  .byte  137,136,136,55,0,15                 // mov           %ecx,0xf003788(%rax)
25439  .byte  0,0                                 // add           %al,(%rax)
25440  .byte  137,136,136,57,240,0                // mov           %ecx,0xf03988(%rax)
25441  .byte  0,0                                 // add           %al,(%rax)
25442  .byte  137,136,136,59,15,0                 // mov           %ecx,0xf3b88(%rax)
25443  .byte  0,0                                 // add           %al,(%rax)
25444  .byte  137,136,136,61,0,0                  // mov           %ecx,0x3d88(%rax)
25445  .byte  112,65                              // jo            7c91 <.literal4+0x39d>
25446  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
25447  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
25448  .byte  0,127,67                            // add           %bh,0x43(%rdi)
25449  .byte  0,0                                 // add           %al,(%rax)
25450  .byte  127,67                              // jg            7ca7 <.literal4+0x3b3>
25451  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
25452  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
25453  .byte  0,127,67                            // add           %bh,0x43(%rdi)
25454  .byte  0,128,0,0,0,0                       // add           %al,0x0(%rax)
25455  .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%rax)
25456  .byte  0,0                                 // add           %al,(%rax)
25457  .byte  0,56                                // add           %bh,(%rax)
25458  .byte  0,128,0,0,0,0                       // add           %al,0x0(%rax)
25459  .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%rax)
25460  .byte  0,0                                 // add           %al,(%rax)
25461  .byte  0,56                                // add           %bh,(%rax)
25462  .byte  0,128,0,0,0,0                       // add           %al,0x0(%rax)
25463  .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%rax)
25464  .byte  0,0                                 // add           %al,(%rax)
25465  .byte  0,56                                // add           %bh,(%rax)
25466  .byte  0,0                                 // add           %al,(%rax)
25467  .byte  0,128,0,0,128,56                    // add           %al,0x38800000(%rax)
25468  .byte  0,64,254                            // add           %al,-0x2(%rax)
25469  .byte  255,128,0,128,55,128                // incl          -0x7fc88000(%rax)
25470  .byte  0,128,55,0,0,128                    // add           %al,-0x7fffffc9(%rax)
25471  .byte  63                                  // (bad)
25472  .byte  0,255                               // add           %bh,%bh
25473  .byte  127,71                              // jg            7d07 <.literal4+0x413>
25474  .byte  0,0                                 // add           %al,(%rax)
25475  .byte  0,63                                // add           %bh,(%rdi)
25476  .byte  0,0                                 // add           %al,(%rax)
25477  .byte  0,63                                // add           %bh,(%rdi)
25478  .byte  0,0                                 // add           %al,(%rax)
25479  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
25480  .byte  0,128,191,0,0,0                     // add           %al,0xbf(%rax)
25481  .byte  63                                  // (bad)
25482  .byte  208                                 // (bad)
25483  .byte  179,89                              // mov           $0x59,%bl
25484  .byte  62,89                               // ds            pop %rcx
25485  .byte  23                                  // (bad)
25486  .byte  55                                  // (bad)
25487  .byte  63                                  // (bad)
25488  .byte  152                                 // cwtl
25489  .byte  221,147,61,45,16,17                 // fstl          0x11102d3d(%rbx)
25490  .byte  192,18,120                          // rclb          $0x78,(%rdx)
25491  .byte  57,64,32                            // cmp           %eax,0x20(%rax)
25492  .byte  148                                 // xchg          %eax,%esp
25493  .byte  90                                  // pop           %rdx
25494  .byte  62,4,157                            // ds            add $0x9d,%al
25495  .byte  30                                  // (bad)
25496  .byte  62,0,24                             // add           %bl,%ds:(%rax)
25497  .byte  161,57,1,0,0,0,111,43,231           // movabs        0xe72b6f0000000139,%eax
25498  .byte  187,159,215,202,60                  // mov           $0x3ccad79f,%ebx
25499  .byte  212                                 // (bad)
25500  .byte  100,84                              // fs            push %rsp
25501  .byte  189,169,240,34,62                   // mov           $0x3e22f0a9,%ebp
25502  .byte  0,0                                 // add           %al,(%rax)
25503  .byte  128,62,0                            // cmpb          $0x0,(%rsi)
25504  .byte  0,0                                 // add           %al,(%rax)
25505  .byte  63                                  // (bad)
25506  .byte  0,0                                 // add           %al,(%rax)
25507  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
25508  .byte  0,0                                 // add           %al,(%rax)
25509  .byte  192,0,0                             // rolb          $0x0,(%rax)
25510  .byte  128,192,0                           // add           $0x0,%al
25511  .byte  0,0                                 // add           %al,(%rax)
25512  .byte  128,0,0                             // addb          $0x0,(%rax)
25513  .byte  0,63                                // add           %bh,(%rdi)
25514  .byte  0,0                                 // add           %al,(%rax)
25515  .byte  0,192                               // add           %al,%al
25516  .byte  0,0                                 // add           %al,(%rax)
25517  .byte  128,192,0                           // add           $0x0,%al
25518  .byte  0,0                                 // add           %al,(%rax)
25519  .byte  128,0,0                             // addb          $0x0,(%rax)
25520  .byte  0,63                                // add           %bh,(%rdi)
25521  .byte  0,0                                 // add           %al,(%rax)
25522  .byte  0,192                               // add           %al,%al
25523  .byte  0,0                                 // add           %al,(%rax)
25524  .byte  0,128,0,0,0,63                      // add           %al,0x3f000000(%rax)
25525  .byte  0,0                                 // add           %al,(%rax)
25526  .byte  0,191,0,0,128,63                    // add           %bh,0x3f800000(%rdi)
25527  .byte  0,0                                 // add           %al,(%rax)
25528  .byte  0,63                                // add           %bh,(%rdi)
25529  .byte  0,0                                 // add           %al,(%rax)
25530  .byte  0,191,0,0,128,63                    // add           %bh,0x3f800000(%rdi)
25531  .byte  0,0                                 // add           %al,(%rax)
25532  .byte  0,63                                // add           %bh,(%rdi)
25533  .byte  0,0                                 // add           %al,(%rax)
25534  .byte  192,191,0,0,128,63,114              // sarb          $0x72,0x3f800000(%rdi)
25535  .byte  28,199                              // sbb           $0xc7,%al
25536  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
25537  .byte  170                                 // stos          %al,%es:(%rdi)
25538  .byte  170                                 // stos          %al,%es:(%rdi)
25539  .byte  190,0,0,0,191                       // mov           $0xbf000000,%esi
25540  .byte  0,0                                 // add           %al,(%rax)
25541  .byte  128,63,85                           // cmpb          $0x55,(%rdi)
25542  .byte  85                                  // push          %rbp
25543  .byte  149                                 // xchg          %eax,%ebp
25544  .byte  191,0,0,192,63                      // mov           $0x3fc00000,%edi
25545  .byte  0,0                                 // add           %al,(%rax)
25546  .byte  0,63                                // add           %bh,(%rdi)
25547  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
25548  .byte  0,63                                // add           %bh,(%rdi)
25549  .byte  85                                  // push          %rbp
25550  .byte  85                                  // push          %rbp
25551  .byte  149                                 // xchg          %eax,%ebp
25552  .byte  191,0,0,192,63                      // mov           $0x3fc00000,%edi
25553  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
25554  .byte  192,63,114                          // sarb          $0x72,(%rdi)
25555  .byte  28,199                              // sbb           $0xc7,%al
25556  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
25557  .byte  170                                 // stos          %al,%es:(%rdi)
25558  .byte  170                                 // stos          %al,%es:(%rdi)
25559  .byte  190,0,0,192,191                     // mov           $0xbfc00000,%esi
25560  .byte  0,0                                 // add           %al,(%rax)
25561  .byte  128,63,114                          // cmpb          $0x72,(%rdi)
25562  .byte  28,199                              // sbb           $0xc7,%al
25563  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
25564  .byte  170                                 // stos          %al,%es:(%rdi)
25565  .byte  170                                 // stos          %al,%es:(%rdi)
25566  .byte  190,0,0,0,191                       // mov           $0xbf000000,%esi
25567  .byte  0,0                                 // add           %al,(%rax)
25568  .byte  128,63,85                           // cmpb          $0x55,(%rdi)
25569  .byte  85                                  // push          %rbp
25570  .byte  149                                 // xchg          %eax,%ebp
25571  .byte  191,0,0,192,63                      // mov           $0x3fc00000,%edi
25572  .byte  0,0                                 // add           %al,(%rax)
25573  .byte  0,63                                // add           %bh,(%rdi)
25574  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
25575  .byte  0,63                                // add           %bh,(%rdi)
25576  .byte  85                                  // push          %rbp
25577  .byte  85                                  // push          %rbp
25578  .byte  149                                 // xchg          %eax,%ebp
25579  .byte  191,0,0,192,63                      // mov           $0x3fc00000,%edi
25580  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
25581  .byte  192,63,114                          // sarb          $0x72,(%rdi)
25582  .byte  28,199                              // sbb           $0xc7,%al
25583  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
25584  .byte  170                                 // stos          %al,%es:(%rdi)
25585  .byte  170                                 // stos          %al,%es:(%rdi)
25586  .byte  190                                 // .byte         0xbe
25587
25588BALIGN16
25589  .byte  0,2                                 // add           %al,(%rdx)
25590  .byte  4,6                                 // add           $0x6,%al
25591  .byte  0,0                                 // add           %al,(%rax)
25592  .byte  0,0                                 // add           %al,(%rax)
25593  .byte  0,0                                 // add           %al,(%rax)
25594  .byte  0,0                                 // add           %al,(%rax)
25595  .byte  0,0                                 // add           %al,(%rax)
25596  .byte  0,0                                 // add           %al,(%rax)
25597  .byte  8,10                                // or            %cl,(%rdx)
25598  .byte  12,14                               // or            $0xe,%al
25599  .byte  0,0                                 // add           %al,(%rax)
25600  .byte  0,0                                 // add           %al,(%rax)
25601  .byte  0,0                                 // add           %al,(%rax)
25602  .byte  0,0                                 // add           %al,(%rax)
25603  .byte  0,0                                 // add           %al,(%rax)
25604  .byte  0,0                                 // add           %al,(%rax)
25605  .byte  255,0                               // incl          (%rax)
25606  .byte  255,0                               // incl          (%rax)
25607  .byte  255,0                               // incl          (%rax)
25608  .byte  255,0                               // incl          (%rax)
25609  .byte  255,0                               // incl          (%rax)
25610  .byte  255,0                               // incl          (%rax)
25611  .byte  255,0                               // incl          (%rax)
25612  .byte  255,0                               // incl          (%rax)
25613  .byte  255,0                               // incl          (%rax)
25614  .byte  255,0                               // incl          (%rax)
25615  .byte  255,0                               // incl          (%rax)
25616  .byte  255,0                               // incl          (%rax)
25617  .byte  255,0                               // incl          (%rax)
25618  .byte  255,0                               // incl          (%rax)
25619  .byte  255,0                               // incl          (%rax)
25620  .byte  255,0                               // incl          (%rax)
25621  .byte  0,2                                 // add           %al,(%rdx)
25622  .byte  4,6                                 // add           $0x6,%al
25623  .byte  0,0                                 // add           %al,(%rax)
25624  .byte  0,0                                 // add           %al,(%rax)
25625  .byte  0,0                                 // add           %al,(%rax)
25626  .byte  0,0                                 // add           %al,(%rax)
25627  .byte  0,0                                 // add           %al,(%rax)
25628  .byte  0,0                                 // add           %al,(%rax)
25629  .byte  8,10                                // or            %cl,(%rdx)
25630  .byte  12,14                               // or            $0xe,%al
25631  .byte  0,0                                 // add           %al,(%rax)
25632  .byte  0,0                                 // add           %al,(%rax)
25633  .byte  0,0                                 // add           %al,(%rax)
25634  .byte  0,0                                 // add           %al,(%rax)
25635  .byte  0,0                                 // add           %al,(%rax)
25636  .byte  0,0                                 // add           %al,(%rax)
25637  .byte  255,0                               // incl          (%rax)
25638  .byte  255,0                               // incl          (%rax)
25639  .byte  255,0                               // incl          (%rax)
25640  .byte  255,0                               // incl          (%rax)
25641  .byte  255,0                               // incl          (%rax)
25642  .byte  255,0                               // incl          (%rax)
25643  .byte  255,0                               // incl          (%rax)
25644  .byte  255,0                               // incl          (%rax)
25645  .byte  255,0                               // incl          (%rax)
25646  .byte  255,0                               // incl          (%rax)
25647  .byte  255,0                               // incl          (%rax)
25648  .byte  255,0                               // incl          (%rax)
25649  .byte  255,0                               // incl          (%rax)
25650  .byte  255,0                               // incl          (%rax)
25651  .byte  255,0                               // incl          (%rax)
25652  .byte  255,0                               // incl          (%rax)
25653  .byte  255,0                               // incl          (%rax)
25654  .byte  255,0                               // incl          (%rax)
25655  .byte  255,0                               // incl          (%rax)
25656  .byte  255,0                               // incl          (%rax)
25657  .byte  255,0                               // incl          (%rax)
25658  .byte  255,0                               // incl          (%rax)
25659  .byte  255,0                               // incl          (%rax)
25660  .byte  255,0                               // incl          (%rax)
25661  .byte  255,0                               // incl          (%rax)
25662  .byte  255,0                               // incl          (%rax)
25663  .byte  255,0                               // incl          (%rax)
25664  .byte  255,0                               // incl          (%rax)
25665  .byte  255,0                               // incl          (%rax)
25666  .byte  255,0                               // incl          (%rax)
25667  .byte  255,0                               // incl          (%rax)
25668  .byte  255,0                               // incl          (%rax)
25669  .byte  0,2                                 // add           %al,(%rdx)
25670  .byte  0,0                                 // add           %al,(%rax)
25671  .byte  0,0                                 // add           %al,(%rax)
25672  .byte  0,0                                 // add           %al,(%rax)
25673  .byte  0,0                                 // add           %al,(%rax)
25674  .byte  0,0                                 // add           %al,(%rax)
25675  .byte  0,0                                 // add           %al,(%rax)
25676  .byte  0,0                                 // add           %al,(%rax)
25677  .byte  0,2                                 // add           %al,(%rdx)
25678  .byte  4,6                                 // add           $0x6,%al
25679  .byte  0,0                                 // add           %al,(%rax)
25680  .byte  0,0                                 // add           %al,(%rax)
25681  .byte  0,0                                 // add           %al,(%rax)
25682  .byte  0,0                                 // add           %al,(%rax)
25683  .byte  0,0                                 // add           %al,(%rax)
25684  .byte  0,0                                 // add           %al,(%rax)
25685  .byte  255,0                               // incl          (%rax)
25686  .byte  255,0                               // incl          (%rax)
25687  .byte  255,0                               // incl          (%rax)
25688  .byte  255,0                               // incl          (%rax)
25689  .byte  255,0                               // incl          (%rax)
25690  .byte  255,0                               // incl          (%rax)
25691  .byte  255,0                               // incl          (%rax)
25692  .byte  255,0                               // incl          (%rax)
25693  .byte  255,0                               // incl          (%rax)
25694  .byte  255,0                               // incl          (%rax)
25695  .byte  255,0                               // incl          (%rax)
25696  .byte  255,0                               // incl          (%rax)
25697  .byte  255,0                               // incl          (%rax)
25698  .byte  255,0                               // incl          (%rax)
25699  .byte  255,0                               // incl          (%rax)
25700  .byte  255,0                               // incl          (%rax)
25701  .byte  0,2                                 // add           %al,(%rdx)
25702  .byte  4,6                                 // add           $0x6,%al
25703  .byte  0,0                                 // add           %al,(%rax)
25704  .byte  0,0                                 // add           %al,(%rax)
25705  .byte  0,0                                 // add           %al,(%rax)
25706  .byte  0,0                                 // add           %al,(%rax)
25707  .byte  0,0                                 // add           %al,(%rax)
25708  .byte  0,0                                 // add           %al,(%rax)
25709  .byte  8,10                                // or            %cl,(%rdx)
25710  .byte  12,14                               // or            $0xe,%al
25711  .byte  0,0                                 // add           %al,(%rax)
25712  .byte  0,0                                 // add           %al,(%rax)
25713  .byte  0,0                                 // add           %al,(%rax)
25714  .byte  0,0                                 // add           %al,(%rax)
25715  .byte  0,0                                 // add           %al,(%rax)
25716  .byte  0,0                                 // add           %al,(%rax)
25717  .byte  0,2                                 // add           %al,(%rdx)
25718  .byte  4,6                                 // add           $0x6,%al
25719  .byte  0,0                                 // add           %al,(%rax)
25720  .byte  0,0                                 // add           %al,(%rax)
25721  .byte  0,0                                 // add           %al,(%rax)
25722  .byte  0,0                                 // add           %al,(%rax)
25723  .byte  0,0                                 // add           %al,(%rax)
25724  .byte  0,0                                 // add           %al,(%rax)
25725  .byte  8,10                                // or            %cl,(%rdx)
25726  .byte  12,14                               // or            $0xe,%al
25727  .byte  0,0                                 // add           %al,(%rax)
25728  .byte  0,0                                 // add           %al,(%rax)
25729  .byte  0,0                                 // add           %al,(%rax)
25730  .byte  0,0                                 // add           %al,(%rax)
25731  .byte  0,0                                 // add           %al,(%rax)
25732  .byte  0,0                                 // add           %al,(%rax)
25733  .byte  0,2                                 // add           %al,(%rdx)
25734  .byte  4,6                                 // add           $0x6,%al
25735  .byte  0,0                                 // add           %al,(%rax)
25736  .byte  0,0                                 // add           %al,(%rax)
25737  .byte  0,0                                 // add           %al,(%rax)
25738  .byte  0,0                                 // add           %al,(%rax)
25739  .byte  0,0                                 // add           %al,(%rax)
25740  .byte  0,0                                 // add           %al,(%rax)
25741  .byte  8,10                                // or            %cl,(%rdx)
25742  .byte  12,14                               // or            $0xe,%al
25743  .byte  0,0                                 // add           %al,(%rax)
25744  .byte  0,0                                 // add           %al,(%rax)
25745  .byte  0,0                                 // add           %al,(%rax)
25746  .byte  0,0                                 // add           %al,(%rax)
25747  .byte  0,0                                 // add           %al,(%rax)
25748  .byte  0,0                                 // add           %al,(%rax)
25749  .byte  0,2                                 // add           %al,(%rdx)
25750  .byte  4,6                                 // add           $0x6,%al
25751  .byte  0,0                                 // add           %al,(%rax)
25752  .byte  0,0                                 // add           %al,(%rax)
25753  .byte  0,0                                 // add           %al,(%rax)
25754  .byte  0,0                                 // add           %al,(%rax)
25755  .byte  0,0                                 // add           %al,(%rax)
25756  .byte  0,0                                 // add           %al,(%rax)
25757  .byte  8,10                                // or            %cl,(%rdx)
25758  .byte  12,14                               // or            $0xe,%al
25759  .byte  0,0                                 // add           %al,(%rax)
25760  .byte  0,0                                 // add           %al,(%rax)
25761  .byte  0,0                                 // add           %al,(%rax)
25762  .byte  0,0                                 // add           %al,(%rax)
25763  .byte  0,0                                 // add           %al,(%rax)
25764  .byte  0,0                                 // add           %al,(%rax)
25765  .byte  0,2                                 // add           %al,(%rdx)
25766  .byte  4,6                                 // add           $0x6,%al
25767  .byte  0,0                                 // add           %al,(%rax)
25768  .byte  0,0                                 // add           %al,(%rax)
25769  .byte  0,0                                 // add           %al,(%rax)
25770  .byte  0,0                                 // add           %al,(%rax)
25771  .byte  0,0                                 // add           %al,(%rax)
25772  .byte  0,0                                 // add           %al,(%rax)
25773  .byte  8,10                                // or            %cl,(%rdx)
25774  .byte  12,14                               // or            $0xe,%al
25775  .byte  0,0                                 // add           %al,(%rax)
25776  .byte  0,0                                 // add           %al,(%rax)
25777  .byte  0,0                                 // add           %al,(%rax)
25778  .byte  0,0                                 // add           %al,(%rax)
25779  .byte  0,0                                 // add           %al,(%rax)
25780  .byte  0,0                                 // add           %al,(%rax)
25781  .byte  0,2                                 // add           %al,(%rdx)
25782  .byte  4,6                                 // add           $0x6,%al
25783  .byte  0,0                                 // add           %al,(%rax)
25784  .byte  0,0                                 // add           %al,(%rax)
25785  .byte  0,0                                 // add           %al,(%rax)
25786  .byte  0,0                                 // add           %al,(%rax)
25787  .byte  0,0                                 // add           %al,(%rax)
25788  .byte  0,0                                 // add           %al,(%rax)
25789  .byte  8,10                                // or            %cl,(%rdx)
25790  .byte  12,14                               // or            $0xe,%al
25791  .byte  0,0                                 // add           %al,(%rax)
25792  .byte  0,0                                 // add           %al,(%rax)
25793  .byte  0,0                                 // add           %al,(%rax)
25794  .byte  0,0                                 // add           %al,(%rax)
25795  .byte  0,0                                 // add           %al,(%rax)
25796  .byte  0,0                                 // add           %al,(%rax)
25797  .byte  0,2                                 // add           %al,(%rdx)
25798  .byte  4,6                                 // add           $0x6,%al
25799  .byte  0,0                                 // add           %al,(%rax)
25800  .byte  0,0                                 // add           %al,(%rax)
25801  .byte  0,0                                 // add           %al,(%rax)
25802  .byte  0,0                                 // add           %al,(%rax)
25803  .byte  0,0                                 // add           %al,(%rax)
25804  .byte  0,0                                 // add           %al,(%rax)
25805  .byte  8,10                                // or            %cl,(%rdx)
25806  .byte  12,14                               // or            $0xe,%al
25807  .byte  0,0                                 // add           %al,(%rax)
25808  .byte  0,0                                 // add           %al,(%rax)
25809  .byte  0,0                                 // add           %al,(%rax)
25810  .byte  0,0                                 // add           %al,(%rax)
25811  .byte  0,0                                 // add           %al,(%rax)
25812  .byte  0,0                                 // add           %al,(%rax)
25813
25814BALIGN32
25815  .byte  255,0                               // incl          (%rax)
25816  .byte  0,0                                 // add           %al,(%rax)
25817  .byte  255,0                               // incl          (%rax)
25818  .byte  0,0                                 // add           %al,(%rax)
25819  .byte  255,0                               // incl          (%rax)
25820  .byte  0,0                                 // add           %al,(%rax)
25821  .byte  255,0                               // incl          (%rax)
25822  .byte  0,0                                 // add           %al,(%rax)
25823  .byte  255,0                               // incl          (%rax)
25824  .byte  0,0                                 // add           %al,(%rax)
25825  .byte  255,0                               // incl          (%rax)
25826  .byte  0,0                                 // add           %al,(%rax)
25827  .byte  255,0                               // incl          (%rax)
25828  .byte  0,0                                 // add           %al,(%rax)
25829  .byte  255,0                               // incl          (%rax)
25830  .byte  0,0                                 // add           %al,(%rax)
25831  .byte  255,0                               // incl          (%rax)
25832  .byte  0,0                                 // add           %al,(%rax)
25833  .byte  255,0                               // incl          (%rax)
25834  .byte  0,0                                 // add           %al,(%rax)
25835  .byte  255,0                               // incl          (%rax)
25836  .byte  0,0                                 // add           %al,(%rax)
25837  .byte  255,0                               // incl          (%rax)
25838  .byte  0,0                                 // add           %al,(%rax)
25839  .byte  255,0                               // incl          (%rax)
25840  .byte  0,0                                 // add           %al,(%rax)
25841  .byte  255,0                               // incl          (%rax)
25842  .byte  0,0                                 // add           %al,(%rax)
25843  .byte  255,0                               // incl          (%rax)
25844  .byte  0,0                                 // add           %al,(%rax)
25845  .byte  255,0                               // incl          (%rax)
25846  .byte  0,0                                 // add           %al,(%rax)
25847  .byte  255,0                               // incl          (%rax)
25848  .byte  0,0                                 // add           %al,(%rax)
25849  .byte  255,0                               // incl          (%rax)
25850  .byte  0,0                                 // add           %al,(%rax)
25851  .byte  255,0                               // incl          (%rax)
25852  .byte  0,0                                 // add           %al,(%rax)
25853  .byte  255,0                               // incl          (%rax)
25854  .byte  0,0                                 // add           %al,(%rax)
25855  .byte  255,0                               // incl          (%rax)
25856  .byte  0,0                                 // add           %al,(%rax)
25857  .byte  255,0                               // incl          (%rax)
25858  .byte  0,0                                 // add           %al,(%rax)
25859  .byte  255,0                               // incl          (%rax)
25860  .byte  0,0                                 // add           %al,(%rax)
25861  .byte  255,0                               // incl          (%rax)
25862  .byte  0,0                                 // add           %al,(%rax)
25863  .byte  255,0                               // incl          (%rax)
25864  .byte  0,0                                 // add           %al,(%rax)
25865  .byte  255,0                               // incl          (%rax)
25866  .byte  0,0                                 // add           %al,(%rax)
25867  .byte  255,0                               // incl          (%rax)
25868  .byte  0,0                                 // add           %al,(%rax)
25869  .byte  255,0                               // incl          (%rax)
25870  .byte  0,0                                 // add           %al,(%rax)
25871  .byte  255,0                               // incl          (%rax)
25872  .byte  0,0                                 // add           %al,(%rax)
25873  .byte  255,0                               // incl          (%rax)
25874  .byte  0,0                                 // add           %al,(%rax)
25875  .byte  255,0                               // incl          (%rax)
25876  .byte  0,0                                 // add           %al,(%rax)
25877  .byte  255,0                               // incl          (%rax)
25878  .byte  0,0                                 // add           %al,(%rax)
25879  .byte  255,0                               // incl          (%rax)
25880  .byte  0,0                                 // add           %al,(%rax)
25881  .byte  255,0                               // incl          (%rax)
25882  .byte  0,0                                 // add           %al,(%rax)
25883  .byte  255,0                               // incl          (%rax)
25884  .byte  0,0                                 // add           %al,(%rax)
25885  .byte  255,0                               // incl          (%rax)
25886  .byte  0,0                                 // add           %al,(%rax)
25887  .byte  255,0                               // incl          (%rax)
25888  .byte  0,0                                 // add           %al,(%rax)
25889  .byte  255,0                               // incl          (%rax)
25890  .byte  0,0                                 // add           %al,(%rax)
25891  .byte  255,0                               // incl          (%rax)
25892  .byte  0,0                                 // add           %al,(%rax)
25893  .byte  255,0                               // incl          (%rax)
25894  .byte  0,0                                 // add           %al,(%rax)
25895  .byte  255,0                               // incl          (%rax)
25896  .byte  0,0                                 // add           %al,(%rax)
25897  .byte  255,0                               // incl          (%rax)
25898  .byte  0,0                                 // add           %al,(%rax)
25899  .byte  255,0                               // incl          (%rax)
25900  .byte  0,0                                 // add           %al,(%rax)
25901  .byte  255,0                               // incl          (%rax)
25902  .byte  0,0                                 // add           %al,(%rax)
25903  .byte  255,0                               // incl          (%rax)
25904  .byte  0,0                                 // add           %al,(%rax)
25905  .byte  255,0                               // incl          (%rax)
25906  .byte  0,0                                 // add           %al,(%rax)
25907  .byte  255,0                               // incl          (%rax)
25908  .byte  0,0                                 // add           %al,(%rax)
25909  .byte  255,0                               // incl          (%rax)
25910  .byte  0,0                                 // add           %al,(%rax)
25911  .byte  255,0                               // incl          (%rax)
25912  .byte  0,0                                 // add           %al,(%rax)
25913  .byte  255,0                               // incl          (%rax)
25914  .byte  0,0                                 // add           %al,(%rax)
25915  .byte  255,0                               // incl          (%rax)
25916  .byte  0,0                                 // add           %al,(%rax)
25917  .byte  255,0                               // incl          (%rax)
25918  .byte  0,0                                 // add           %al,(%rax)
25919  .byte  255,0                               // incl          (%rax)
25920  .byte  0,0                                 // add           %al,(%rax)
25921  .byte  255,0                               // incl          (%rax)
25922  .byte  0,0                                 // add           %al,(%rax)
25923  .byte  255,0                               // incl          (%rax)
25924  .byte  0,0                                 // add           %al,(%rax)
25925  .byte  255,0                               // incl          (%rax)
25926  .byte  0,0                                 // add           %al,(%rax)
25927  .byte  255,0                               // incl          (%rax)
25928  .byte  0,0                                 // add           %al,(%rax)
25929  .byte  255,0                               // incl          (%rax)
25930  .byte  0,0                                 // add           %al,(%rax)
25931  .byte  255,0                               // incl          (%rax)
25932  .byte  0,0                                 // add           %al,(%rax)
25933  .byte  255,0                               // incl          (%rax)
25934  .byte  0,0                                 // add           %al,(%rax)
25935  .byte  255,0                               // incl          (%rax)
25936  .byte  0,0                                 // add           %al,(%rax)
25937  .byte  255,0                               // incl          (%rax)
25938  .byte  0,0                                 // add           %al,(%rax)
25939  .byte  255,0                               // incl          (%rax)
25940  .byte  0,0                                 // add           %al,(%rax)
25941  .byte  255,0                               // incl          (%rax)
25942  .byte  0,0                                 // add           %al,(%rax)
25943BALIGN32
25944
25945HIDDEN _sk_start_pipeline_sse41
25946.globl _sk_start_pipeline_sse41
25947FUNCTION(_sk_start_pipeline_sse41)
25948_sk_start_pipeline_sse41:
25949  .byte  85                                  // push          %rbp
25950  .byte  72,137,229                          // mov           %rsp,%rbp
25951  .byte  65,87                               // push          %r15
25952  .byte  65,86                               // push          %r14
25953  .byte  65,85                               // push          %r13
25954  .byte  65,84                               // push          %r12
25955  .byte  83                                  // push          %rbx
25956  .byte  80                                  // push          %rax
25957  .byte  77,137,196                          // mov           %r8,%r12
25958  .byte  73,137,208                          // mov           %rdx,%r8
25959  .byte  73,137,247                          // mov           %rsi,%r15
25960  .byte  72,137,251                          // mov           %rdi,%rbx
25961  .byte  72,137,206                          // mov           %rcx,%rsi
25962  .byte  72,173                              // lods          %ds:(%rsi),%rax
25963  .byte  73,137,245                          // mov           %rsi,%r13
25964  .byte  72,141,75,4                         // lea           0x4(%rbx),%rcx
25965  .byte  76,57,193                           // cmp           %r8,%rcx
25966  .byte  118,5                               // jbe           30 <_sk_start_pipeline_sse41+0x30>
25967  .byte  72,137,218                          // mov           %rbx,%rdx
25968  .byte  235,48                              // jmp           60 <_sk_start_pipeline_sse41+0x60>
25969  .byte  76,137,69,208                       // mov           %r8,-0x30(%rbp)
25970  .byte  69,49,192                           // xor           %r8d,%r8d
25971  .byte  76,137,231                          // mov           %r12,%rdi
25972  .byte  76,137,238                          // mov           %r13,%rsi
25973  .byte  72,137,218                          // mov           %rbx,%rdx
25974  .byte  76,137,249                          // mov           %r15,%rcx
25975  .byte  73,137,198                          // mov           %rax,%r14
25976  .byte  65,255,214                          // callq         *%r14
25977  .byte  76,139,69,208                       // mov           -0x30(%rbp),%r8
25978  .byte  76,137,240                          // mov           %r14,%rax
25979  .byte  72,141,83,4                         // lea           0x4(%rbx),%rdx
25980  .byte  72,131,195,8                        // add           $0x8,%rbx
25981  .byte  76,57,195                           // cmp           %r8,%rbx
25982  .byte  72,137,211                          // mov           %rdx,%rbx
25983  .byte  118,212                             // jbe           34 <_sk_start_pipeline_sse41+0x34>
25984  .byte  73,41,208                           // sub           %rdx,%r8
25985  .byte  116,25                              // je            7e <_sk_start_pipeline_sse41+0x7e>
25986  .byte  76,137,231                          // mov           %r12,%rdi
25987  .byte  76,137,238                          // mov           %r13,%rsi
25988  .byte  76,137,249                          // mov           %r15,%rcx
25989  .byte  72,131,196,8                        // add           $0x8,%rsp
25990  .byte  91                                  // pop           %rbx
25991  .byte  65,92                               // pop           %r12
25992  .byte  65,93                               // pop           %r13
25993  .byte  65,94                               // pop           %r14
25994  .byte  65,95                               // pop           %r15
25995  .byte  93                                  // pop           %rbp
25996  .byte  255,224                             // jmpq          *%rax
25997  .byte  72,131,196,8                        // add           $0x8,%rsp
25998  .byte  91                                  // pop           %rbx
25999  .byte  65,92                               // pop           %r12
26000  .byte  65,93                               // pop           %r13
26001  .byte  65,94                               // pop           %r14
26002  .byte  65,95                               // pop           %r15
26003  .byte  93                                  // pop           %rbp
26004  .byte  195                                 // retq
26005
26006HIDDEN _sk_start_pipeline_2d_sse41
26007.globl _sk_start_pipeline_2d_sse41
26008FUNCTION(_sk_start_pipeline_2d_sse41)
26009_sk_start_pipeline_2d_sse41:
26010  .byte  85                                  // push          %rbp
26011  .byte  72,137,229                          // mov           %rsp,%rbp
26012  .byte  65,87                               // push          %r15
26013  .byte  65,86                               // push          %r14
26014  .byte  65,85                               // push          %r13
26015  .byte  65,84                               // push          %r12
26016  .byte  83                                  // push          %rbx
26017  .byte  72,131,236,40                       // sub           $0x28,%rsp
26018  .byte  72,137,211                          // mov           %rdx,%rbx
26019  .byte  73,137,244                          // mov           %rsi,%r12
26020  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
26021  .byte  72,137,77,176                       // mov           %rcx,-0x50(%rbp)
26022  .byte  73,57,204                           // cmp           %rcx,%r12
26023  .byte  115,124                             // jae           12d <_sk_start_pipeline_2d_sse41+0xa0>
26024  .byte  76,137,198                          // mov           %r8,%rsi
26025  .byte  72,173                              // lods          %ds:(%rsi),%rax
26026  .byte  73,137,198                          // mov           %rax,%r14
26027  .byte  73,137,245                          // mov           %rsi,%r13
26028  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
26029  .byte  72,141,64,4                         // lea           0x4(%rax),%rax
26030  .byte  72,137,69,184                       // mov           %rax,-0x48(%rbp)
26031  .byte  76,137,77,192                       // mov           %r9,-0x40(%rbp)
26032  .byte  72,137,93,200                       // mov           %rbx,-0x38(%rbp)
26033  .byte  72,57,93,184                        // cmp           %rbx,-0x48(%rbp)
26034  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
26035  .byte  119,46                              // ja            108 <_sk_start_pipeline_2d_sse41+0x7b>
26036  .byte  76,139,125,208                      // mov           -0x30(%rbp),%r15
26037  .byte  69,49,192                           // xor           %r8d,%r8d
26038  .byte  76,137,207                          // mov           %r9,%rdi
26039  .byte  76,137,238                          // mov           %r13,%rsi
26040  .byte  76,137,250                          // mov           %r15,%rdx
26041  .byte  76,137,225                          // mov           %r12,%rcx
26042  .byte  65,255,214                          // callq         *%r14
26043  .byte  72,139,93,200                       // mov           -0x38(%rbp),%rbx
26044  .byte  76,139,77,192                       // mov           -0x40(%rbp),%r9
26045  .byte  73,141,87,4                         // lea           0x4(%r15),%rdx
26046  .byte  73,131,199,8                        // add           $0x8,%r15
26047  .byte  73,57,223                           // cmp           %rbx,%r15
26048  .byte  73,137,215                          // mov           %rdx,%r15
26049  .byte  118,214                             // jbe           de <_sk_start_pipeline_2d_sse41+0x51>
26050  .byte  73,137,216                          // mov           %rbx,%r8
26051  .byte  73,41,208                           // sub           %rdx,%r8
26052  .byte  116,20                              // je            124 <_sk_start_pipeline_2d_sse41+0x97>
26053  .byte  76,137,207                          // mov           %r9,%rdi
26054  .byte  76,137,238                          // mov           %r13,%rsi
26055  .byte  76,137,225                          // mov           %r12,%rcx
26056  .byte  65,255,214                          // callq         *%r14
26057  .byte  72,139,93,200                       // mov           -0x38(%rbp),%rbx
26058  .byte  76,139,77,192                       // mov           -0x40(%rbp),%r9
26059  .byte  73,255,196                          // inc           %r12
26060  .byte  76,59,101,176                       // cmp           -0x50(%rbp),%r12
26061  .byte  117,163                             // jne           d0 <_sk_start_pipeline_2d_sse41+0x43>
26062  .byte  72,131,196,40                       // add           $0x28,%rsp
26063  .byte  91                                  // pop           %rbx
26064  .byte  65,92                               // pop           %r12
26065  .byte  65,93                               // pop           %r13
26066  .byte  65,94                               // pop           %r14
26067  .byte  65,95                               // pop           %r15
26068  .byte  93                                  // pop           %rbp
26069  .byte  195                                 // retq
26070
26071HIDDEN _sk_just_return_sse41
26072.globl _sk_just_return_sse41
26073FUNCTION(_sk_just_return_sse41)
26074_sk_just_return_sse41:
26075  .byte  195                                 // retq
26076
26077HIDDEN _sk_seed_shader_sse41
26078.globl _sk_seed_shader_sse41
26079FUNCTION(_sk_seed_shader_sse41)
26080_sk_seed_shader_sse41:
26081  .byte  102,15,110,194                      // movd          %edx,%xmm0
26082  .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
26083  .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
26084  .byte  15,40,21,80,91,0,0                  // movaps        0x5b50(%rip),%xmm2        # 5ca0 <_sk_callback_sse41+0xf2>
26085  .byte  15,88,202                           // addps         %xmm2,%xmm1
26086  .byte  15,16,7                             // movups        (%rdi),%xmm0
26087  .byte  15,88,193                           // addps         %xmm1,%xmm0
26088  .byte  102,15,110,201                      // movd          %ecx,%xmm1
26089  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
26090  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
26091  .byte  15,88,202                           // addps         %xmm2,%xmm1
26092  .byte  72,173                              // lods          %ds:(%rsi),%rax
26093  .byte  15,40,21,63,91,0,0                  // movaps        0x5b3f(%rip),%xmm2        # 5cb0 <_sk_callback_sse41+0x102>
26094  .byte  15,87,219                           // xorps         %xmm3,%xmm3
26095  .byte  15,87,228                           // xorps         %xmm4,%xmm4
26096  .byte  15,87,237                           // xorps         %xmm5,%xmm5
26097  .byte  15,87,246                           // xorps         %xmm6,%xmm6
26098  .byte  15,87,255                           // xorps         %xmm7,%xmm7
26099  .byte  255,224                             // jmpq          *%rax
26100
26101HIDDEN _sk_dither_sse41
26102.globl _sk_dither_sse41
26103FUNCTION(_sk_dither_sse41)
26104_sk_dither_sse41:
26105  .byte  72,173                              // lods          %ds:(%rsi),%rax
26106  .byte  102,68,15,110,194                   // movd          %edx,%xmm8
26107  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
26108  .byte  243,68,15,111,79,32                 // movdqu        0x20(%rdi),%xmm9
26109  .byte  102,69,15,254,200                   // paddd         %xmm8,%xmm9
26110  .byte  102,68,15,110,193                   // movd          %ecx,%xmm8
26111  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
26112  .byte  102,69,15,239,193                   // pxor          %xmm9,%xmm8
26113  .byte  102,68,15,111,21,13,91,0,0          // movdqa        0x5b0d(%rip),%xmm10        # 5cc0 <_sk_callback_sse41+0x112>
26114  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
26115  .byte  102,69,15,219,218                   // pand          %xmm10,%xmm11
26116  .byte  102,65,15,114,243,5                 // pslld         $0x5,%xmm11
26117  .byte  102,69,15,219,209                   // pand          %xmm9,%xmm10
26118  .byte  102,65,15,114,242,4                 // pslld         $0x4,%xmm10
26119  .byte  102,68,15,111,37,249,90,0,0         // movdqa        0x5af9(%rip),%xmm12        # 5cd0 <_sk_callback_sse41+0x122>
26120  .byte  102,68,15,111,45,0,91,0,0           // movdqa        0x5b00(%rip),%xmm13        # 5ce0 <_sk_callback_sse41+0x132>
26121  .byte  102,69,15,111,240                   // movdqa        %xmm8,%xmm14
26122  .byte  102,69,15,219,245                   // pand          %xmm13,%xmm14
26123  .byte  102,65,15,114,246,2                 // pslld         $0x2,%xmm14
26124  .byte  102,69,15,219,233                   // pand          %xmm9,%xmm13
26125  .byte  102,69,15,254,237                   // paddd         %xmm13,%xmm13
26126  .byte  102,69,15,219,196                   // pand          %xmm12,%xmm8
26127  .byte  102,65,15,114,208,1                 // psrld         $0x1,%xmm8
26128  .byte  102,69,15,219,204                   // pand          %xmm12,%xmm9
26129  .byte  102,65,15,114,209,2                 // psrld         $0x2,%xmm9
26130  .byte  102,69,15,235,234                   // por           %xmm10,%xmm13
26131  .byte  102,69,15,235,233                   // por           %xmm9,%xmm13
26132  .byte  102,69,15,235,243                   // por           %xmm11,%xmm14
26133  .byte  102,69,15,235,245                   // por           %xmm13,%xmm14
26134  .byte  102,69,15,235,240                   // por           %xmm8,%xmm14
26135  .byte  69,15,91,198                        // cvtdq2ps      %xmm14,%xmm8
26136  .byte  68,15,89,5,187,90,0,0               // mulps         0x5abb(%rip),%xmm8        # 5cf0 <_sk_callback_sse41+0x142>
26137  .byte  68,15,88,5,195,90,0,0               // addps         0x5ac3(%rip),%xmm8        # 5d00 <_sk_callback_sse41+0x152>
26138  .byte  243,68,15,16,16                     // movss         (%rax),%xmm10
26139  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
26140  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
26141  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
26142  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
26143  .byte  68,15,88,210                        // addps         %xmm2,%xmm10
26144  .byte  15,93,195                           // minps         %xmm3,%xmm0
26145  .byte  15,87,210                           // xorps         %xmm2,%xmm2
26146  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
26147  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
26148  .byte  15,93,203                           // minps         %xmm3,%xmm1
26149  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
26150  .byte  68,15,95,201                        // maxps         %xmm1,%xmm9
26151  .byte  68,15,93,211                        // minps         %xmm3,%xmm10
26152  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
26153  .byte  72,173                              // lods          %ds:(%rsi),%rax
26154  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
26155  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
26156  .byte  255,224                             // jmpq          *%rax
26157
26158HIDDEN _sk_uniform_color_sse41
26159.globl _sk_uniform_color_sse41
26160FUNCTION(_sk_uniform_color_sse41)
26161_sk_uniform_color_sse41:
26162  .byte  72,173                              // lods          %ds:(%rsi),%rax
26163  .byte  243,15,16,0                         // movss         (%rax),%xmm0
26164  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
26165  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
26166  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
26167  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
26168  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
26169  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
26170  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
26171  .byte  72,173                              // lods          %ds:(%rsi),%rax
26172  .byte  255,224                             // jmpq          *%rax
26173
26174HIDDEN _sk_black_color_sse41
26175.globl _sk_black_color_sse41
26176FUNCTION(_sk_black_color_sse41)
26177_sk_black_color_sse41:
26178  .byte  72,173                              // lods          %ds:(%rsi),%rax
26179  .byte  15,40,29,89,90,0,0                  // movaps        0x5a59(%rip),%xmm3        # 5d10 <_sk_callback_sse41+0x162>
26180  .byte  15,87,192                           // xorps         %xmm0,%xmm0
26181  .byte  15,87,201                           // xorps         %xmm1,%xmm1
26182  .byte  15,87,210                           // xorps         %xmm2,%xmm2
26183  .byte  255,224                             // jmpq          *%rax
26184
26185HIDDEN _sk_white_color_sse41
26186.globl _sk_white_color_sse41
26187FUNCTION(_sk_white_color_sse41)
26188_sk_white_color_sse41:
26189  .byte  72,173                              // lods          %ds:(%rsi),%rax
26190  .byte  15,40,5,85,90,0,0                   // movaps        0x5a55(%rip),%xmm0        # 5d20 <_sk_callback_sse41+0x172>
26191  .byte  15,40,200                           // movaps        %xmm0,%xmm1
26192  .byte  15,40,208                           // movaps        %xmm0,%xmm2
26193  .byte  15,40,216                           // movaps        %xmm0,%xmm3
26194  .byte  255,224                             // jmpq          *%rax
26195
26196HIDDEN _sk_load_rgba_sse41
26197.globl _sk_load_rgba_sse41
26198FUNCTION(_sk_load_rgba_sse41)
26199_sk_load_rgba_sse41:
26200  .byte  72,173                              // lods          %ds:(%rsi),%rax
26201  .byte  15,16,0                             // movups        (%rax),%xmm0
26202  .byte  15,16,72,16                         // movups        0x10(%rax),%xmm1
26203  .byte  15,16,80,32                         // movups        0x20(%rax),%xmm2
26204  .byte  15,16,88,48                         // movups        0x30(%rax),%xmm3
26205  .byte  72,173                              // lods          %ds:(%rsi),%rax
26206  .byte  255,224                             // jmpq          *%rax
26207
26208HIDDEN _sk_store_rgba_sse41
26209.globl _sk_store_rgba_sse41
26210FUNCTION(_sk_store_rgba_sse41)
26211_sk_store_rgba_sse41:
26212  .byte  72,173                              // lods          %ds:(%rsi),%rax
26213  .byte  15,17,0                             // movups        %xmm0,(%rax)
26214  .byte  15,17,72,16                         // movups        %xmm1,0x10(%rax)
26215  .byte  15,17,80,32                         // movups        %xmm2,0x20(%rax)
26216  .byte  15,17,88,48                         // movups        %xmm3,0x30(%rax)
26217  .byte  72,173                              // lods          %ds:(%rsi),%rax
26218  .byte  255,224                             // jmpq          *%rax
26219
26220HIDDEN _sk_clear_sse41
26221.globl _sk_clear_sse41
26222FUNCTION(_sk_clear_sse41)
26223_sk_clear_sse41:
26224  .byte  72,173                              // lods          %ds:(%rsi),%rax
26225  .byte  15,87,192                           // xorps         %xmm0,%xmm0
26226  .byte  15,87,201                           // xorps         %xmm1,%xmm1
26227  .byte  15,87,210                           // xorps         %xmm2,%xmm2
26228  .byte  15,87,219                           // xorps         %xmm3,%xmm3
26229  .byte  255,224                             // jmpq          *%rax
26230
26231HIDDEN _sk_srcatop_sse41
26232.globl _sk_srcatop_sse41
26233FUNCTION(_sk_srcatop_sse41)
26234_sk_srcatop_sse41:
26235  .byte  15,89,199                           // mulps         %xmm7,%xmm0
26236  .byte  68,15,40,5,21,90,0,0                // movaps        0x5a15(%rip),%xmm8        # 5d30 <_sk_callback_sse41+0x182>
26237  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
26238  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
26239  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
26240  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
26241  .byte  15,89,207                           // mulps         %xmm7,%xmm1
26242  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
26243  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
26244  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
26245  .byte  15,89,215                           // mulps         %xmm7,%xmm2
26246  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
26247  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
26248  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
26249  .byte  15,89,223                           // mulps         %xmm7,%xmm3
26250  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
26251  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
26252  .byte  72,173                              // lods          %ds:(%rsi),%rax
26253  .byte  255,224                             // jmpq          *%rax
26254
26255HIDDEN _sk_dstatop_sse41
26256.globl _sk_dstatop_sse41
26257FUNCTION(_sk_dstatop_sse41)
26258_sk_dstatop_sse41:
26259  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
26260  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
26261  .byte  68,15,40,13,216,89,0,0              // movaps        0x59d8(%rip),%xmm9        # 5d40 <_sk_callback_sse41+0x192>
26262  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
26263  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
26264  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
26265  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
26266  .byte  68,15,89,197                        // mulps         %xmm5,%xmm8
26267  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
26268  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
26269  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
26270  .byte  68,15,89,198                        // mulps         %xmm6,%xmm8
26271  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
26272  .byte  65,15,88,208                        // addps         %xmm8,%xmm2
26273  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
26274  .byte  15,89,223                           // mulps         %xmm7,%xmm3
26275  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
26276  .byte  72,173                              // lods          %ds:(%rsi),%rax
26277  .byte  255,224                             // jmpq          *%rax
26278
26279HIDDEN _sk_srcin_sse41
26280.globl _sk_srcin_sse41
26281FUNCTION(_sk_srcin_sse41)
26282_sk_srcin_sse41:
26283  .byte  15,89,199                           // mulps         %xmm7,%xmm0
26284  .byte  15,89,207                           // mulps         %xmm7,%xmm1
26285  .byte  15,89,215                           // mulps         %xmm7,%xmm2
26286  .byte  15,89,223                           // mulps         %xmm7,%xmm3
26287  .byte  72,173                              // lods          %ds:(%rsi),%rax
26288  .byte  255,224                             // jmpq          *%rax
26289
26290HIDDEN _sk_dstin_sse41
26291.globl _sk_dstin_sse41
26292FUNCTION(_sk_dstin_sse41)
26293_sk_dstin_sse41:
26294  .byte  15,40,195                           // movaps        %xmm3,%xmm0
26295  .byte  15,89,196                           // mulps         %xmm4,%xmm0
26296  .byte  15,40,203                           // movaps        %xmm3,%xmm1
26297  .byte  15,89,205                           // mulps         %xmm5,%xmm1
26298  .byte  15,40,211                           // movaps        %xmm3,%xmm2
26299  .byte  15,89,214                           // mulps         %xmm6,%xmm2
26300  .byte  15,89,223                           // mulps         %xmm7,%xmm3
26301  .byte  72,173                              // lods          %ds:(%rsi),%rax
26302  .byte  255,224                             // jmpq          *%rax
26303
26304HIDDEN _sk_srcout_sse41
26305.globl _sk_srcout_sse41
26306FUNCTION(_sk_srcout_sse41)
26307_sk_srcout_sse41:
26308  .byte  68,15,40,5,124,89,0,0               // movaps        0x597c(%rip),%xmm8        # 5d50 <_sk_callback_sse41+0x1a2>
26309  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
26310  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
26311  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
26312  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
26313  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
26314  .byte  72,173                              // lods          %ds:(%rsi),%rax
26315  .byte  255,224                             // jmpq          *%rax
26316
26317HIDDEN _sk_dstout_sse41
26318.globl _sk_dstout_sse41
26319FUNCTION(_sk_dstout_sse41)
26320_sk_dstout_sse41:
26321  .byte  68,15,40,5,108,89,0,0               // movaps        0x596c(%rip),%xmm8        # 5d60 <_sk_callback_sse41+0x1b2>
26322  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
26323  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
26324  .byte  15,89,196                           // mulps         %xmm4,%xmm0
26325  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
26326  .byte  15,89,205                           // mulps         %xmm5,%xmm1
26327  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
26328  .byte  15,89,214                           // mulps         %xmm6,%xmm2
26329  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
26330  .byte  72,173                              // lods          %ds:(%rsi),%rax
26331  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
26332  .byte  255,224                             // jmpq          *%rax
26333
26334HIDDEN _sk_srcover_sse41
26335.globl _sk_srcover_sse41
26336FUNCTION(_sk_srcover_sse41)
26337_sk_srcover_sse41:
26338  .byte  68,15,40,5,79,89,0,0                // movaps        0x594f(%rip),%xmm8        # 5d70 <_sk_callback_sse41+0x1c2>
26339  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
26340  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
26341  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
26342  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
26343  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
26344  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
26345  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
26346  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
26347  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
26348  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
26349  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
26350  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
26351  .byte  72,173                              // lods          %ds:(%rsi),%rax
26352  .byte  255,224                             // jmpq          *%rax
26353
26354HIDDEN _sk_dstover_sse41
26355.globl _sk_dstover_sse41
26356FUNCTION(_sk_dstover_sse41)
26357_sk_dstover_sse41:
26358  .byte  68,15,40,5,35,89,0,0                // movaps        0x5923(%rip),%xmm8        # 5d80 <_sk_callback_sse41+0x1d2>
26359  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
26360  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
26361  .byte  15,88,196                           // addps         %xmm4,%xmm0
26362  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
26363  .byte  15,88,205                           // addps         %xmm5,%xmm1
26364  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
26365  .byte  15,88,214                           // addps         %xmm6,%xmm2
26366  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
26367  .byte  15,88,223                           // addps         %xmm7,%xmm3
26368  .byte  72,173                              // lods          %ds:(%rsi),%rax
26369  .byte  255,224                             // jmpq          *%rax
26370
26371HIDDEN _sk_modulate_sse41
26372.globl _sk_modulate_sse41
26373FUNCTION(_sk_modulate_sse41)
26374_sk_modulate_sse41:
26375  .byte  15,89,196                           // mulps         %xmm4,%xmm0
26376  .byte  15,89,205                           // mulps         %xmm5,%xmm1
26377  .byte  15,89,214                           // mulps         %xmm6,%xmm2
26378  .byte  15,89,223                           // mulps         %xmm7,%xmm3
26379  .byte  72,173                              // lods          %ds:(%rsi),%rax
26380  .byte  255,224                             // jmpq          *%rax
26381
26382HIDDEN _sk_multiply_sse41
26383.globl _sk_multiply_sse41
26384FUNCTION(_sk_multiply_sse41)
26385_sk_multiply_sse41:
26386  .byte  68,15,40,5,247,88,0,0               // movaps        0x58f7(%rip),%xmm8        # 5d90 <_sk_callback_sse41+0x1e2>
26387  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
26388  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
26389  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
26390  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
26391  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
26392  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
26393  .byte  68,15,89,220                        // mulps         %xmm4,%xmm11
26394  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
26395  .byte  15,89,196                           // mulps         %xmm4,%xmm0
26396  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
26397  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
26398  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
26399  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
26400  .byte  68,15,89,221                        // mulps         %xmm5,%xmm11
26401  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
26402  .byte  15,89,205                           // mulps         %xmm5,%xmm1
26403  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
26404  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
26405  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
26406  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
26407  .byte  68,15,89,222                        // mulps         %xmm6,%xmm11
26408  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
26409  .byte  15,89,214                           // mulps         %xmm6,%xmm2
26410  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
26411  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
26412  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
26413  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
26414  .byte  15,89,223                           // mulps         %xmm7,%xmm3
26415  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
26416  .byte  72,173                              // lods          %ds:(%rsi),%rax
26417  .byte  255,224                             // jmpq          *%rax
26418
26419HIDDEN _sk_plus__sse41
26420.globl _sk_plus__sse41
26421FUNCTION(_sk_plus__sse41)
26422_sk_plus__sse41:
26423  .byte  15,88,196                           // addps         %xmm4,%xmm0
26424  .byte  15,88,205                           // addps         %xmm5,%xmm1
26425  .byte  15,88,214                           // addps         %xmm6,%xmm2
26426  .byte  15,88,223                           // addps         %xmm7,%xmm3
26427  .byte  72,173                              // lods          %ds:(%rsi),%rax
26428  .byte  255,224                             // jmpq          *%rax
26429
26430HIDDEN _sk_screen_sse41
26431.globl _sk_screen_sse41
26432FUNCTION(_sk_screen_sse41)
26433_sk_screen_sse41:
26434  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
26435  .byte  15,88,196                           // addps         %xmm4,%xmm0
26436  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
26437  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
26438  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
26439  .byte  68,15,88,197                        // addps         %xmm5,%xmm8
26440  .byte  15,89,205                           // mulps         %xmm5,%xmm1
26441  .byte  68,15,92,193                        // subps         %xmm1,%xmm8
26442  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
26443  .byte  68,15,88,206                        // addps         %xmm6,%xmm9
26444  .byte  15,89,214                           // mulps         %xmm6,%xmm2
26445  .byte  68,15,92,202                        // subps         %xmm2,%xmm9
26446  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
26447  .byte  68,15,88,215                        // addps         %xmm7,%xmm10
26448  .byte  15,89,223                           // mulps         %xmm7,%xmm3
26449  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
26450  .byte  72,173                              // lods          %ds:(%rsi),%rax
26451  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
26452  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
26453  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
26454  .byte  255,224                             // jmpq          *%rax
26455
26456HIDDEN _sk_xor__sse41
26457.globl _sk_xor__sse41
26458FUNCTION(_sk_xor__sse41)
26459_sk_xor__sse41:
26460  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
26461  .byte  15,40,29,44,88,0,0                  // movaps        0x582c(%rip),%xmm3        # 5da0 <_sk_callback_sse41+0x1f2>
26462  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
26463  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
26464  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
26465  .byte  65,15,92,216                        // subps         %xmm8,%xmm3
26466  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
26467  .byte  68,15,89,212                        // mulps         %xmm4,%xmm10
26468  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
26469  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
26470  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
26471  .byte  68,15,89,213                        // mulps         %xmm5,%xmm10
26472  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
26473  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
26474  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
26475  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
26476  .byte  65,15,88,210                        // addps         %xmm10,%xmm2
26477  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
26478  .byte  15,89,223                           // mulps         %xmm7,%xmm3
26479  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
26480  .byte  72,173                              // lods          %ds:(%rsi),%rax
26481  .byte  255,224                             // jmpq          *%rax
26482
26483HIDDEN _sk_darken_sse41
26484.globl _sk_darken_sse41
26485FUNCTION(_sk_darken_sse41)
26486_sk_darken_sse41:
26487  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
26488  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
26489  .byte  15,88,196                           // addps         %xmm4,%xmm0
26490  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
26491  .byte  15,40,203                           // movaps        %xmm3,%xmm1
26492  .byte  15,89,204                           // mulps         %xmm4,%xmm1
26493  .byte  68,15,95,201                        // maxps         %xmm1,%xmm9
26494  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
26495  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
26496  .byte  15,88,205                           // addps         %xmm5,%xmm1
26497  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
26498  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
26499  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
26500  .byte  69,15,95,193                        // maxps         %xmm9,%xmm8
26501  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
26502  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
26503  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
26504  .byte  15,89,215                           // mulps         %xmm7,%xmm2
26505  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
26506  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
26507  .byte  65,15,95,209                        // maxps         %xmm9,%xmm2
26508  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
26509  .byte  15,40,21,151,87,0,0                 // movaps        0x5797(%rip),%xmm2        # 5db0 <_sk_callback_sse41+0x202>
26510  .byte  15,92,211                           // subps         %xmm3,%xmm2
26511  .byte  15,89,215                           // mulps         %xmm7,%xmm2
26512  .byte  15,88,218                           // addps         %xmm2,%xmm3
26513  .byte  72,173                              // lods          %ds:(%rsi),%rax
26514  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
26515  .byte  255,224                             // jmpq          *%rax
26516
26517HIDDEN _sk_lighten_sse41
26518.globl _sk_lighten_sse41
26519FUNCTION(_sk_lighten_sse41)
26520_sk_lighten_sse41:
26521  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
26522  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
26523  .byte  15,88,196                           // addps         %xmm4,%xmm0
26524  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
26525  .byte  15,40,203                           // movaps        %xmm3,%xmm1
26526  .byte  15,89,204                           // mulps         %xmm4,%xmm1
26527  .byte  68,15,93,201                        // minps         %xmm1,%xmm9
26528  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
26529  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
26530  .byte  15,88,205                           // addps         %xmm5,%xmm1
26531  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
26532  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
26533  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
26534  .byte  69,15,93,193                        // minps         %xmm9,%xmm8
26535  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
26536  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
26537  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
26538  .byte  15,89,215                           // mulps         %xmm7,%xmm2
26539  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
26540  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
26541  .byte  65,15,93,209                        // minps         %xmm9,%xmm2
26542  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
26543  .byte  15,40,21,60,87,0,0                  // movaps        0x573c(%rip),%xmm2        # 5dc0 <_sk_callback_sse41+0x212>
26544  .byte  15,92,211                           // subps         %xmm3,%xmm2
26545  .byte  15,89,215                           // mulps         %xmm7,%xmm2
26546  .byte  15,88,218                           // addps         %xmm2,%xmm3
26547  .byte  72,173                              // lods          %ds:(%rsi),%rax
26548  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
26549  .byte  255,224                             // jmpq          *%rax
26550
26551HIDDEN _sk_difference_sse41
26552.globl _sk_difference_sse41
26553FUNCTION(_sk_difference_sse41)
26554_sk_difference_sse41:
26555  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
26556  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
26557  .byte  15,88,196                           // addps         %xmm4,%xmm0
26558  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
26559  .byte  15,40,203                           // movaps        %xmm3,%xmm1
26560  .byte  15,89,204                           // mulps         %xmm4,%xmm1
26561  .byte  68,15,93,201                        // minps         %xmm1,%xmm9
26562  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
26563  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
26564  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
26565  .byte  15,88,205                           // addps         %xmm5,%xmm1
26566  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
26567  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
26568  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
26569  .byte  69,15,93,193                        // minps         %xmm9,%xmm8
26570  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
26571  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
26572  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
26573  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
26574  .byte  15,89,215                           // mulps         %xmm7,%xmm2
26575  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
26576  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
26577  .byte  65,15,93,209                        // minps         %xmm9,%xmm2
26578  .byte  15,88,210                           // addps         %xmm2,%xmm2
26579  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
26580  .byte  15,40,21,214,86,0,0                 // movaps        0x56d6(%rip),%xmm2        # 5dd0 <_sk_callback_sse41+0x222>
26581  .byte  15,92,211                           // subps         %xmm3,%xmm2
26582  .byte  15,89,215                           // mulps         %xmm7,%xmm2
26583  .byte  15,88,218                           // addps         %xmm2,%xmm3
26584  .byte  72,173                              // lods          %ds:(%rsi),%rax
26585  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
26586  .byte  255,224                             // jmpq          *%rax
26587
26588HIDDEN _sk_exclusion_sse41
26589.globl _sk_exclusion_sse41
26590FUNCTION(_sk_exclusion_sse41)
26591_sk_exclusion_sse41:
26592  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
26593  .byte  15,40,200                           // movaps        %xmm0,%xmm1
26594  .byte  15,88,196                           // addps         %xmm4,%xmm0
26595  .byte  15,89,204                           // mulps         %xmm4,%xmm1
26596  .byte  15,88,201                           // addps         %xmm1,%xmm1
26597  .byte  15,92,193                           // subps         %xmm1,%xmm0
26598  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
26599  .byte  15,88,205                           // addps         %xmm5,%xmm1
26600  .byte  68,15,89,197                        // mulps         %xmm5,%xmm8
26601  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
26602  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
26603  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
26604  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
26605  .byte  15,89,214                           // mulps         %xmm6,%xmm2
26606  .byte  15,88,210                           // addps         %xmm2,%xmm2
26607  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
26608  .byte  15,40,21,150,86,0,0                 // movaps        0x5696(%rip),%xmm2        # 5de0 <_sk_callback_sse41+0x232>
26609  .byte  15,92,211                           // subps         %xmm3,%xmm2
26610  .byte  15,89,215                           // mulps         %xmm7,%xmm2
26611  .byte  15,88,218                           // addps         %xmm2,%xmm3
26612  .byte  72,173                              // lods          %ds:(%rsi),%rax
26613  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
26614  .byte  255,224                             // jmpq          *%rax
26615
26616HIDDEN _sk_colorburn_sse41
26617.globl _sk_colorburn_sse41
26618FUNCTION(_sk_colorburn_sse41)
26619_sk_colorburn_sse41:
26620  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
26621  .byte  68,15,40,21,137,86,0,0              // movaps        0x5689(%rip),%xmm10        # 5df0 <_sk_callback_sse41+0x242>
26622  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
26623  .byte  68,15,92,223                        // subps         %xmm7,%xmm11
26624  .byte  69,15,40,203                        // movaps        %xmm11,%xmm9
26625  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
26626  .byte  15,40,199                           // movaps        %xmm7,%xmm0
26627  .byte  15,92,196                           // subps         %xmm4,%xmm0
26628  .byte  15,89,195                           // mulps         %xmm3,%xmm0
26629  .byte  65,15,94,192                        // divps         %xmm8,%xmm0
26630  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
26631  .byte  68,15,93,224                        // minps         %xmm0,%xmm12
26632  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
26633  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
26634  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
26635  .byte  69,15,88,233                        // addps         %xmm9,%xmm13
26636  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
26637  .byte  68,15,88,228                        // addps         %xmm4,%xmm12
26638  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
26639  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
26640  .byte  65,15,194,193,0                     // cmpeqps       %xmm9,%xmm0
26641  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
26642  .byte  102,69,15,56,20,232                 // blendvps      %xmm0,%xmm8,%xmm13
26643  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
26644  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
26645  .byte  15,40,196                           // movaps        %xmm4,%xmm0
26646  .byte  15,194,199,0                        // cmpeqps       %xmm7,%xmm0
26647  .byte  69,15,88,197                        // addps         %xmm13,%xmm8
26648  .byte  102,69,15,56,20,196                 // blendvps      %xmm0,%xmm12,%xmm8
26649  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
26650  .byte  68,15,89,225                        // mulps         %xmm1,%xmm12
26651  .byte  15,40,199                           // movaps        %xmm7,%xmm0
26652  .byte  15,92,197                           // subps         %xmm5,%xmm0
26653  .byte  15,89,195                           // mulps         %xmm3,%xmm0
26654  .byte  15,94,193                           // divps         %xmm1,%xmm0
26655  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
26656  .byte  68,15,93,232                        // minps         %xmm0,%xmm13
26657  .byte  68,15,40,247                        // movaps        %xmm7,%xmm14
26658  .byte  69,15,92,245                        // subps         %xmm13,%xmm14
26659  .byte  15,40,193                           // movaps        %xmm1,%xmm0
26660  .byte  65,15,194,193,0                     // cmpeqps       %xmm9,%xmm0
26661  .byte  68,15,89,243                        // mulps         %xmm3,%xmm14
26662  .byte  69,15,88,244                        // addps         %xmm12,%xmm14
26663  .byte  102,68,15,56,20,241                 // blendvps      %xmm0,%xmm1,%xmm14
26664  .byte  68,15,88,229                        // addps         %xmm5,%xmm12
26665  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
26666  .byte  15,89,205                           // mulps         %xmm5,%xmm1
26667  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
26668  .byte  15,40,197                           // movaps        %xmm5,%xmm0
26669  .byte  15,194,199,0                        // cmpeqps       %xmm7,%xmm0
26670  .byte  102,65,15,56,20,204                 // blendvps      %xmm0,%xmm12,%xmm1
26671  .byte  15,40,199                           // movaps        %xmm7,%xmm0
26672  .byte  15,92,198                           // subps         %xmm6,%xmm0
26673  .byte  15,89,195                           // mulps         %xmm3,%xmm0
26674  .byte  15,94,194                           // divps         %xmm2,%xmm0
26675  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
26676  .byte  68,15,93,224                        // minps         %xmm0,%xmm12
26677  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
26678  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
26679  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
26680  .byte  68,15,194,202,0                     // cmpeqps       %xmm2,%xmm9
26681  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
26682  .byte  69,15,88,235                        // addps         %xmm11,%xmm13
26683  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
26684  .byte  102,68,15,56,20,234                 // blendvps      %xmm0,%xmm2,%xmm13
26685  .byte  68,15,88,222                        // addps         %xmm6,%xmm11
26686  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
26687  .byte  15,89,214                           // mulps         %xmm6,%xmm2
26688  .byte  65,15,88,213                        // addps         %xmm13,%xmm2
26689  .byte  15,40,198                           // movaps        %xmm6,%xmm0
26690  .byte  15,194,199,0                        // cmpeqps       %xmm7,%xmm0
26691  .byte  102,65,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm2
26692  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
26693  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
26694  .byte  72,173                              // lods          %ds:(%rsi),%rax
26695  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
26696  .byte  255,224                             // jmpq          *%rax
26697
26698HIDDEN _sk_colordodge_sse41
26699.globl _sk_colordodge_sse41
26700FUNCTION(_sk_colordodge_sse41)
26701_sk_colordodge_sse41:
26702  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
26703  .byte  68,15,40,21,103,85,0,0              // movaps        0x5567(%rip),%xmm10        # 5e00 <_sk_callback_sse41+0x252>
26704  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
26705  .byte  68,15,92,223                        // subps         %xmm7,%xmm11
26706  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
26707  .byte  69,15,89,224                        // mulps         %xmm8,%xmm12
26708  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
26709  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
26710  .byte  15,40,195                           // movaps        %xmm3,%xmm0
26711  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
26712  .byte  68,15,94,200                        // divps         %xmm0,%xmm9
26713  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
26714  .byte  68,15,40,247                        // movaps        %xmm7,%xmm14
26715  .byte  69,15,93,241                        // minps         %xmm9,%xmm14
26716  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
26717  .byte  15,194,195,0                        // cmpeqps       %xmm3,%xmm0
26718  .byte  68,15,89,243                        // mulps         %xmm3,%xmm14
26719  .byte  69,15,88,244                        // addps         %xmm12,%xmm14
26720  .byte  102,69,15,56,20,240                 // blendvps      %xmm0,%xmm8,%xmm14
26721  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
26722  .byte  68,15,88,228                        // addps         %xmm4,%xmm12
26723  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
26724  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
26725  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
26726  .byte  69,15,88,198                        // addps         %xmm14,%xmm8
26727  .byte  15,40,196                           // movaps        %xmm4,%xmm0
26728  .byte  65,15,194,193,0                     // cmpeqps       %xmm9,%xmm0
26729  .byte  102,69,15,56,20,196                 // blendvps      %xmm0,%xmm12,%xmm8
26730  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
26731  .byte  68,15,89,229                        // mulps         %xmm5,%xmm12
26732  .byte  15,40,195                           // movaps        %xmm3,%xmm0
26733  .byte  15,92,193                           // subps         %xmm1,%xmm0
26734  .byte  68,15,94,224                        // divps         %xmm0,%xmm12
26735  .byte  69,15,40,243                        // movaps        %xmm11,%xmm14
26736  .byte  68,15,89,241                        // mulps         %xmm1,%xmm14
26737  .byte  69,15,93,236                        // minps         %xmm12,%xmm13
26738  .byte  15,40,193                           // movaps        %xmm1,%xmm0
26739  .byte  15,194,195,0                        // cmpeqps       %xmm3,%xmm0
26740  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
26741  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
26742  .byte  102,68,15,56,20,233                 // blendvps      %xmm0,%xmm1,%xmm13
26743  .byte  68,15,88,245                        // addps         %xmm5,%xmm14
26744  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
26745  .byte  15,89,205                           // mulps         %xmm5,%xmm1
26746  .byte  65,15,88,205                        // addps         %xmm13,%xmm1
26747  .byte  15,40,197                           // movaps        %xmm5,%xmm0
26748  .byte  65,15,194,193,0                     // cmpeqps       %xmm9,%xmm0
26749  .byte  102,65,15,56,20,206                 // blendvps      %xmm0,%xmm14,%xmm1
26750  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
26751  .byte  68,15,89,230                        // mulps         %xmm6,%xmm12
26752  .byte  15,40,195                           // movaps        %xmm3,%xmm0
26753  .byte  15,92,194                           // subps         %xmm2,%xmm0
26754  .byte  68,15,94,224                        // divps         %xmm0,%xmm12
26755  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
26756  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
26757  .byte  69,15,93,236                        // minps         %xmm12,%xmm13
26758  .byte  15,40,194                           // movaps        %xmm2,%xmm0
26759  .byte  15,194,195,0                        // cmpeqps       %xmm3,%xmm0
26760  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
26761  .byte  69,15,88,235                        // addps         %xmm11,%xmm13
26762  .byte  102,68,15,56,20,234                 // blendvps      %xmm0,%xmm2,%xmm13
26763  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
26764  .byte  15,89,214                           // mulps         %xmm6,%xmm2
26765  .byte  65,15,88,213                        // addps         %xmm13,%xmm2
26766  .byte  68,15,194,206,0                     // cmpeqps       %xmm6,%xmm9
26767  .byte  68,15,88,222                        // addps         %xmm6,%xmm11
26768  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
26769  .byte  102,65,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm2
26770  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
26771  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
26772  .byte  72,173                              // lods          %ds:(%rsi),%rax
26773  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
26774  .byte  255,224                             // jmpq          *%rax
26775
26776HIDDEN _sk_hardlight_sse41
26777.globl _sk_hardlight_sse41
26778FUNCTION(_sk_hardlight_sse41)
26779_sk_hardlight_sse41:
26780  .byte  15,41,116,36,232                    // movaps        %xmm6,-0x18(%rsp)
26781  .byte  68,15,40,229                        // movaps        %xmm5,%xmm12
26782  .byte  15,40,244                           // movaps        %xmm4,%xmm6
26783  .byte  15,40,227                           // movaps        %xmm3,%xmm4
26784  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
26785  .byte  68,15,40,21,64,84,0,0               // movaps        0x5440(%rip),%xmm10        # 5e10 <_sk_callback_sse41+0x262>
26786  .byte  65,15,40,234                        // movaps        %xmm10,%xmm5
26787  .byte  15,92,239                           // subps         %xmm7,%xmm5
26788  .byte  15,40,197                           // movaps        %xmm5,%xmm0
26789  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
26790  .byte  68,15,92,212                        // subps         %xmm4,%xmm10
26791  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
26792  .byte  68,15,89,198                        // mulps         %xmm6,%xmm8
26793  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
26794  .byte  68,15,40,252                        // movaps        %xmm4,%xmm15
26795  .byte  69,15,92,249                        // subps         %xmm9,%xmm15
26796  .byte  15,89,223                           // mulps         %xmm7,%xmm3
26797  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
26798  .byte  68,15,40,247                        // movaps        %xmm7,%xmm14
26799  .byte  15,40,199                           // movaps        %xmm7,%xmm0
26800  .byte  15,92,198                           // subps         %xmm6,%xmm0
26801  .byte  65,15,89,199                        // mulps         %xmm15,%xmm0
26802  .byte  15,88,192                           // addps         %xmm0,%xmm0
26803  .byte  68,15,40,251                        // movaps        %xmm3,%xmm15
26804  .byte  68,15,92,248                        // subps         %xmm0,%xmm15
26805  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
26806  .byte  15,88,192                           // addps         %xmm0,%xmm0
26807  .byte  15,194,196,2                        // cmpleps       %xmm4,%xmm0
26808  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
26809  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
26810  .byte  102,69,15,56,20,249                 // blendvps      %xmm0,%xmm9,%xmm15
26811  .byte  68,15,40,221                        // movaps        %xmm5,%xmm11
26812  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
26813  .byte  15,40,196                           // movaps        %xmm4,%xmm0
26814  .byte  15,92,193                           // subps         %xmm1,%xmm0
26815  .byte  69,15,40,204                        // movaps        %xmm12,%xmm9
26816  .byte  69,15,92,233                        // subps         %xmm9,%xmm13
26817  .byte  68,15,89,232                        // mulps         %xmm0,%xmm13
26818  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
26819  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
26820  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
26821  .byte  15,40,193                           // movaps        %xmm1,%xmm0
26822  .byte  15,88,192                           // addps         %xmm0,%xmm0
26823  .byte  15,194,196,2                        // cmpleps       %xmm4,%xmm0
26824  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
26825  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
26826  .byte  15,88,201                           // addps         %xmm1,%xmm1
26827  .byte  102,68,15,56,20,225                 // blendvps      %xmm0,%xmm1,%xmm12
26828  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
26829  .byte  69,15,40,202                        // movaps        %xmm10,%xmm9
26830  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
26831  .byte  69,15,88,199                        // addps         %xmm15,%xmm8
26832  .byte  65,15,89,205                        // mulps         %xmm13,%xmm1
26833  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
26834  .byte  65,15,88,204                        // addps         %xmm12,%xmm1
26835  .byte  15,89,234                           // mulps         %xmm2,%xmm5
26836  .byte  68,15,40,92,36,232                  // movaps        -0x18(%rsp),%xmm11
26837  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
26838  .byte  68,15,88,205                        // addps         %xmm5,%xmm9
26839  .byte  15,40,194                           // movaps        %xmm2,%xmm0
26840  .byte  15,88,192                           // addps         %xmm0,%xmm0
26841  .byte  15,194,196,2                        // cmpleps       %xmm4,%xmm0
26842  .byte  15,40,236                           // movaps        %xmm4,%xmm5
26843  .byte  15,92,234                           // subps         %xmm2,%xmm5
26844  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
26845  .byte  15,88,210                           // addps         %xmm2,%xmm2
26846  .byte  69,15,92,243                        // subps         %xmm11,%xmm14
26847  .byte  68,15,89,245                        // mulps         %xmm5,%xmm14
26848  .byte  69,15,88,246                        // addps         %xmm14,%xmm14
26849  .byte  65,15,92,222                        // subps         %xmm14,%xmm3
26850  .byte  102,15,56,20,218                    // blendvps      %xmm0,%xmm2,%xmm3
26851  .byte  68,15,88,203                        // addps         %xmm3,%xmm9
26852  .byte  65,15,88,226                        // addps         %xmm10,%xmm4
26853  .byte  72,173                              // lods          %ds:(%rsi),%rax
26854  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
26855  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
26856  .byte  15,40,220                           // movaps        %xmm4,%xmm3
26857  .byte  15,40,230                           // movaps        %xmm6,%xmm4
26858  .byte  65,15,40,237                        // movaps        %xmm13,%xmm5
26859  .byte  65,15,40,243                        // movaps        %xmm11,%xmm6
26860  .byte  255,224                             // jmpq          *%rax
26861
26862HIDDEN _sk_overlay_sse41
26863.globl _sk_overlay_sse41
26864FUNCTION(_sk_overlay_sse41)
26865_sk_overlay_sse41:
26866  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
26867  .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
26868  .byte  68,15,40,21,37,83,0,0               // movaps        0x5325(%rip),%xmm10        # 5e20 <_sk_callback_sse41+0x272>
26869  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
26870  .byte  68,15,92,223                        // subps         %xmm7,%xmm11
26871  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
26872  .byte  65,15,89,198                        // mulps         %xmm14,%xmm0
26873  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
26874  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
26875  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
26876  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
26877  .byte  68,15,40,235                        // movaps        %xmm3,%xmm13
26878  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
26879  .byte  68,15,89,244                        // mulps         %xmm4,%xmm14
26880  .byte  15,40,207                           // movaps        %xmm7,%xmm1
26881  .byte  15,92,204                           // subps         %xmm4,%xmm1
26882  .byte  15,40,196                           // movaps        %xmm4,%xmm0
26883  .byte  15,88,192                           // addps         %xmm0,%xmm0
26884  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
26885  .byte  69,15,88,246                        // addps         %xmm14,%xmm14
26886  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
26887  .byte  68,15,89,231                        // mulps         %xmm7,%xmm12
26888  .byte  65,15,89,205                        // mulps         %xmm13,%xmm1
26889  .byte  15,88,201                           // addps         %xmm1,%xmm1
26890  .byte  69,15,40,236                        // movaps        %xmm12,%xmm13
26891  .byte  68,15,92,233                        // subps         %xmm1,%xmm13
26892  .byte  102,69,15,56,20,238                 // blendvps      %xmm0,%xmm14,%xmm13
26893  .byte  69,15,88,197                        // addps         %xmm13,%xmm8
26894  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
26895  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
26896  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
26897  .byte  15,89,205                           // mulps         %xmm5,%xmm1
26898  .byte  15,88,200                           // addps         %xmm0,%xmm1
26899  .byte  68,15,40,235                        // movaps        %xmm3,%xmm13
26900  .byte  69,15,92,233                        // subps         %xmm9,%xmm13
26901  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
26902  .byte  68,15,40,247                        // movaps        %xmm7,%xmm14
26903  .byte  68,15,92,245                        // subps         %xmm5,%xmm14
26904  .byte  15,40,197                           // movaps        %xmm5,%xmm0
26905  .byte  15,88,192                           // addps         %xmm0,%xmm0
26906  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
26907  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
26908  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
26909  .byte  69,15,88,246                        // addps         %xmm14,%xmm14
26910  .byte  69,15,40,236                        // movaps        %xmm12,%xmm13
26911  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
26912  .byte  102,69,15,56,20,233                 // blendvps      %xmm0,%xmm9,%xmm13
26913  .byte  65,15,88,205                        // addps         %xmm13,%xmm1
26914  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
26915  .byte  69,15,40,202                        // movaps        %xmm10,%xmm9
26916  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
26917  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
26918  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
26919  .byte  68,15,92,218                        // subps         %xmm2,%xmm11
26920  .byte  15,89,214                           // mulps         %xmm6,%xmm2
26921  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
26922  .byte  68,15,92,238                        // subps         %xmm6,%xmm13
26923  .byte  15,40,198                           // movaps        %xmm6,%xmm0
26924  .byte  15,88,192                           // addps         %xmm0,%xmm0
26925  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
26926  .byte  15,88,210                           // addps         %xmm2,%xmm2
26927  .byte  69,15,89,235                        // mulps         %xmm11,%xmm13
26928  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
26929  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
26930  .byte  102,68,15,56,20,226                 // blendvps      %xmm0,%xmm2,%xmm12
26931  .byte  69,15,88,204                        // addps         %xmm12,%xmm9
26932  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
26933  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
26934  .byte  72,173                              // lods          %ds:(%rsi),%rax
26935  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
26936  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
26937  .byte  255,224                             // jmpq          *%rax
26938
26939HIDDEN _sk_softlight_sse41
26940.globl _sk_softlight_sse41
26941FUNCTION(_sk_softlight_sse41)
26942_sk_softlight_sse41:
26943  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
26944  .byte  15,40,244                           // movaps        %xmm4,%xmm6
26945  .byte  15,41,84,36,232                     // movaps        %xmm2,-0x18(%rsp)
26946  .byte  15,41,76,36,200                     // movaps        %xmm1,-0x38(%rsp)
26947  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
26948  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
26949  .byte  68,15,194,207,1                     // cmpltps       %xmm7,%xmm9
26950  .byte  15,40,198                           // movaps        %xmm6,%xmm0
26951  .byte  15,94,199                           // divps         %xmm7,%xmm0
26952  .byte  65,15,84,193                        // andps         %xmm9,%xmm0
26953  .byte  15,40,13,252,81,0,0                 // movaps        0x51fc(%rip),%xmm1        # 5e30 <_sk_callback_sse41+0x282>
26954  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
26955  .byte  68,15,92,208                        // subps         %xmm0,%xmm10
26956  .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
26957  .byte  68,15,40,248                        // movaps        %xmm0,%xmm15
26958  .byte  15,82,208                           // rsqrtps       %xmm0,%xmm2
26959  .byte  68,15,83,218                        // rcpps         %xmm2,%xmm11
26960  .byte  68,15,92,216                        // subps         %xmm0,%xmm11
26961  .byte  15,88,192                           // addps         %xmm0,%xmm0
26962  .byte  15,88,192                           // addps         %xmm0,%xmm0
26963  .byte  15,40,208                           // movaps        %xmm0,%xmm2
26964  .byte  15,89,210                           // mulps         %xmm2,%xmm2
26965  .byte  15,88,208                           // addps         %xmm0,%xmm2
26966  .byte  68,15,40,45,218,81,0,0              // movaps        0x51da(%rip),%xmm13        # 5e40 <_sk_callback_sse41+0x292>
26967  .byte  69,15,88,245                        // addps         %xmm13,%xmm14
26968  .byte  68,15,89,242                        // mulps         %xmm2,%xmm14
26969  .byte  68,15,40,37,218,81,0,0              // movaps        0x51da(%rip),%xmm12        # 5e50 <_sk_callback_sse41+0x2a2>
26970  .byte  69,15,89,252                        // mulps         %xmm12,%xmm15
26971  .byte  69,15,88,254                        // addps         %xmm14,%xmm15
26972  .byte  15,40,198                           // movaps        %xmm6,%xmm0
26973  .byte  15,88,192                           // addps         %xmm0,%xmm0
26974  .byte  15,88,192                           // addps         %xmm0,%xmm0
26975  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
26976  .byte  102,69,15,56,20,223                 // blendvps      %xmm0,%xmm15,%xmm11
26977  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
26978  .byte  15,88,192                           // addps         %xmm0,%xmm0
26979  .byte  15,40,208                           // movaps        %xmm0,%xmm2
26980  .byte  15,92,211                           // subps         %xmm3,%xmm2
26981  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
26982  .byte  68,15,88,211                        // addps         %xmm3,%xmm10
26983  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
26984  .byte  15,89,215                           // mulps         %xmm7,%xmm2
26985  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
26986  .byte  15,40,211                           // movaps        %xmm3,%xmm2
26987  .byte  15,89,214                           // mulps         %xmm6,%xmm2
26988  .byte  68,15,88,218                        // addps         %xmm2,%xmm11
26989  .byte  15,194,195,2                        // cmpleps       %xmm3,%xmm0
26990  .byte  102,69,15,56,20,218                 // blendvps      %xmm0,%xmm10,%xmm11
26991  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
26992  .byte  68,15,94,215                        // divps         %xmm7,%xmm10
26993  .byte  69,15,84,209                        // andps         %xmm9,%xmm10
26994  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
26995  .byte  15,88,192                           // addps         %xmm0,%xmm0
26996  .byte  15,88,192                           // addps         %xmm0,%xmm0
26997  .byte  15,40,208                           // movaps        %xmm0,%xmm2
26998  .byte  15,89,210                           // mulps         %xmm2,%xmm2
26999  .byte  15,88,208                           // addps         %xmm0,%xmm2
27000  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
27001  .byte  65,15,88,197                        // addps         %xmm13,%xmm0
27002  .byte  15,89,194                           // mulps         %xmm2,%xmm0
27003  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
27004  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
27005  .byte  15,88,208                           // addps         %xmm0,%xmm2
27006  .byte  65,15,82,194                        // rsqrtps       %xmm10,%xmm0
27007  .byte  68,15,83,240                        // rcpps         %xmm0,%xmm14
27008  .byte  69,15,92,242                        // subps         %xmm10,%xmm14
27009  .byte  15,40,197                           // movaps        %xmm5,%xmm0
27010  .byte  15,40,229                           // movaps        %xmm5,%xmm4
27011  .byte  15,88,192                           // addps         %xmm0,%xmm0
27012  .byte  15,88,192                           // addps         %xmm0,%xmm0
27013  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
27014  .byte  102,68,15,56,20,242                 // blendvps      %xmm0,%xmm2,%xmm14
27015  .byte  68,15,40,249                        // movaps        %xmm1,%xmm15
27016  .byte  69,15,92,250                        // subps         %xmm10,%xmm15
27017  .byte  15,40,108,36,200                    // movaps        -0x38(%rsp),%xmm5
27018  .byte  15,40,197                           // movaps        %xmm5,%xmm0
27019  .byte  15,88,192                           // addps         %xmm0,%xmm0
27020  .byte  15,40,208                           // movaps        %xmm0,%xmm2
27021  .byte  15,92,211                           // subps         %xmm3,%xmm2
27022  .byte  68,15,89,250                        // mulps         %xmm2,%xmm15
27023  .byte  15,89,215                           // mulps         %xmm7,%xmm2
27024  .byte  68,15,89,242                        // mulps         %xmm2,%xmm14
27025  .byte  15,40,211                           // movaps        %xmm3,%xmm2
27026  .byte  15,41,100,36,184                    // movaps        %xmm4,-0x48(%rsp)
27027  .byte  15,89,212                           // mulps         %xmm4,%xmm2
27028  .byte  68,15,88,242                        // addps         %xmm2,%xmm14
27029  .byte  68,15,88,251                        // addps         %xmm3,%xmm15
27030  .byte  68,15,89,252                        // mulps         %xmm4,%xmm15
27031  .byte  15,194,195,2                        // cmpleps       %xmm3,%xmm0
27032  .byte  102,69,15,56,20,247                 // blendvps      %xmm0,%xmm15,%xmm14
27033  .byte  68,15,40,249                        // movaps        %xmm1,%xmm15
27034  .byte  15,40,100,36,216                    // movaps        -0x28(%rsp),%xmm4
27035  .byte  15,40,196                           // movaps        %xmm4,%xmm0
27036  .byte  15,94,199                           // divps         %xmm7,%xmm0
27037  .byte  65,15,84,193                        // andps         %xmm9,%xmm0
27038  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
27039  .byte  15,92,200                           // subps         %xmm0,%xmm1
27040  .byte  68,15,88,232                        // addps         %xmm0,%xmm13
27041  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
27042  .byte  15,82,208                           // rsqrtps       %xmm0,%xmm2
27043  .byte  68,15,83,202                        // rcpps         %xmm2,%xmm9
27044  .byte  68,15,92,200                        // subps         %xmm0,%xmm9
27045  .byte  15,88,192                           // addps         %xmm0,%xmm0
27046  .byte  15,88,192                           // addps         %xmm0,%xmm0
27047  .byte  15,40,208                           // movaps        %xmm0,%xmm2
27048  .byte  15,89,210                           // mulps         %xmm2,%xmm2
27049  .byte  15,88,208                           // addps         %xmm0,%xmm2
27050  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
27051  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
27052  .byte  15,40,196                           // movaps        %xmm4,%xmm0
27053  .byte  15,88,192                           // addps         %xmm0,%xmm0
27054  .byte  15,88,192                           // addps         %xmm0,%xmm0
27055  .byte  15,194,199,2                        // cmpleps       %xmm7,%xmm0
27056  .byte  102,69,15,56,20,204                 // blendvps      %xmm0,%xmm12,%xmm9
27057  .byte  68,15,40,100,36,232                 // movaps        -0x18(%rsp),%xmm12
27058  .byte  65,15,40,196                        // movaps        %xmm12,%xmm0
27059  .byte  15,88,192                           // addps         %xmm0,%xmm0
27060  .byte  15,40,208                           // movaps        %xmm0,%xmm2
27061  .byte  15,92,211                           // subps         %xmm3,%xmm2
27062  .byte  15,89,202                           // mulps         %xmm2,%xmm1
27063  .byte  15,89,215                           // mulps         %xmm7,%xmm2
27064  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
27065  .byte  15,40,211                           // movaps        %xmm3,%xmm2
27066  .byte  15,89,212                           // mulps         %xmm4,%xmm2
27067  .byte  68,15,88,202                        // addps         %xmm2,%xmm9
27068  .byte  15,88,203                           // addps         %xmm3,%xmm1
27069  .byte  15,89,204                           // mulps         %xmm4,%xmm1
27070  .byte  15,194,195,2                        // cmpleps       %xmm3,%xmm0
27071  .byte  102,68,15,56,20,201                 // blendvps      %xmm0,%xmm1,%xmm9
27072  .byte  68,15,92,255                        // subps         %xmm7,%xmm15
27073  .byte  69,15,89,199                        // mulps         %xmm15,%xmm8
27074  .byte  15,40,205                           // movaps        %xmm5,%xmm1
27075  .byte  65,15,89,207                        // mulps         %xmm15,%xmm1
27076  .byte  69,15,89,252                        // mulps         %xmm12,%xmm15
27077  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
27078  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
27079  .byte  15,89,198                           // mulps         %xmm6,%xmm0
27080  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
27081  .byte  69,15,88,195                        // addps         %xmm11,%xmm8
27082  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
27083  .byte  15,40,108,36,184                    // movaps        -0x48(%rsp),%xmm5
27084  .byte  15,89,197                           // mulps         %xmm5,%xmm0
27085  .byte  15,88,200                           // addps         %xmm0,%xmm1
27086  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
27087  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
27088  .byte  15,89,196                           // mulps         %xmm4,%xmm0
27089  .byte  15,40,212                           // movaps        %xmm4,%xmm2
27090  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
27091  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
27092  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
27093  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
27094  .byte  72,173                              // lods          %ds:(%rsi),%rax
27095  .byte  15,40,230                           // movaps        %xmm6,%xmm4
27096  .byte  15,40,242                           // movaps        %xmm2,%xmm6
27097  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
27098  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
27099  .byte  255,224                             // jmpq          *%rax
27100
27101HIDDEN _sk_hue_sse41
27102.globl _sk_hue_sse41
27103FUNCTION(_sk_hue_sse41)
27104_sk_hue_sse41:
27105  .byte  15,41,124,36,152                    // movaps        %xmm7,-0x68(%rsp)
27106  .byte  68,15,40,246                        // movaps        %xmm6,%xmm14
27107  .byte  15,40,244                           // movaps        %xmm4,%xmm6
27108  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
27109  .byte  15,41,84,36,232                     // movaps        %xmm2,-0x18(%rsp)
27110  .byte  15,41,76,36,216                     // movaps        %xmm1,-0x28(%rsp)
27111  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
27112  .byte  68,15,41,84,36,200                  // movaps        %xmm10,-0x38(%rsp)
27113  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
27114  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
27115  .byte  68,15,40,234                        // movaps        %xmm2,%xmm13
27116  .byte  69,15,89,232                        // mulps         %xmm8,%xmm13
27117  .byte  68,15,40,205                        // movaps        %xmm5,%xmm9
27118  .byte  68,15,40,221                        // movaps        %xmm5,%xmm11
27119  .byte  15,41,108,36,184                    // movaps        %xmm5,-0x48(%rsp)
27120  .byte  69,15,95,222                        // maxps         %xmm14,%xmm11
27121  .byte  15,40,254                           // movaps        %xmm6,%xmm7
27122  .byte  68,15,40,230                        // movaps        %xmm6,%xmm12
27123  .byte  15,40,214                           // movaps        %xmm6,%xmm2
27124  .byte  65,15,95,211                        // maxps         %xmm11,%xmm2
27125  .byte  65,15,40,230                        // movaps        %xmm14,%xmm4
27126  .byte  15,41,100,36,168                    // movaps        %xmm4,-0x58(%rsp)
27127  .byte  68,15,93,204                        // minps         %xmm4,%xmm9
27128  .byte  65,15,93,249                        // minps         %xmm9,%xmm7
27129  .byte  15,92,215                           // subps         %xmm7,%xmm2
27130  .byte  15,40,249                           // movaps        %xmm1,%xmm7
27131  .byte  65,15,93,253                        // minps         %xmm13,%xmm7
27132  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
27133  .byte  15,93,223                           // minps         %xmm7,%xmm3
27134  .byte  15,40,249                           // movaps        %xmm1,%xmm7
27135  .byte  65,15,95,253                        // maxps         %xmm13,%xmm7
27136  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
27137  .byte  15,95,199                           // maxps         %xmm7,%xmm0
27138  .byte  15,40,253                           // movaps        %xmm5,%xmm7
27139  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
27140  .byte  15,92,195                           // subps         %xmm3,%xmm0
27141  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
27142  .byte  15,92,203                           // subps         %xmm3,%xmm1
27143  .byte  68,15,92,235                        // subps         %xmm3,%xmm13
27144  .byte  15,87,219                           // xorps         %xmm3,%xmm3
27145  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
27146  .byte  68,15,94,208                        // divps         %xmm0,%xmm10
27147  .byte  15,89,202                           // mulps         %xmm2,%xmm1
27148  .byte  15,94,200                           // divps         %xmm0,%xmm1
27149  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
27150  .byte  68,15,94,232                        // divps         %xmm0,%xmm13
27151  .byte  15,194,195,4                        // cmpneqps      %xmm3,%xmm0
27152  .byte  68,15,84,208                        // andps         %xmm0,%xmm10
27153  .byte  15,84,200                           // andps         %xmm0,%xmm1
27154  .byte  68,15,84,232                        // andps         %xmm0,%xmm13
27155  .byte  15,40,5,69,79,0,0                   // movaps        0x4f45(%rip),%xmm0        # 5e60 <_sk_callback_sse41+0x2b2>
27156  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
27157  .byte  15,40,21,74,79,0,0                  // movaps        0x4f4a(%rip),%xmm2        # 5e70 <_sk_callback_sse41+0x2c2>
27158  .byte  15,89,250                           // mulps         %xmm2,%xmm7
27159  .byte  65,15,88,252                        // addps         %xmm12,%xmm7
27160  .byte  68,15,40,53,75,79,0,0               // movaps        0x4f4b(%rip),%xmm14        # 5e80 <_sk_callback_sse41+0x2d2>
27161  .byte  68,15,40,252                        // movaps        %xmm4,%xmm15
27162  .byte  69,15,89,254                        // mulps         %xmm14,%xmm15
27163  .byte  68,15,88,255                        // addps         %xmm7,%xmm15
27164  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
27165  .byte  15,89,216                           // mulps         %xmm0,%xmm3
27166  .byte  15,40,249                           // movaps        %xmm1,%xmm7
27167  .byte  15,89,250                           // mulps         %xmm2,%xmm7
27168  .byte  15,88,251                           // addps         %xmm3,%xmm7
27169  .byte  65,15,40,221                        // movaps        %xmm13,%xmm3
27170  .byte  65,15,89,222                        // mulps         %xmm14,%xmm3
27171  .byte  15,88,223                           // addps         %xmm7,%xmm3
27172  .byte  69,15,89,248                        // mulps         %xmm8,%xmm15
27173  .byte  68,15,92,251                        // subps         %xmm3,%xmm15
27174  .byte  69,15,88,215                        // addps         %xmm15,%xmm10
27175  .byte  65,15,88,207                        // addps         %xmm15,%xmm1
27176  .byte  69,15,88,253                        // addps         %xmm13,%xmm15
27177  .byte  15,40,217                           // movaps        %xmm1,%xmm3
27178  .byte  65,15,93,223                        // minps         %xmm15,%xmm3
27179  .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
27180  .byte  15,93,251                           // minps         %xmm3,%xmm7
27181  .byte  65,15,89,194                        // mulps         %xmm10,%xmm0
27182  .byte  15,89,209                           // mulps         %xmm1,%xmm2
27183  .byte  15,88,208                           // addps         %xmm0,%xmm2
27184  .byte  69,15,89,247                        // mulps         %xmm15,%xmm14
27185  .byte  68,15,88,242                        // addps         %xmm2,%xmm14
27186  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
27187  .byte  68,15,194,207,2                     // cmpleps       %xmm7,%xmm9
27188  .byte  65,15,40,222                        // movaps        %xmm14,%xmm3
27189  .byte  15,92,223                           // subps         %xmm7,%xmm3
27190  .byte  69,15,40,234                        // movaps        %xmm10,%xmm13
27191  .byte  69,15,92,238                        // subps         %xmm14,%xmm13
27192  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
27193  .byte  68,15,94,235                        // divps         %xmm3,%xmm13
27194  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
27195  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27196  .byte  102,69,15,56,20,234                 // blendvps      %xmm0,%xmm10,%xmm13
27197  .byte  15,40,193                           // movaps        %xmm1,%xmm0
27198  .byte  65,15,95,199                        // maxps         %xmm15,%xmm0
27199  .byte  68,15,95,208                        // maxps         %xmm0,%xmm10
27200  .byte  65,15,40,248                        // movaps        %xmm8,%xmm7
27201  .byte  15,40,108,36,152                    // movaps        -0x68(%rsp),%xmm5
27202  .byte  15,89,253                           // mulps         %xmm5,%xmm7
27203  .byte  15,40,231                           // movaps        %xmm7,%xmm4
27204  .byte  65,15,194,226,1                     // cmpltps       %xmm10,%xmm4
27205  .byte  65,15,40,213                        // movaps        %xmm13,%xmm2
27206  .byte  65,15,92,214                        // subps         %xmm14,%xmm2
27207  .byte  68,15,40,223                        // movaps        %xmm7,%xmm11
27208  .byte  69,15,92,222                        // subps         %xmm14,%xmm11
27209  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
27210  .byte  69,15,92,214                        // subps         %xmm14,%xmm10
27211  .byte  65,15,94,210                        // divps         %xmm10,%xmm2
27212  .byte  65,15,88,214                        // addps         %xmm14,%xmm2
27213  .byte  15,40,196                           // movaps        %xmm4,%xmm0
27214  .byte  102,68,15,56,20,234                 // blendvps      %xmm0,%xmm2,%xmm13
27215  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
27216  .byte  69,15,92,230                        // subps         %xmm14,%xmm12
27217  .byte  69,15,89,230                        // mulps         %xmm14,%xmm12
27218  .byte  68,15,94,227                        // divps         %xmm3,%xmm12
27219  .byte  69,15,88,230                        // addps         %xmm14,%xmm12
27220  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27221  .byte  102,68,15,56,20,225                 // blendvps      %xmm0,%xmm1,%xmm12
27222  .byte  65,15,40,204                        // movaps        %xmm12,%xmm1
27223  .byte  65,15,92,206                        // subps         %xmm14,%xmm1
27224  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
27225  .byte  65,15,94,202                        // divps         %xmm10,%xmm1
27226  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
27227  .byte  15,40,196                           // movaps        %xmm4,%xmm0
27228  .byte  102,68,15,56,20,225                 // blendvps      %xmm0,%xmm1,%xmm12
27229  .byte  65,15,40,207                        // movaps        %xmm15,%xmm1
27230  .byte  65,15,92,206                        // subps         %xmm14,%xmm1
27231  .byte  65,15,89,206                        // mulps         %xmm14,%xmm1
27232  .byte  15,94,203                           // divps         %xmm3,%xmm1
27233  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
27234  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27235  .byte  102,65,15,56,20,207                 // blendvps      %xmm0,%xmm15,%xmm1
27236  .byte  15,40,209                           // movaps        %xmm1,%xmm2
27237  .byte  65,15,92,214                        // subps         %xmm14,%xmm2
27238  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
27239  .byte  65,15,94,210                        // divps         %xmm10,%xmm2
27240  .byte  65,15,88,214                        // addps         %xmm14,%xmm2
27241  .byte  15,40,196                           // movaps        %xmm4,%xmm0
27242  .byte  102,15,56,20,202                    // blendvps      %xmm0,%xmm2,%xmm1
27243  .byte  68,15,40,13,15,78,0,0               // movaps        0x4e0f(%rip),%xmm9        # 5e90 <_sk_callback_sse41+0x2e2>
27244  .byte  65,15,40,225                        // movaps        %xmm9,%xmm4
27245  .byte  15,92,229                           // subps         %xmm5,%xmm4
27246  .byte  15,40,68,36,200                     // movaps        -0x38(%rsp),%xmm0
27247  .byte  15,89,196                           // mulps         %xmm4,%xmm0
27248  .byte  15,40,92,36,216                     // movaps        -0x28(%rsp),%xmm3
27249  .byte  15,89,220                           // mulps         %xmm4,%xmm3
27250  .byte  15,89,100,36,232                    // mulps         -0x18(%rsp),%xmm4
27251  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
27252  .byte  68,15,88,197                        // addps         %xmm5,%xmm8
27253  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
27254  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
27255  .byte  15,87,210                           // xorps         %xmm2,%xmm2
27256  .byte  68,15,95,234                        // maxps         %xmm2,%xmm13
27257  .byte  68,15,95,226                        // maxps         %xmm2,%xmm12
27258  .byte  15,95,202                           // maxps         %xmm2,%xmm1
27259  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
27260  .byte  15,89,214                           // mulps         %xmm6,%xmm2
27261  .byte  15,88,194                           // addps         %xmm2,%xmm0
27262  .byte  65,15,88,197                        // addps         %xmm13,%xmm0
27263  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
27264  .byte  15,40,108,36,184                    // movaps        -0x48(%rsp),%xmm5
27265  .byte  15,89,213                           // mulps         %xmm5,%xmm2
27266  .byte  15,88,218                           // addps         %xmm2,%xmm3
27267  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
27268  .byte  15,40,211                           // movaps        %xmm3,%xmm2
27269  .byte  15,40,92,36,168                     // movaps        -0x58(%rsp),%xmm3
27270  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
27271  .byte  68,15,88,204                        // addps         %xmm4,%xmm9
27272  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
27273  .byte  72,173                              // lods          %ds:(%rsi),%rax
27274  .byte  15,40,230                           // movaps        %xmm6,%xmm4
27275  .byte  15,40,243                           // movaps        %xmm3,%xmm6
27276  .byte  15,40,202                           // movaps        %xmm2,%xmm1
27277  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
27278  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
27279  .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
27280  .byte  255,224                             // jmpq          *%rax
27281
27282HIDDEN _sk_saturation_sse41
27283.globl _sk_saturation_sse41
27284FUNCTION(_sk_saturation_sse41)
27285_sk_saturation_sse41:
27286  .byte  68,15,40,206                        // movaps        %xmm6,%xmm9
27287  .byte  15,40,245                           // movaps        %xmm5,%xmm6
27288  .byte  15,40,236                           // movaps        %xmm4,%xmm5
27289  .byte  15,40,227                           // movaps        %xmm3,%xmm4
27290  .byte  15,41,76,36,216                     // movaps        %xmm1,-0x28(%rsp)
27291  .byte  15,41,68,36,200                     // movaps        %xmm0,-0x38(%rsp)
27292  .byte  68,15,40,212                        // movaps        %xmm4,%xmm10
27293  .byte  68,15,89,213                        // mulps         %xmm5,%xmm10
27294  .byte  68,15,40,220                        // movaps        %xmm4,%xmm11
27295  .byte  68,15,89,222                        // mulps         %xmm6,%xmm11
27296  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
27297  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
27298  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
27299  .byte  68,15,41,116,36,184                 // movaps        %xmm14,-0x48(%rsp)
27300  .byte  15,40,217                           // movaps        %xmm1,%xmm3
27301  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
27302  .byte  68,15,41,76,36,232                  // movaps        %xmm9,-0x18(%rsp)
27303  .byte  65,15,95,217                        // maxps         %xmm9,%xmm3
27304  .byte  15,40,208                           // movaps        %xmm0,%xmm2
27305  .byte  15,95,211                           // maxps         %xmm3,%xmm2
27306  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
27307  .byte  69,15,93,225                        // minps         %xmm9,%xmm12
27308  .byte  15,40,216                           // movaps        %xmm0,%xmm3
27309  .byte  65,15,93,220                        // minps         %xmm12,%xmm3
27310  .byte  15,92,211                           // subps         %xmm3,%xmm2
27311  .byte  15,89,215                           // mulps         %xmm7,%xmm2
27312  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
27313  .byte  68,15,41,100,36,168                 // movaps        %xmm12,-0x58(%rsp)
27314  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
27315  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
27316  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
27317  .byte  15,93,216                           // minps         %xmm0,%xmm3
27318  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
27319  .byte  65,15,95,192                        // maxps         %xmm8,%xmm0
27320  .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
27321  .byte  15,95,248                           // maxps         %xmm0,%xmm7
27322  .byte  15,92,251                           // subps         %xmm3,%xmm7
27323  .byte  15,87,192                           // xorps         %xmm0,%xmm0
27324  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
27325  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
27326  .byte  68,15,94,215                        // divps         %xmm7,%xmm10
27327  .byte  68,15,92,219                        // subps         %xmm3,%xmm11
27328  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
27329  .byte  68,15,94,223                        // divps         %xmm7,%xmm11
27330  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
27331  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
27332  .byte  68,15,94,199                        // divps         %xmm7,%xmm8
27333  .byte  15,194,248,4                        // cmpneqps      %xmm0,%xmm7
27334  .byte  68,15,84,215                        // andps         %xmm7,%xmm10
27335  .byte  68,15,84,223                        // andps         %xmm7,%xmm11
27336  .byte  68,15,84,199                        // andps         %xmm7,%xmm8
27337  .byte  15,40,21,201,76,0,0                 // movaps        0x4cc9(%rip),%xmm2        # 5ea0 <_sk_callback_sse41+0x2f2>
27338  .byte  15,40,221                           // movaps        %xmm5,%xmm3
27339  .byte  15,89,218                           // mulps         %xmm2,%xmm3
27340  .byte  15,40,13,204,76,0,0                 // movaps        0x4ccc(%rip),%xmm1        # 5eb0 <_sk_callback_sse41+0x302>
27341  .byte  15,40,254                           // movaps        %xmm6,%xmm7
27342  .byte  15,89,249                           // mulps         %xmm1,%xmm7
27343  .byte  15,88,251                           // addps         %xmm3,%xmm7
27344  .byte  68,15,40,45,203,76,0,0              // movaps        0x4ccb(%rip),%xmm13        # 5ec0 <_sk_callback_sse41+0x312>
27345  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
27346  .byte  68,15,88,247                        // addps         %xmm7,%xmm14
27347  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
27348  .byte  15,89,218                           // mulps         %xmm2,%xmm3
27349  .byte  65,15,40,251                        // movaps        %xmm11,%xmm7
27350  .byte  15,89,249                           // mulps         %xmm1,%xmm7
27351  .byte  15,88,251                           // addps         %xmm3,%xmm7
27352  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
27353  .byte  65,15,89,221                        // mulps         %xmm13,%xmm3
27354  .byte  15,88,223                           // addps         %xmm7,%xmm3
27355  .byte  68,15,89,244                        // mulps         %xmm4,%xmm14
27356  .byte  68,15,92,243                        // subps         %xmm3,%xmm14
27357  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
27358  .byte  69,15,88,222                        // addps         %xmm14,%xmm11
27359  .byte  69,15,88,240                        // addps         %xmm8,%xmm14
27360  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
27361  .byte  65,15,93,198                        // minps         %xmm14,%xmm0
27362  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
27363  .byte  15,93,216                           // minps         %xmm0,%xmm3
27364  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
27365  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
27366  .byte  15,88,202                           // addps         %xmm2,%xmm1
27367  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
27368  .byte  68,15,88,233                        // addps         %xmm1,%xmm13
27369  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
27370  .byte  68,15,194,203,2                     // cmpleps       %xmm3,%xmm9
27371  .byte  65,15,40,253                        // movaps        %xmm13,%xmm7
27372  .byte  15,92,251                           // subps         %xmm3,%xmm7
27373  .byte  69,15,40,250                        // movaps        %xmm10,%xmm15
27374  .byte  69,15,92,253                        // subps         %xmm13,%xmm15
27375  .byte  69,15,89,253                        // mulps         %xmm13,%xmm15
27376  .byte  68,15,94,255                        // divps         %xmm7,%xmm15
27377  .byte  69,15,88,253                        // addps         %xmm13,%xmm15
27378  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27379  .byte  102,69,15,56,20,250                 // blendvps      %xmm0,%xmm10,%xmm15
27380  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
27381  .byte  65,15,95,198                        // maxps         %xmm14,%xmm0
27382  .byte  68,15,95,208                        // maxps         %xmm0,%xmm10
27383  .byte  15,40,212                           // movaps        %xmm4,%xmm2
27384  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
27385  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
27386  .byte  69,15,194,194,1                     // cmpltps       %xmm10,%xmm8
27387  .byte  65,15,40,223                        // movaps        %xmm15,%xmm3
27388  .byte  65,15,92,221                        // subps         %xmm13,%xmm3
27389  .byte  15,40,202                           // movaps        %xmm2,%xmm1
27390  .byte  65,15,92,205                        // subps         %xmm13,%xmm1
27391  .byte  15,89,217                           // mulps         %xmm1,%xmm3
27392  .byte  69,15,92,213                        // subps         %xmm13,%xmm10
27393  .byte  65,15,94,218                        // divps         %xmm10,%xmm3
27394  .byte  65,15,88,221                        // addps         %xmm13,%xmm3
27395  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
27396  .byte  102,68,15,56,20,251                 // blendvps      %xmm0,%xmm3,%xmm15
27397  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
27398  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
27399  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
27400  .byte  68,15,94,231                        // divps         %xmm7,%xmm12
27401  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
27402  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27403  .byte  102,69,15,56,20,227                 // blendvps      %xmm0,%xmm11,%xmm12
27404  .byte  65,15,40,220                        // movaps        %xmm12,%xmm3
27405  .byte  65,15,92,221                        // subps         %xmm13,%xmm3
27406  .byte  15,89,217                           // mulps         %xmm1,%xmm3
27407  .byte  65,15,94,218                        // divps         %xmm10,%xmm3
27408  .byte  65,15,88,221                        // addps         %xmm13,%xmm3
27409  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
27410  .byte  102,68,15,56,20,227                 // blendvps      %xmm0,%xmm3,%xmm12
27411  .byte  69,15,40,222                        // movaps        %xmm14,%xmm11
27412  .byte  69,15,92,221                        // subps         %xmm13,%xmm11
27413  .byte  69,15,89,221                        // mulps         %xmm13,%xmm11
27414  .byte  68,15,94,223                        // divps         %xmm7,%xmm11
27415  .byte  69,15,88,221                        // addps         %xmm13,%xmm11
27416  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27417  .byte  102,69,15,56,20,222                 // blendvps      %xmm0,%xmm14,%xmm11
27418  .byte  65,15,40,251                        // movaps        %xmm11,%xmm7
27419  .byte  65,15,92,253                        // subps         %xmm13,%xmm7
27420  .byte  15,89,249                           // mulps         %xmm1,%xmm7
27421  .byte  65,15,94,250                        // divps         %xmm10,%xmm7
27422  .byte  65,15,88,253                        // addps         %xmm13,%xmm7
27423  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
27424  .byte  102,68,15,56,20,223                 // blendvps      %xmm0,%xmm7,%xmm11
27425  .byte  68,15,40,13,145,75,0,0              // movaps        0x4b91(%rip),%xmm9        # 5ed0 <_sk_callback_sse41+0x322>
27426  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
27427  .byte  68,15,92,204                        // subps         %xmm4,%xmm9
27428  .byte  15,40,124,36,168                    // movaps        -0x58(%rsp),%xmm7
27429  .byte  15,88,231                           // addps         %xmm7,%xmm4
27430  .byte  15,92,226                           // subps         %xmm2,%xmm4
27431  .byte  15,40,220                           // movaps        %xmm4,%xmm3
27432  .byte  15,87,192                           // xorps         %xmm0,%xmm0
27433  .byte  68,15,95,248                        // maxps         %xmm0,%xmm15
27434  .byte  68,15,95,224                        // maxps         %xmm0,%xmm12
27435  .byte  68,15,95,216                        // maxps         %xmm0,%xmm11
27436  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
27437  .byte  15,89,205                           // mulps         %xmm5,%xmm1
27438  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
27439  .byte  15,40,68,36,200                     // movaps        -0x38(%rsp),%xmm0
27440  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
27441  .byte  15,88,193                           // addps         %xmm1,%xmm0
27442  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
27443  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
27444  .byte  15,89,206                           // mulps         %xmm6,%xmm1
27445  .byte  15,40,84,36,216                     // movaps        -0x28(%rsp),%xmm2
27446  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
27447  .byte  15,88,209                           // addps         %xmm1,%xmm2
27448  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
27449  .byte  15,40,202                           // movaps        %xmm2,%xmm1
27450  .byte  68,15,89,68,36,232                  // mulps         -0x18(%rsp),%xmm8
27451  .byte  15,40,84,36,184                     // movaps        -0x48(%rsp),%xmm2
27452  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
27453  .byte  69,15,88,200                        // addps         %xmm8,%xmm9
27454  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
27455  .byte  72,173                              // lods          %ds:(%rsi),%rax
27456  .byte  15,40,229                           // movaps        %xmm5,%xmm4
27457  .byte  15,40,238                           // movaps        %xmm6,%xmm5
27458  .byte  15,40,242                           // movaps        %xmm2,%xmm6
27459  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
27460  .byte  255,224                             // jmpq          *%rax
27461
27462HIDDEN _sk_color_sse41
27463.globl _sk_color_sse41
27464FUNCTION(_sk_color_sse41)
27465_sk_color_sse41:
27466  .byte  68,15,40,230                        // movaps        %xmm6,%xmm12
27467  .byte  68,15,41,100,36,200                 // movaps        %xmm12,-0x38(%rsp)
27468  .byte  68,15,40,221                        // movaps        %xmm5,%xmm11
27469  .byte  68,15,41,92,36,216                  // movaps        %xmm11,-0x28(%rsp)
27470  .byte  68,15,40,212                        // movaps        %xmm4,%xmm10
27471  .byte  68,15,41,84,36,232                  // movaps        %xmm10,-0x18(%rsp)
27472  .byte  15,40,243                           // movaps        %xmm3,%xmm6
27473  .byte  15,41,84,36,184                     // movaps        %xmm2,-0x48(%rsp)
27474  .byte  15,40,233                           // movaps        %xmm1,%xmm5
27475  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
27476  .byte  69,15,40,240                        // movaps        %xmm8,%xmm14
27477  .byte  15,40,231                           // movaps        %xmm7,%xmm4
27478  .byte  68,15,89,244                        // mulps         %xmm4,%xmm14
27479  .byte  15,89,204                           // mulps         %xmm4,%xmm1
27480  .byte  68,15,40,13,220,74,0,0              // movaps        0x4adc(%rip),%xmm9        # 5ee0 <_sk_callback_sse41+0x332>
27481  .byte  65,15,40,250                        // movaps        %xmm10,%xmm7
27482  .byte  65,15,89,249                        // mulps         %xmm9,%xmm7
27483  .byte  68,15,40,21,220,74,0,0              // movaps        0x4adc(%rip),%xmm10        # 5ef0 <_sk_callback_sse41+0x342>
27484  .byte  65,15,40,219                        // movaps        %xmm11,%xmm3
27485  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
27486  .byte  15,88,223                           // addps         %xmm7,%xmm3
27487  .byte  68,15,40,29,217,74,0,0              // movaps        0x4ad9(%rip),%xmm11        # 5f00 <_sk_callback_sse41+0x352>
27488  .byte  69,15,40,236                        // movaps        %xmm12,%xmm13
27489  .byte  69,15,89,235                        // mulps         %xmm11,%xmm13
27490  .byte  68,15,88,235                        // addps         %xmm3,%xmm13
27491  .byte  65,15,40,222                        // movaps        %xmm14,%xmm3
27492  .byte  65,15,89,217                        // mulps         %xmm9,%xmm3
27493  .byte  15,40,249                           // movaps        %xmm1,%xmm7
27494  .byte  65,15,89,250                        // mulps         %xmm10,%xmm7
27495  .byte  15,88,251                           // addps         %xmm3,%xmm7
27496  .byte  15,40,194                           // movaps        %xmm2,%xmm0
27497  .byte  15,89,196                           // mulps         %xmm4,%xmm0
27498  .byte  15,40,216                           // movaps        %xmm0,%xmm3
27499  .byte  65,15,89,219                        // mulps         %xmm11,%xmm3
27500  .byte  15,88,223                           // addps         %xmm7,%xmm3
27501  .byte  68,15,89,238                        // mulps         %xmm6,%xmm13
27502  .byte  68,15,92,235                        // subps         %xmm3,%xmm13
27503  .byte  69,15,88,245                        // addps         %xmm13,%xmm14
27504  .byte  65,15,88,205                        // addps         %xmm13,%xmm1
27505  .byte  68,15,88,232                        // addps         %xmm0,%xmm13
27506  .byte  15,40,193                           // movaps        %xmm1,%xmm0
27507  .byte  65,15,93,197                        // minps         %xmm13,%xmm0
27508  .byte  65,15,40,222                        // movaps        %xmm14,%xmm3
27509  .byte  15,93,216                           // minps         %xmm0,%xmm3
27510  .byte  69,15,89,206                        // mulps         %xmm14,%xmm9
27511  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
27512  .byte  69,15,88,209                        // addps         %xmm9,%xmm10
27513  .byte  69,15,89,221                        // mulps         %xmm13,%xmm11
27514  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
27515  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
27516  .byte  68,15,194,203,2                     // cmpleps       %xmm3,%xmm9
27517  .byte  69,15,40,230                        // movaps        %xmm14,%xmm12
27518  .byte  69,15,92,227                        // subps         %xmm11,%xmm12
27519  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
27520  .byte  65,15,40,251                        // movaps        %xmm11,%xmm7
27521  .byte  15,92,251                           // subps         %xmm3,%xmm7
27522  .byte  68,15,94,231                        // divps         %xmm7,%xmm12
27523  .byte  69,15,88,227                        // addps         %xmm11,%xmm12
27524  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27525  .byte  102,69,15,56,20,230                 // blendvps      %xmm0,%xmm14,%xmm12
27526  .byte  15,40,193                           // movaps        %xmm1,%xmm0
27527  .byte  65,15,95,197                        // maxps         %xmm13,%xmm0
27528  .byte  65,15,40,214                        // movaps        %xmm14,%xmm2
27529  .byte  15,95,208                           // maxps         %xmm0,%xmm2
27530  .byte  15,40,222                           // movaps        %xmm6,%xmm3
27531  .byte  15,89,220                           // mulps         %xmm4,%xmm3
27532  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
27533  .byte  68,15,194,210,1                     // cmpltps       %xmm2,%xmm10
27534  .byte  69,15,40,244                        // movaps        %xmm12,%xmm14
27535  .byte  69,15,92,243                        // subps         %xmm11,%xmm14
27536  .byte  68,15,40,251                        // movaps        %xmm3,%xmm15
27537  .byte  69,15,92,251                        // subps         %xmm11,%xmm15
27538  .byte  69,15,89,247                        // mulps         %xmm15,%xmm14
27539  .byte  65,15,92,211                        // subps         %xmm11,%xmm2
27540  .byte  68,15,94,242                        // divps         %xmm2,%xmm14
27541  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
27542  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
27543  .byte  102,69,15,56,20,230                 // blendvps      %xmm0,%xmm14,%xmm12
27544  .byte  68,15,40,241                        // movaps        %xmm1,%xmm14
27545  .byte  69,15,92,243                        // subps         %xmm11,%xmm14
27546  .byte  69,15,89,243                        // mulps         %xmm11,%xmm14
27547  .byte  68,15,94,247                        // divps         %xmm7,%xmm14
27548  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
27549  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27550  .byte  102,68,15,56,20,241                 // blendvps      %xmm0,%xmm1,%xmm14
27551  .byte  65,15,40,206                        // movaps        %xmm14,%xmm1
27552  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
27553  .byte  65,15,89,207                        // mulps         %xmm15,%xmm1
27554  .byte  15,94,202                           // divps         %xmm2,%xmm1
27555  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
27556  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
27557  .byte  102,68,15,56,20,241                 // blendvps      %xmm0,%xmm1,%xmm14
27558  .byte  65,15,40,205                        // movaps        %xmm13,%xmm1
27559  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
27560  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
27561  .byte  15,94,207                           // divps         %xmm7,%xmm1
27562  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
27563  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27564  .byte  102,65,15,56,20,205                 // blendvps      %xmm0,%xmm13,%xmm1
27565  .byte  15,40,249                           // movaps        %xmm1,%xmm7
27566  .byte  65,15,92,251                        // subps         %xmm11,%xmm7
27567  .byte  65,15,89,255                        // mulps         %xmm15,%xmm7
27568  .byte  15,94,250                           // divps         %xmm2,%xmm7
27569  .byte  65,15,88,251                        // addps         %xmm11,%xmm7
27570  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
27571  .byte  102,15,56,20,207                    // blendvps      %xmm0,%xmm7,%xmm1
27572  .byte  68,15,40,13,149,73,0,0              // movaps        0x4995(%rip),%xmm9        # 5f10 <_sk_callback_sse41+0x362>
27573  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27574  .byte  15,92,196                           // subps         %xmm4,%xmm0
27575  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
27576  .byte  15,89,232                           // mulps         %xmm0,%xmm5
27577  .byte  15,89,68,36,184                     // mulps         -0x48(%rsp),%xmm0
27578  .byte  68,15,92,206                        // subps         %xmm6,%xmm9
27579  .byte  15,88,244                           // addps         %xmm4,%xmm6
27580  .byte  15,40,252                           // movaps        %xmm4,%xmm7
27581  .byte  15,92,243                           // subps         %xmm3,%xmm6
27582  .byte  15,40,222                           // movaps        %xmm6,%xmm3
27583  .byte  15,87,210                           // xorps         %xmm2,%xmm2
27584  .byte  68,15,95,226                        // maxps         %xmm2,%xmm12
27585  .byte  68,15,95,242                        // maxps         %xmm2,%xmm14
27586  .byte  15,95,202                           // maxps         %xmm2,%xmm1
27587  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
27588  .byte  15,40,100,36,232                    // movaps        -0x18(%rsp),%xmm4
27589  .byte  15,89,212                           // mulps         %xmm4,%xmm2
27590  .byte  68,15,88,194                        // addps         %xmm2,%xmm8
27591  .byte  69,15,88,196                        // addps         %xmm12,%xmm8
27592  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
27593  .byte  15,40,116,36,216                    // movaps        -0x28(%rsp),%xmm6
27594  .byte  15,89,214                           // mulps         %xmm6,%xmm2
27595  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
27596  .byte  68,15,88,210                        // addps         %xmm2,%xmm10
27597  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
27598  .byte  15,40,84,36,200                     // movaps        -0x38(%rsp),%xmm2
27599  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
27600  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
27601  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
27602  .byte  72,173                              // lods          %ds:(%rsi),%rax
27603  .byte  15,40,238                           // movaps        %xmm6,%xmm5
27604  .byte  15,40,242                           // movaps        %xmm2,%xmm6
27605  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
27606  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
27607  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
27608  .byte  255,224                             // jmpq          *%rax
27609
27610HIDDEN _sk_luminosity_sse41
27611.globl _sk_luminosity_sse41
27612FUNCTION(_sk_luminosity_sse41)
27613_sk_luminosity_sse41:
27614  .byte  15,41,116,36,200                    // movaps        %xmm6,-0x38(%rsp)
27615  .byte  15,41,108,36,232                    // movaps        %xmm5,-0x18(%rsp)
27616  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
27617  .byte  68,15,41,68,36,216                  // movaps        %xmm8,-0x28(%rsp)
27618  .byte  15,41,84,36,184                     // movaps        %xmm2,-0x48(%rsp)
27619  .byte  15,40,224                           // movaps        %xmm0,%xmm4
27620  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
27621  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
27622  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
27623  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
27624  .byte  68,15,40,5,237,72,0,0               // movaps        0x48ed(%rip),%xmm8        # 5f20 <_sk_callback_sse41+0x372>
27625  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
27626  .byte  68,15,40,21,241,72,0,0              // movaps        0x48f1(%rip),%xmm10        # 5f30 <_sk_callback_sse41+0x382>
27627  .byte  15,40,233                           // movaps        %xmm1,%xmm5
27628  .byte  65,15,89,234                        // mulps         %xmm10,%xmm5
27629  .byte  15,88,232                           // addps         %xmm0,%xmm5
27630  .byte  68,15,40,37,239,72,0,0              // movaps        0x48ef(%rip),%xmm12        # 5f40 <_sk_callback_sse41+0x392>
27631  .byte  68,15,40,242                        // movaps        %xmm2,%xmm14
27632  .byte  69,15,89,244                        // mulps         %xmm12,%xmm14
27633  .byte  68,15,88,245                        // addps         %xmm5,%xmm14
27634  .byte  65,15,40,235                        // movaps        %xmm11,%xmm5
27635  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
27636  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
27637  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
27638  .byte  15,88,213                           // addps         %xmm5,%xmm2
27639  .byte  15,40,195                           // movaps        %xmm3,%xmm0
27640  .byte  15,89,198                           // mulps         %xmm6,%xmm0
27641  .byte  15,40,232                           // movaps        %xmm0,%xmm5
27642  .byte  65,15,89,236                        // mulps         %xmm12,%xmm5
27643  .byte  15,88,234                           // addps         %xmm2,%xmm5
27644  .byte  68,15,89,247                        // mulps         %xmm7,%xmm14
27645  .byte  68,15,92,245                        // subps         %xmm5,%xmm14
27646  .byte  69,15,88,222                        // addps         %xmm14,%xmm11
27647  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
27648  .byte  68,15,88,240                        // addps         %xmm0,%xmm14
27649  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27650  .byte  65,15,93,198                        // minps         %xmm14,%xmm0
27651  .byte  65,15,40,235                        // movaps        %xmm11,%xmm5
27652  .byte  15,93,232                           // minps         %xmm0,%xmm5
27653  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
27654  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
27655  .byte  69,15,88,208                        // addps         %xmm8,%xmm10
27656  .byte  69,15,89,230                        // mulps         %xmm14,%xmm12
27657  .byte  69,15,88,226                        // addps         %xmm10,%xmm12
27658  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
27659  .byte  68,15,194,213,2                     // cmpleps       %xmm5,%xmm10
27660  .byte  69,15,40,235                        // movaps        %xmm11,%xmm13
27661  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
27662  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
27663  .byte  65,15,40,244                        // movaps        %xmm12,%xmm6
27664  .byte  15,92,245                           // subps         %xmm5,%xmm6
27665  .byte  68,15,94,238                        // divps         %xmm6,%xmm13
27666  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
27667  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
27668  .byte  102,69,15,56,20,235                 // blendvps      %xmm0,%xmm11,%xmm13
27669  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27670  .byte  65,15,95,198                        // maxps         %xmm14,%xmm0
27671  .byte  65,15,40,211                        // movaps        %xmm11,%xmm2
27672  .byte  15,95,208                           // maxps         %xmm0,%xmm2
27673  .byte  15,40,235                           // movaps        %xmm3,%xmm5
27674  .byte  15,89,239                           // mulps         %xmm7,%xmm5
27675  .byte  68,15,40,221                        // movaps        %xmm5,%xmm11
27676  .byte  68,15,194,218,1                     // cmpltps       %xmm2,%xmm11
27677  .byte  69,15,40,197                        // movaps        %xmm13,%xmm8
27678  .byte  69,15,92,196                        // subps         %xmm12,%xmm8
27679  .byte  68,15,40,253                        // movaps        %xmm5,%xmm15
27680  .byte  69,15,92,252                        // subps         %xmm12,%xmm15
27681  .byte  69,15,89,199                        // mulps         %xmm15,%xmm8
27682  .byte  65,15,92,212                        // subps         %xmm12,%xmm2
27683  .byte  68,15,94,194                        // divps         %xmm2,%xmm8
27684  .byte  69,15,88,196                        // addps         %xmm12,%xmm8
27685  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
27686  .byte  102,69,15,56,20,232                 // blendvps      %xmm0,%xmm8,%xmm13
27687  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
27688  .byte  69,15,92,196                        // subps         %xmm12,%xmm8
27689  .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
27690  .byte  68,15,94,198                        // divps         %xmm6,%xmm8
27691  .byte  69,15,88,196                        // addps         %xmm12,%xmm8
27692  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
27693  .byte  102,69,15,56,20,193                 // blendvps      %xmm0,%xmm9,%xmm8
27694  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
27695  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
27696  .byte  69,15,89,207                        // mulps         %xmm15,%xmm9
27697  .byte  68,15,94,202                        // divps         %xmm2,%xmm9
27698  .byte  69,15,88,204                        // addps         %xmm12,%xmm9
27699  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
27700  .byte  102,69,15,56,20,193                 // blendvps      %xmm0,%xmm9,%xmm8
27701  .byte  69,15,40,206                        // movaps        %xmm14,%xmm9
27702  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
27703  .byte  69,15,89,204                        // mulps         %xmm12,%xmm9
27704  .byte  68,15,94,206                        // divps         %xmm6,%xmm9
27705  .byte  69,15,88,204                        // addps         %xmm12,%xmm9
27706  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
27707  .byte  102,69,15,56,20,206                 // blendvps      %xmm0,%xmm14,%xmm9
27708  .byte  65,15,40,241                        // movaps        %xmm9,%xmm6
27709  .byte  65,15,92,244                        // subps         %xmm12,%xmm6
27710  .byte  65,15,89,247                        // mulps         %xmm15,%xmm6
27711  .byte  15,94,242                           // divps         %xmm2,%xmm6
27712  .byte  65,15,88,244                        // addps         %xmm12,%xmm6
27713  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
27714  .byte  102,68,15,56,20,206                 // blendvps      %xmm0,%xmm6,%xmm9
27715  .byte  15,40,5,165,71,0,0                  // movaps        0x47a5(%rip),%xmm0        # 5f50 <_sk_callback_sse41+0x3a2>
27716  .byte  15,40,208                           // movaps        %xmm0,%xmm2
27717  .byte  15,92,215                           // subps         %xmm7,%xmm2
27718  .byte  15,89,226                           // mulps         %xmm2,%xmm4
27719  .byte  15,89,202                           // mulps         %xmm2,%xmm1
27720  .byte  15,89,84,36,184                     // mulps         -0x48(%rsp),%xmm2
27721  .byte  15,92,195                           // subps         %xmm3,%xmm0
27722  .byte  15,88,223                           // addps         %xmm7,%xmm3
27723  .byte  15,92,221                           // subps         %xmm5,%xmm3
27724  .byte  15,87,237                           // xorps         %xmm5,%xmm5
27725  .byte  68,15,95,237                        // maxps         %xmm5,%xmm13
27726  .byte  68,15,95,197                        // maxps         %xmm5,%xmm8
27727  .byte  68,15,95,205                        // maxps         %xmm5,%xmm9
27728  .byte  15,40,232                           // movaps        %xmm0,%xmm5
27729  .byte  68,15,40,84,36,216                  // movaps        -0x28(%rsp),%xmm10
27730  .byte  65,15,89,234                        // mulps         %xmm10,%xmm5
27731  .byte  15,88,229                           // addps         %xmm5,%xmm4
27732  .byte  65,15,88,229                        // addps         %xmm13,%xmm4
27733  .byte  15,40,240                           // movaps        %xmm0,%xmm6
27734  .byte  15,40,108,36,232                    // movaps        -0x18(%rsp),%xmm5
27735  .byte  15,89,245                           // mulps         %xmm5,%xmm6
27736  .byte  15,88,206                           // addps         %xmm6,%xmm1
27737  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
27738  .byte  15,40,116,36,200                    // movaps        -0x38(%rsp),%xmm6
27739  .byte  15,89,198                           // mulps         %xmm6,%xmm0
27740  .byte  15,88,194                           // addps         %xmm2,%xmm0
27741  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
27742  .byte  72,173                              // lods          %ds:(%rsi),%rax
27743  .byte  15,40,196                           // movaps        %xmm4,%xmm0
27744  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
27745  .byte  65,15,40,226                        // movaps        %xmm10,%xmm4
27746  .byte  255,224                             // jmpq          *%rax
27747
27748HIDDEN _sk_srcover_rgba_8888_sse41
27749.globl _sk_srcover_rgba_8888_sse41
27750FUNCTION(_sk_srcover_rgba_8888_sse41)
27751_sk_srcover_rgba_8888_sse41:
27752  .byte  72,173                              // lods          %ds:(%rsi),%rax
27753  .byte  72,139,0                            // mov           (%rax),%rax
27754  .byte  77,133,192                          // test          %r8,%r8
27755  .byte  15,133,217,0,0,0                    // jne           18ff <_sk_srcover_rgba_8888_sse41+0xe7>
27756  .byte  243,15,111,60,144                   // movdqu        (%rax,%rdx,4),%xmm7
27757  .byte  77,133,192                          // test          %r8,%r8
27758  .byte  102,15,111,37,42,71,0,0             // movdqa        0x472a(%rip),%xmm4        # 5f60 <_sk_callback_sse41+0x3b2>
27759  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
27760  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
27761  .byte  102,15,111,239                      // movdqa        %xmm7,%xmm5
27762  .byte  102,15,56,0,45,38,71,0,0            // pshufb        0x4726(%rip),%xmm5        # 5f70 <_sk_callback_sse41+0x3c2>
27763  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
27764  .byte  102,15,111,247                      // movdqa        %xmm7,%xmm6
27765  .byte  102,15,56,0,53,38,71,0,0            // pshufb        0x4726(%rip),%xmm6        # 5f80 <_sk_callback_sse41+0x3d2>
27766  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
27767  .byte  102,15,114,215,24                   // psrld         $0x18,%xmm7
27768  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
27769  .byte  68,15,40,5,35,71,0,0                // movaps        0x4723(%rip),%xmm8        # 5f90 <_sk_callback_sse41+0x3e2>
27770  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
27771  .byte  68,15,40,37,39,71,0,0               // movaps        0x4727(%rip),%xmm12        # 5fa0 <_sk_callback_sse41+0x3f2>
27772  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
27773  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
27774  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
27775  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
27776  .byte  65,15,89,204                        // mulps         %xmm12,%xmm1
27777  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
27778  .byte  68,15,89,213                        // mulps         %xmm5,%xmm10
27779  .byte  68,15,88,209                        // addps         %xmm1,%xmm10
27780  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
27781  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
27782  .byte  68,15,89,222                        // mulps         %xmm6,%xmm11
27783  .byte  68,15,88,218                        // addps         %xmm2,%xmm11
27784  .byte  65,15,89,220                        // mulps         %xmm12,%xmm3
27785  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
27786  .byte  68,15,88,195                        // addps         %xmm3,%xmm8
27787  .byte  102,65,15,91,193                    // cvtps2dq      %xmm9,%xmm0
27788  .byte  102,65,15,91,202                    // cvtps2dq      %xmm10,%xmm1
27789  .byte  102,15,114,241,8                    // pslld         $0x8,%xmm1
27790  .byte  102,15,235,200                      // por           %xmm0,%xmm1
27791  .byte  102,65,15,91,211                    // cvtps2dq      %xmm11,%xmm2
27792  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
27793  .byte  102,65,15,91,192                    // cvtps2dq      %xmm8,%xmm0
27794  .byte  102,15,114,240,24                   // pslld         $0x18,%xmm0
27795  .byte  102,15,235,194                      // por           %xmm2,%xmm0
27796  .byte  102,15,235,193                      // por           %xmm1,%xmm0
27797  .byte  117,85                              // jne           193b <_sk_srcover_rgba_8888_sse41+0x123>
27798  .byte  243,15,127,4,144                    // movdqu        %xmm0,(%rax,%rdx,4)
27799  .byte  72,173                              // lods          %ds:(%rsi),%rax
27800  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
27801  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
27802  .byte  65,15,40,211                        // movaps        %xmm11,%xmm2
27803  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
27804  .byte  255,224                             // jmpq          *%rax
27805  .byte  69,137,193                          // mov           %r8d,%r9d
27806  .byte  65,128,225,3                        // and           $0x3,%r9b
27807  .byte  65,128,249,1                        // cmp           $0x1,%r9b
27808  .byte  116,87                              // je            1963 <_sk_srcover_rgba_8888_sse41+0x14b>
27809  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
27810  .byte  65,128,249,2                        // cmp           $0x2,%r9b
27811  .byte  116,21                              // je            192b <_sk_srcover_rgba_8888_sse41+0x113>
27812  .byte  65,128,249,3                        // cmp           $0x3,%r9b
27813  .byte  15,133,11,255,255,255               // jne           182b <_sk_srcover_rgba_8888_sse41+0x13>
27814  .byte  102,15,110,100,144,8                // movd          0x8(%rax,%rdx,4),%xmm4
27815  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
27816  .byte  243,15,126,36,144                   // movq          (%rax,%rdx,4),%xmm4
27817  .byte  102,15,58,14,252,15                 // pblendw       $0xf,%xmm4,%xmm7
27818  .byte  233,240,254,255,255                 // jmpq          182b <_sk_srcover_rgba_8888_sse41+0x13>
27819  .byte  69,137,193                          // mov           %r8d,%r9d
27820  .byte  65,128,225,3                        // and           $0x3,%r9b
27821  .byte  65,128,249,1                        // cmp           $0x1,%r9b
27822  .byte  116,37                              // je            196d <_sk_srcover_rgba_8888_sse41+0x155>
27823  .byte  65,128,249,2                        // cmp           $0x2,%r9b
27824  .byte  116,14                              // je            195c <_sk_srcover_rgba_8888_sse41+0x144>
27825  .byte  65,128,249,3                        // cmp           $0x3,%r9b
27826  .byte  117,151                             // jne           18eb <_sk_srcover_rgba_8888_sse41+0xd3>
27827  .byte  102,15,58,22,68,144,8,2             // pextrd        $0x2,%xmm0,0x8(%rax,%rdx,4)
27828  .byte  102,15,214,4,144                    // movq          %xmm0,(%rax,%rdx,4)
27829  .byte  235,136                             // jmp           18eb <_sk_srcover_rgba_8888_sse41+0xd3>
27830  .byte  102,15,110,60,144                   // movd          (%rax,%rdx,4),%xmm7
27831  .byte  233,190,254,255,255                 // jmpq          182b <_sk_srcover_rgba_8888_sse41+0x13>
27832  .byte  102,15,126,4,144                    // movd          %xmm0,(%rax,%rdx,4)
27833  .byte  233,116,255,255,255                 // jmpq          18eb <_sk_srcover_rgba_8888_sse41+0xd3>
27834
27835HIDDEN _sk_clamp_0_sse41
27836.globl _sk_clamp_0_sse41
27837FUNCTION(_sk_clamp_0_sse41)
27838_sk_clamp_0_sse41:
27839  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
27840  .byte  65,15,95,192                        // maxps         %xmm8,%xmm0
27841  .byte  65,15,95,200                        // maxps         %xmm8,%xmm1
27842  .byte  65,15,95,208                        // maxps         %xmm8,%xmm2
27843  .byte  65,15,95,216                        // maxps         %xmm8,%xmm3
27844  .byte  72,173                              // lods          %ds:(%rsi),%rax
27845  .byte  255,224                             // jmpq          *%rax
27846
27847HIDDEN _sk_clamp_1_sse41
27848.globl _sk_clamp_1_sse41
27849FUNCTION(_sk_clamp_1_sse41)
27850_sk_clamp_1_sse41:
27851  .byte  68,15,40,5,25,70,0,0                // movaps        0x4619(%rip),%xmm8        # 5fb0 <_sk_callback_sse41+0x402>
27852  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
27853  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
27854  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
27855  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
27856  .byte  72,173                              // lods          %ds:(%rsi),%rax
27857  .byte  255,224                             // jmpq          *%rax
27858
27859HIDDEN _sk_clamp_a_sse41
27860.globl _sk_clamp_a_sse41
27861FUNCTION(_sk_clamp_a_sse41)
27862_sk_clamp_a_sse41:
27863  .byte  15,93,29,14,70,0,0                  // minps         0x460e(%rip),%xmm3        # 5fc0 <_sk_callback_sse41+0x412>
27864  .byte  15,93,195                           // minps         %xmm3,%xmm0
27865  .byte  15,93,203                           // minps         %xmm3,%xmm1
27866  .byte  15,93,211                           // minps         %xmm3,%xmm2
27867  .byte  72,173                              // lods          %ds:(%rsi),%rax
27868  .byte  255,224                             // jmpq          *%rax
27869
27870HIDDEN _sk_clamp_a_dst_sse41
27871.globl _sk_clamp_a_dst_sse41
27872FUNCTION(_sk_clamp_a_dst_sse41)
27873_sk_clamp_a_dst_sse41:
27874  .byte  15,93,61,10,70,0,0                  // minps         0x460a(%rip),%xmm7        # 5fd0 <_sk_callback_sse41+0x422>
27875  .byte  15,93,231                           // minps         %xmm7,%xmm4
27876  .byte  15,93,239                           // minps         %xmm7,%xmm5
27877  .byte  15,93,247                           // minps         %xmm7,%xmm6
27878  .byte  72,173                              // lods          %ds:(%rsi),%rax
27879  .byte  255,224                             // jmpq          *%rax
27880
27881HIDDEN _sk_set_rgb_sse41
27882.globl _sk_set_rgb_sse41
27883FUNCTION(_sk_set_rgb_sse41)
27884_sk_set_rgb_sse41:
27885  .byte  72,173                              // lods          %ds:(%rsi),%rax
27886  .byte  243,15,16,0                         // movss         (%rax),%xmm0
27887  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
27888  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
27889  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
27890  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
27891  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
27892  .byte  72,173                              // lods          %ds:(%rsi),%rax
27893  .byte  255,224                             // jmpq          *%rax
27894
27895HIDDEN _sk_swap_rb_sse41
27896.globl _sk_swap_rb_sse41
27897FUNCTION(_sk_swap_rb_sse41)
27898_sk_swap_rb_sse41:
27899  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
27900  .byte  72,173                              // lods          %ds:(%rsi),%rax
27901  .byte  15,40,194                           // movaps        %xmm2,%xmm0
27902  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
27903  .byte  255,224                             // jmpq          *%rax
27904
27905HIDDEN _sk_move_src_dst_sse41
27906.globl _sk_move_src_dst_sse41
27907FUNCTION(_sk_move_src_dst_sse41)
27908_sk_move_src_dst_sse41:
27909  .byte  72,173                              // lods          %ds:(%rsi),%rax
27910  .byte  15,40,224                           // movaps        %xmm0,%xmm4
27911  .byte  15,40,233                           // movaps        %xmm1,%xmm5
27912  .byte  15,40,242                           // movaps        %xmm2,%xmm6
27913  .byte  15,40,251                           // movaps        %xmm3,%xmm7
27914  .byte  255,224                             // jmpq          *%rax
27915
27916HIDDEN _sk_move_dst_src_sse41
27917.globl _sk_move_dst_src_sse41
27918FUNCTION(_sk_move_dst_src_sse41)
27919_sk_move_dst_src_sse41:
27920  .byte  72,173                              // lods          %ds:(%rsi),%rax
27921  .byte  15,40,196                           // movaps        %xmm4,%xmm0
27922  .byte  15,40,205                           // movaps        %xmm5,%xmm1
27923  .byte  15,40,214                           // movaps        %xmm6,%xmm2
27924  .byte  15,40,223                           // movaps        %xmm7,%xmm3
27925  .byte  255,224                             // jmpq          *%rax
27926
27927HIDDEN _sk_premul_sse41
27928.globl _sk_premul_sse41
27929FUNCTION(_sk_premul_sse41)
27930_sk_premul_sse41:
27931  .byte  15,89,195                           // mulps         %xmm3,%xmm0
27932  .byte  15,89,203                           // mulps         %xmm3,%xmm1
27933  .byte  15,89,211                           // mulps         %xmm3,%xmm2
27934  .byte  72,173                              // lods          %ds:(%rsi),%rax
27935  .byte  255,224                             // jmpq          *%rax
27936
27937HIDDEN _sk_premul_dst_sse41
27938.globl _sk_premul_dst_sse41
27939FUNCTION(_sk_premul_dst_sse41)
27940_sk_premul_dst_sse41:
27941  .byte  15,89,231                           // mulps         %xmm7,%xmm4
27942  .byte  15,89,239                           // mulps         %xmm7,%xmm5
27943  .byte  15,89,247                           // mulps         %xmm7,%xmm6
27944  .byte  72,173                              // lods          %ds:(%rsi),%rax
27945  .byte  255,224                             // jmpq          *%rax
27946
27947HIDDEN _sk_unpremul_sse41
27948.globl _sk_unpremul_sse41
27949FUNCTION(_sk_unpremul_sse41)
27950_sk_unpremul_sse41:
27951  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
27952  .byte  68,15,40,13,152,69,0,0              // movaps        0x4598(%rip),%xmm9        # 5fe0 <_sk_callback_sse41+0x432>
27953  .byte  68,15,94,203                        // divps         %xmm3,%xmm9
27954  .byte  68,15,194,195,4                     // cmpneqps      %xmm3,%xmm8
27955  .byte  69,15,84,193                        // andps         %xmm9,%xmm8
27956  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
27957  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
27958  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
27959  .byte  72,173                              // lods          %ds:(%rsi),%rax
27960  .byte  255,224                             // jmpq          *%rax
27961
27962HIDDEN _sk_from_srgb_sse41
27963.globl _sk_from_srgb_sse41
27964FUNCTION(_sk_from_srgb_sse41)
27965_sk_from_srgb_sse41:
27966  .byte  68,15,40,29,131,69,0,0              // movaps        0x4583(%rip),%xmm11        # 5ff0 <_sk_callback_sse41+0x442>
27967  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
27968  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
27969  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
27970  .byte  69,15,89,210                        // mulps         %xmm10,%xmm10
27971  .byte  68,15,40,37,123,69,0,0              // movaps        0x457b(%rip),%xmm12        # 6000 <_sk_callback_sse41+0x452>
27972  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
27973  .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
27974  .byte  68,15,40,45,123,69,0,0              // movaps        0x457b(%rip),%xmm13        # 6010 <_sk_callback_sse41+0x462>
27975  .byte  69,15,88,197                        // addps         %xmm13,%xmm8
27976  .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
27977  .byte  68,15,40,53,123,69,0,0              // movaps        0x457b(%rip),%xmm14        # 6020 <_sk_callback_sse41+0x472>
27978  .byte  69,15,88,198                        // addps         %xmm14,%xmm8
27979  .byte  68,15,40,61,127,69,0,0              // movaps        0x457f(%rip),%xmm15        # 6030 <_sk_callback_sse41+0x482>
27980  .byte  65,15,194,199,1                     // cmpltps       %xmm15,%xmm0
27981  .byte  102,69,15,56,20,193                 // blendvps      %xmm0,%xmm9,%xmm8
27982  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
27983  .byte  69,15,89,211                        // mulps         %xmm11,%xmm10
27984  .byte  15,40,193                           // movaps        %xmm1,%xmm0
27985  .byte  15,89,192                           // mulps         %xmm0,%xmm0
27986  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
27987  .byte  69,15,89,204                        // mulps         %xmm12,%xmm9
27988  .byte  69,15,88,205                        // addps         %xmm13,%xmm9
27989  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
27990  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
27991  .byte  65,15,194,207,1                     // cmpltps       %xmm15,%xmm1
27992  .byte  15,40,193                           // movaps        %xmm1,%xmm0
27993  .byte  102,69,15,56,20,202                 // blendvps      %xmm0,%xmm10,%xmm9
27994  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
27995  .byte  68,15,40,210                        // movaps        %xmm2,%xmm10
27996  .byte  69,15,89,210                        // mulps         %xmm10,%xmm10
27997  .byte  68,15,89,226                        // mulps         %xmm2,%xmm12
27998  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
27999  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
28000  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
28001  .byte  65,15,194,215,1                     // cmpltps       %xmm15,%xmm2
28002  .byte  15,40,194                           // movaps        %xmm2,%xmm0
28003  .byte  102,69,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm10
28004  .byte  72,173                              // lods          %ds:(%rsi),%rax
28005  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
28006  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
28007  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
28008  .byte  255,224                             // jmpq          *%rax
28009
28010HIDDEN _sk_from_srgb_dst_sse41
28011.globl _sk_from_srgb_dst_sse41
28012FUNCTION(_sk_from_srgb_dst_sse41)
28013_sk_from_srgb_dst_sse41:
28014  .byte  68,15,40,204                        // movaps        %xmm4,%xmm9
28015  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
28016  .byte  68,15,40,29,10,69,0,0               // movaps        0x450a(%rip),%xmm11        # 6040 <_sk_callback_sse41+0x492>
28017  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
28018  .byte  69,15,89,211                        // mulps         %xmm11,%xmm10
28019  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
28020  .byte  15,89,192                           // mulps         %xmm0,%xmm0
28021  .byte  68,15,40,37,3,69,0,0                // movaps        0x4503(%rip),%xmm12        # 6050 <_sk_callback_sse41+0x4a2>
28022  .byte  65,15,89,228                        // mulps         %xmm12,%xmm4
28023  .byte  68,15,40,45,7,69,0,0                // movaps        0x4507(%rip),%xmm13        # 6060 <_sk_callback_sse41+0x4b2>
28024  .byte  65,15,88,229                        // addps         %xmm13,%xmm4
28025  .byte  15,89,224                           // mulps         %xmm0,%xmm4
28026  .byte  68,15,40,53,8,69,0,0                // movaps        0x4508(%rip),%xmm14        # 6070 <_sk_callback_sse41+0x4c2>
28027  .byte  65,15,88,230                        // addps         %xmm14,%xmm4
28028  .byte  68,15,40,61,12,69,0,0               // movaps        0x450c(%rip),%xmm15        # 6080 <_sk_callback_sse41+0x4d2>
28029  .byte  69,15,194,207,1                     // cmpltps       %xmm15,%xmm9
28030  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
28031  .byte  102,65,15,56,20,226                 // blendvps      %xmm0,%xmm10,%xmm4
28032  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
28033  .byte  69,15,89,211                        // mulps         %xmm11,%xmm10
28034  .byte  15,40,197                           // movaps        %xmm5,%xmm0
28035  .byte  15,89,192                           // mulps         %xmm0,%xmm0
28036  .byte  68,15,40,205                        // movaps        %xmm5,%xmm9
28037  .byte  69,15,89,204                        // mulps         %xmm12,%xmm9
28038  .byte  69,15,88,205                        // addps         %xmm13,%xmm9
28039  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
28040  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
28041  .byte  65,15,194,239,1                     // cmpltps       %xmm15,%xmm5
28042  .byte  15,40,197                           // movaps        %xmm5,%xmm0
28043  .byte  102,69,15,56,20,202                 // blendvps      %xmm0,%xmm10,%xmm9
28044  .byte  68,15,89,222                        // mulps         %xmm6,%xmm11
28045  .byte  68,15,40,214                        // movaps        %xmm6,%xmm10
28046  .byte  69,15,89,210                        // mulps         %xmm10,%xmm10
28047  .byte  68,15,89,230                        // mulps         %xmm6,%xmm12
28048  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
28049  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
28050  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
28051  .byte  65,15,194,247,1                     // cmpltps       %xmm15,%xmm6
28052  .byte  15,40,198                           // movaps        %xmm6,%xmm0
28053  .byte  102,69,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm10
28054  .byte  72,173                              // lods          %ds:(%rsi),%rax
28055  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
28056  .byte  65,15,40,233                        // movaps        %xmm9,%xmm5
28057  .byte  65,15,40,242                        // movaps        %xmm10,%xmm6
28058  .byte  255,224                             // jmpq          *%rax
28059
28060HIDDEN _sk_to_srgb_sse41
28061.globl _sk_to_srgb_sse41
28062FUNCTION(_sk_to_srgb_sse41)
28063_sk_to_srgb_sse41:
28064  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
28065  .byte  15,40,254                           // movaps        %xmm6,%xmm7
28066  .byte  15,40,245                           // movaps        %xmm5,%xmm6
28067  .byte  15,40,236                           // movaps        %xmm4,%xmm5
28068  .byte  15,40,227                           // movaps        %xmm3,%xmm4
28069  .byte  15,40,218                           // movaps        %xmm2,%xmm3
28070  .byte  15,40,209                           // movaps        %xmm1,%xmm2
28071  .byte  68,15,82,192                        // rsqrtps       %xmm0,%xmm8
28072  .byte  68,15,40,29,128,68,0,0              // movaps        0x4480(%rip),%xmm11        # 6090 <_sk_callback_sse41+0x4e2>
28073  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
28074  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
28075  .byte  68,15,40,37,128,68,0,0              // movaps        0x4480(%rip),%xmm12        # 60a0 <_sk_callback_sse41+0x4f2>
28076  .byte  69,15,40,248                        // movaps        %xmm8,%xmm15
28077  .byte  69,15,89,252                        // mulps         %xmm12,%xmm15
28078  .byte  68,15,40,21,128,68,0,0              // movaps        0x4480(%rip),%xmm10        # 60b0 <_sk_callback_sse41+0x502>
28079  .byte  69,15,88,250                        // addps         %xmm10,%xmm15
28080  .byte  69,15,89,248                        // mulps         %xmm8,%xmm15
28081  .byte  68,15,40,45,128,68,0,0              // movaps        0x4480(%rip),%xmm13        # 60c0 <_sk_callback_sse41+0x512>
28082  .byte  69,15,88,253                        // addps         %xmm13,%xmm15
28083  .byte  68,15,40,53,132,68,0,0              // movaps        0x4484(%rip),%xmm14        # 60d0 <_sk_callback_sse41+0x522>
28084  .byte  69,15,88,198                        // addps         %xmm14,%xmm8
28085  .byte  69,15,83,192                        // rcpps         %xmm8,%xmm8
28086  .byte  69,15,89,199                        // mulps         %xmm15,%xmm8
28087  .byte  68,15,40,61,128,68,0,0              // movaps        0x4480(%rip),%xmm15        # 60e0 <_sk_callback_sse41+0x532>
28088  .byte  65,15,194,199,1                     // cmpltps       %xmm15,%xmm0
28089  .byte  102,69,15,56,20,193                 // blendvps      %xmm0,%xmm9,%xmm8
28090  .byte  68,15,82,202                        // rsqrtps       %xmm2,%xmm9
28091  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
28092  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
28093  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
28094  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
28095  .byte  65,15,88,197                        // addps         %xmm13,%xmm0
28096  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
28097  .byte  69,15,83,201                        // rcpps         %xmm9,%xmm9
28098  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
28099  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
28100  .byte  65,15,194,215,1                     // cmpltps       %xmm15,%xmm2
28101  .byte  15,40,194                           // movaps        %xmm2,%xmm0
28102  .byte  102,68,15,56,20,201                 // blendvps      %xmm0,%xmm1,%xmm9
28103  .byte  15,82,195                           // rsqrtps       %xmm3,%xmm0
28104  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
28105  .byte  69,15,88,226                        // addps         %xmm10,%xmm12
28106  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
28107  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
28108  .byte  65,15,88,198                        // addps         %xmm14,%xmm0
28109  .byte  68,15,83,208                        // rcpps         %xmm0,%xmm10
28110  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
28111  .byte  68,15,89,219                        // mulps         %xmm3,%xmm11
28112  .byte  65,15,194,223,1                     // cmpltps       %xmm15,%xmm3
28113  .byte  15,40,195                           // movaps        %xmm3,%xmm0
28114  .byte  102,69,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm10
28115  .byte  72,173                              // lods          %ds:(%rsi),%rax
28116  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
28117  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
28118  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
28119  .byte  15,40,220                           // movaps        %xmm4,%xmm3
28120  .byte  15,40,229                           // movaps        %xmm5,%xmm4
28121  .byte  15,40,238                           // movaps        %xmm6,%xmm5
28122  .byte  15,40,247                           // movaps        %xmm7,%xmm6
28123  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
28124  .byte  255,224                             // jmpq          *%rax
28125
28126HIDDEN _sk_rgb_to_hsl_sse41
28127.globl _sk_rgb_to_hsl_sse41
28128FUNCTION(_sk_rgb_to_hsl_sse41)
28129_sk_rgb_to_hsl_sse41:
28130  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
28131  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
28132  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
28133  .byte  69,15,95,217                        // maxps         %xmm9,%xmm11
28134  .byte  68,15,95,218                        // maxps         %xmm2,%xmm11
28135  .byte  69,15,40,224                        // movaps        %xmm8,%xmm12
28136  .byte  69,15,93,225                        // minps         %xmm9,%xmm12
28137  .byte  68,15,93,226                        // minps         %xmm2,%xmm12
28138  .byte  65,15,40,203                        // movaps        %xmm11,%xmm1
28139  .byte  65,15,92,204                        // subps         %xmm12,%xmm1
28140  .byte  68,15,40,53,205,67,0,0              // movaps        0x43cd(%rip),%xmm14        # 60f0 <_sk_callback_sse41+0x542>
28141  .byte  68,15,94,241                        // divps         %xmm1,%xmm14
28142  .byte  69,15,40,211                        // movaps        %xmm11,%xmm10
28143  .byte  69,15,194,208,0                     // cmpeqps       %xmm8,%xmm10
28144  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
28145  .byte  15,92,194                           // subps         %xmm2,%xmm0
28146  .byte  65,15,89,198                        // mulps         %xmm14,%xmm0
28147  .byte  69,15,40,249                        // movaps        %xmm9,%xmm15
28148  .byte  68,15,194,250,1                     // cmpltps       %xmm2,%xmm15
28149  .byte  68,15,84,61,180,67,0,0              // andps         0x43b4(%rip),%xmm15        # 6100 <_sk_callback_sse41+0x552>
28150  .byte  68,15,88,248                        // addps         %xmm0,%xmm15
28151  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
28152  .byte  65,15,194,193,0                     // cmpeqps       %xmm9,%xmm0
28153  .byte  65,15,92,208                        // subps         %xmm8,%xmm2
28154  .byte  65,15,89,214                        // mulps         %xmm14,%xmm2
28155  .byte  68,15,40,45,167,67,0,0              // movaps        0x43a7(%rip),%xmm13        # 6110 <_sk_callback_sse41+0x562>
28156  .byte  65,15,88,213                        // addps         %xmm13,%xmm2
28157  .byte  69,15,92,193                        // subps         %xmm9,%xmm8
28158  .byte  69,15,89,198                        // mulps         %xmm14,%xmm8
28159  .byte  68,15,88,5,163,67,0,0               // addps         0x43a3(%rip),%xmm8        # 6120 <_sk_callback_sse41+0x572>
28160  .byte  102,68,15,56,20,194                 // blendvps      %xmm0,%xmm2,%xmm8
28161  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
28162  .byte  102,69,15,56,20,199                 // blendvps      %xmm0,%xmm15,%xmm8
28163  .byte  68,15,89,5,155,67,0,0               // mulps         0x439b(%rip),%xmm8        # 6130 <_sk_callback_sse41+0x582>
28164  .byte  69,15,40,203                        // movaps        %xmm11,%xmm9
28165  .byte  69,15,194,204,4                     // cmpneqps      %xmm12,%xmm9
28166  .byte  69,15,84,193                        // andps         %xmm9,%xmm8
28167  .byte  69,15,92,235                        // subps         %xmm11,%xmm13
28168  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
28169  .byte  15,40,5,143,67,0,0                  // movaps        0x438f(%rip),%xmm0        # 6140 <_sk_callback_sse41+0x592>
28170  .byte  65,15,40,211                        // movaps        %xmm11,%xmm2
28171  .byte  15,89,208                           // mulps         %xmm0,%xmm2
28172  .byte  15,194,194,1                        // cmpltps       %xmm2,%xmm0
28173  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
28174  .byte  102,69,15,56,20,221                 // blendvps      %xmm0,%xmm13,%xmm11
28175  .byte  65,15,94,203                        // divps         %xmm11,%xmm1
28176  .byte  65,15,84,201                        // andps         %xmm9,%xmm1
28177  .byte  72,173                              // lods          %ds:(%rsi),%rax
28178  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
28179  .byte  255,224                             // jmpq          *%rax
28180
28181HIDDEN _sk_hsl_to_rgb_sse41
28182.globl _sk_hsl_to_rgb_sse41
28183FUNCTION(_sk_hsl_to_rgb_sse41)
28184_sk_hsl_to_rgb_sse41:
28185  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
28186  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
28187  .byte  15,41,108,36,200                    // movaps        %xmm5,-0x38(%rsp)
28188  .byte  15,41,100,36,184                    // movaps        %xmm4,-0x48(%rsp)
28189  .byte  15,41,92,36,168                     // movaps        %xmm3,-0x58(%rsp)
28190  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
28191  .byte  68,15,40,13,85,67,0,0               // movaps        0x4355(%rip),%xmm9        # 6150 <_sk_callback_sse41+0x5a2>
28192  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
28193  .byte  15,194,194,2                        // cmpleps       %xmm2,%xmm0
28194  .byte  15,40,217                           // movaps        %xmm1,%xmm3
28195  .byte  15,40,233                           // movaps        %xmm1,%xmm5
28196  .byte  15,89,234                           // mulps         %xmm2,%xmm5
28197  .byte  15,92,221                           // subps         %xmm5,%xmm3
28198  .byte  102,15,56,20,235                    // blendvps      %xmm0,%xmm3,%xmm5
28199  .byte  15,88,234                           // addps         %xmm2,%xmm5
28200  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
28201  .byte  15,41,84,36,152                     // movaps        %xmm2,-0x68(%rsp)
28202  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
28203  .byte  68,15,92,197                        // subps         %xmm5,%xmm8
28204  .byte  68,15,40,53,48,67,0,0               // movaps        0x4330(%rip),%xmm14        # 6160 <_sk_callback_sse41+0x5b2>
28205  .byte  69,15,88,242                        // addps         %xmm10,%xmm14
28206  .byte  102,65,15,58,8,198,1                // roundps       $0x1,%xmm14,%xmm0
28207  .byte  68,15,92,240                        // subps         %xmm0,%xmm14
28208  .byte  68,15,40,29,41,67,0,0               // movaps        0x4329(%rip),%xmm11        # 6170 <_sk_callback_sse41+0x5c2>
28209  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
28210  .byte  65,15,194,198,2                     // cmpleps       %xmm14,%xmm0
28211  .byte  15,40,245                           // movaps        %xmm5,%xmm6
28212  .byte  65,15,92,240                        // subps         %xmm8,%xmm6
28213  .byte  15,40,61,34,67,0,0                  // movaps        0x4322(%rip),%xmm7        # 6180 <_sk_callback_sse41+0x5d2>
28214  .byte  69,15,40,238                        // movaps        %xmm14,%xmm13
28215  .byte  68,15,89,239                        // mulps         %xmm7,%xmm13
28216  .byte  15,40,29,35,67,0,0                  // movaps        0x4323(%rip),%xmm3        # 6190 <_sk_callback_sse41+0x5e2>
28217  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
28218  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
28219  .byte  68,15,89,230                        // mulps         %xmm6,%xmm12
28220  .byte  69,15,88,224                        // addps         %xmm8,%xmm12
28221  .byte  102,69,15,56,20,224                 // blendvps      %xmm0,%xmm8,%xmm12
28222  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
28223  .byte  65,15,194,198,2                     // cmpleps       %xmm14,%xmm0
28224  .byte  68,15,40,253                        // movaps        %xmm5,%xmm15
28225  .byte  102,69,15,56,20,252                 // blendvps      %xmm0,%xmm12,%xmm15
28226  .byte  68,15,40,37,2,67,0,0                // movaps        0x4302(%rip),%xmm12        # 61a0 <_sk_callback_sse41+0x5f2>
28227  .byte  65,15,40,196                        // movaps        %xmm12,%xmm0
28228  .byte  65,15,194,198,2                     // cmpleps       %xmm14,%xmm0
28229  .byte  68,15,89,238                        // mulps         %xmm6,%xmm13
28230  .byte  69,15,88,232                        // addps         %xmm8,%xmm13
28231  .byte  102,69,15,56,20,239                 // blendvps      %xmm0,%xmm15,%xmm13
28232  .byte  69,15,87,246                        // xorps         %xmm14,%xmm14
28233  .byte  68,15,194,241,0                     // cmpeqps       %xmm1,%xmm14
28234  .byte  65,15,40,198                        // movaps        %xmm14,%xmm0
28235  .byte  102,68,15,56,20,234                 // blendvps      %xmm0,%xmm2,%xmm13
28236  .byte  102,65,15,58,8,194,1                // roundps       $0x1,%xmm10,%xmm0
28237  .byte  69,15,40,250                        // movaps        %xmm10,%xmm15
28238  .byte  68,15,92,248                        // subps         %xmm0,%xmm15
28239  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
28240  .byte  65,15,194,199,2                     // cmpleps       %xmm15,%xmm0
28241  .byte  65,15,40,207                        // movaps        %xmm15,%xmm1
28242  .byte  15,89,207                           // mulps         %xmm7,%xmm1
28243  .byte  15,40,211                           // movaps        %xmm3,%xmm2
28244  .byte  15,92,209                           // subps         %xmm1,%xmm2
28245  .byte  15,89,214                           // mulps         %xmm6,%xmm2
28246  .byte  65,15,88,208                        // addps         %xmm8,%xmm2
28247  .byte  102,65,15,56,20,208                 // blendvps      %xmm0,%xmm8,%xmm2
28248  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
28249  .byte  65,15,194,199,2                     // cmpleps       %xmm15,%xmm0
28250  .byte  15,40,229                           // movaps        %xmm5,%xmm4
28251  .byte  102,15,56,20,226                    // blendvps      %xmm0,%xmm2,%xmm4
28252  .byte  65,15,40,196                        // movaps        %xmm12,%xmm0
28253  .byte  65,15,194,199,2                     // cmpleps       %xmm15,%xmm0
28254  .byte  15,89,206                           // mulps         %xmm6,%xmm1
28255  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
28256  .byte  102,15,56,20,204                    // blendvps      %xmm0,%xmm4,%xmm1
28257  .byte  65,15,40,198                        // movaps        %xmm14,%xmm0
28258  .byte  15,40,84,36,152                     // movaps        -0x68(%rsp),%xmm2
28259  .byte  102,15,56,20,202                    // blendvps      %xmm0,%xmm2,%xmm1
28260  .byte  68,15,88,21,122,66,0,0              // addps         0x427a(%rip),%xmm10        # 61b0 <_sk_callback_sse41+0x602>
28261  .byte  102,65,15,58,8,194,1                // roundps       $0x1,%xmm10,%xmm0
28262  .byte  68,15,92,208                        // subps         %xmm0,%xmm10
28263  .byte  69,15,194,218,2                     // cmpleps       %xmm10,%xmm11
28264  .byte  65,15,89,250                        // mulps         %xmm10,%xmm7
28265  .byte  15,92,223                           // subps         %xmm7,%xmm3
28266  .byte  15,89,222                           // mulps         %xmm6,%xmm3
28267  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
28268  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
28269  .byte  102,65,15,56,20,216                 // blendvps      %xmm0,%xmm8,%xmm3
28270  .byte  69,15,194,202,2                     // cmpleps       %xmm10,%xmm9
28271  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
28272  .byte  102,15,56,20,235                    // blendvps      %xmm0,%xmm3,%xmm5
28273  .byte  69,15,194,226,2                     // cmpleps       %xmm10,%xmm12
28274  .byte  15,89,254                           // mulps         %xmm6,%xmm7
28275  .byte  68,15,88,199                        // addps         %xmm7,%xmm8
28276  .byte  65,15,40,196                        // movaps        %xmm12,%xmm0
28277  .byte  102,68,15,56,20,197                 // blendvps      %xmm0,%xmm5,%xmm8
28278  .byte  65,15,40,198                        // movaps        %xmm14,%xmm0
28279  .byte  102,68,15,56,20,194                 // blendvps      %xmm0,%xmm2,%xmm8
28280  .byte  72,173                              // lods          %ds:(%rsi),%rax
28281  .byte  65,15,40,197                        // movaps        %xmm13,%xmm0
28282  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
28283  .byte  15,40,92,36,168                     // movaps        -0x58(%rsp),%xmm3
28284  .byte  15,40,100,36,184                    // movaps        -0x48(%rsp),%xmm4
28285  .byte  15,40,108,36,200                    // movaps        -0x38(%rsp),%xmm5
28286  .byte  15,40,116,36,216                    // movaps        -0x28(%rsp),%xmm6
28287  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
28288  .byte  255,224                             // jmpq          *%rax
28289
28290HIDDEN _sk_scale_1_float_sse41
28291.globl _sk_scale_1_float_sse41
28292FUNCTION(_sk_scale_1_float_sse41)
28293_sk_scale_1_float_sse41:
28294  .byte  72,173                              // lods          %ds:(%rsi),%rax
28295  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
28296  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
28297  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
28298  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
28299  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
28300  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
28301  .byte  72,173                              // lods          %ds:(%rsi),%rax
28302  .byte  255,224                             // jmpq          *%rax
28303
28304HIDDEN _sk_scale_u8_sse41
28305.globl _sk_scale_u8_sse41
28306FUNCTION(_sk_scale_u8_sse41)
28307_sk_scale_u8_sse41:
28308  .byte  72,173                              // lods          %ds:(%rsi),%rax
28309  .byte  76,139,16                           // mov           (%rax),%r10
28310  .byte  77,133,192                          // test          %r8,%r8
28311  .byte  117,52                              // jne           200f <_sk_scale_u8_sse41+0x3e>
28312  .byte  102,69,15,56,49,4,18                // pmovzxbd      (%r10,%rdx,1),%xmm8
28313  .byte  102,68,15,219,5,213,65,0,0          // pand          0x41d5(%rip),%xmm8        # 61c0 <_sk_callback_sse41+0x612>
28314  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
28315  .byte  68,15,89,5,217,65,0,0               // mulps         0x41d9(%rip),%xmm8        # 61d0 <_sk_callback_sse41+0x622>
28316  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
28317  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
28318  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
28319  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
28320  .byte  72,173                              // lods          %ds:(%rsi),%rax
28321  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
28322  .byte  255,224                             // jmpq          *%rax
28323  .byte  69,137,193                          // mov           %r8d,%r9d
28324  .byte  65,128,225,3                        // and           $0x3,%r9b
28325  .byte  65,128,249,1                        // cmp           $0x1,%r9b
28326  .byte  116,59                              // je            2057 <_sk_scale_u8_sse41+0x86>
28327  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
28328  .byte  65,128,249,2                        // cmp           $0x2,%r9b
28329  .byte  116,23                              // je            203e <_sk_scale_u8_sse41+0x6d>
28330  .byte  65,128,249,3                        // cmp           $0x3,%r9b
28331  .byte  117,181                             // jne           1fe2 <_sk_scale_u8_sse41+0x11>
28332  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
28333  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
28334  .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
28335  .byte  65,15,183,4,18                      // movzwl        (%r10,%rdx,1),%eax
28336  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
28337  .byte  102,69,15,56,49,201                 // pmovzxbd      %xmm9,%xmm9
28338  .byte  102,69,15,58,14,193,15              // pblendw       $0xf,%xmm9,%xmm8
28339  .byte  235,139                             // jmp           1fe2 <_sk_scale_u8_sse41+0x11>
28340  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
28341  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
28342  .byte  233,124,255,255,255                 // jmpq          1fe2 <_sk_scale_u8_sse41+0x11>
28343
28344HIDDEN _sk_lerp_1_float_sse41
28345.globl _sk_lerp_1_float_sse41
28346FUNCTION(_sk_lerp_1_float_sse41)
28347_sk_lerp_1_float_sse41:
28348  .byte  72,173                              // lods          %ds:(%rsi),%rax
28349  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
28350  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
28351  .byte  15,92,196                           // subps         %xmm4,%xmm0
28352  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
28353  .byte  15,88,196                           // addps         %xmm4,%xmm0
28354  .byte  15,92,205                           // subps         %xmm5,%xmm1
28355  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
28356  .byte  15,88,205                           // addps         %xmm5,%xmm1
28357  .byte  15,92,214                           // subps         %xmm6,%xmm2
28358  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
28359  .byte  15,88,214                           // addps         %xmm6,%xmm2
28360  .byte  15,92,223                           // subps         %xmm7,%xmm3
28361  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
28362  .byte  15,88,223                           // addps         %xmm7,%xmm3
28363  .byte  72,173                              // lods          %ds:(%rsi),%rax
28364  .byte  255,224                             // jmpq          *%rax
28365
28366HIDDEN _sk_lerp_u8_sse41
28367.globl _sk_lerp_u8_sse41
28368FUNCTION(_sk_lerp_u8_sse41)
28369_sk_lerp_u8_sse41:
28370  .byte  72,173                              // lods          %ds:(%rsi),%rax
28371  .byte  76,139,16                           // mov           (%rax),%r10
28372  .byte  77,133,192                          // test          %r8,%r8
28373  .byte  117,72                              // jne           20f0 <_sk_lerp_u8_sse41+0x52>
28374  .byte  102,69,15,56,49,4,18                // pmovzxbd      (%r10,%rdx,1),%xmm8
28375  .byte  102,68,15,219,5,40,65,0,0           // pand          0x4128(%rip),%xmm8        # 61e0 <_sk_callback_sse41+0x632>
28376  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
28377  .byte  68,15,89,5,44,65,0,0                // mulps         0x412c(%rip),%xmm8        # 61f0 <_sk_callback_sse41+0x642>
28378  .byte  15,92,196                           // subps         %xmm4,%xmm0
28379  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
28380  .byte  15,88,196                           // addps         %xmm4,%xmm0
28381  .byte  15,92,205                           // subps         %xmm5,%xmm1
28382  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
28383  .byte  15,88,205                           // addps         %xmm5,%xmm1
28384  .byte  15,92,214                           // subps         %xmm6,%xmm2
28385  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
28386  .byte  15,88,214                           // addps         %xmm6,%xmm2
28387  .byte  15,92,223                           // subps         %xmm7,%xmm3
28388  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
28389  .byte  15,88,223                           // addps         %xmm7,%xmm3
28390  .byte  72,173                              // lods          %ds:(%rsi),%rax
28391  .byte  255,224                             // jmpq          *%rax
28392  .byte  69,137,193                          // mov           %r8d,%r9d
28393  .byte  65,128,225,3                        // and           $0x3,%r9b
28394  .byte  65,128,249,1                        // cmp           $0x1,%r9b
28395  .byte  116,62                              // je            213b <_sk_lerp_u8_sse41+0x9d>
28396  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
28397  .byte  65,128,249,2                        // cmp           $0x2,%r9b
28398  .byte  116,23                              // je            211f <_sk_lerp_u8_sse41+0x81>
28399  .byte  65,128,249,3                        // cmp           $0x3,%r9b
28400  .byte  117,161                             // jne           20af <_sk_lerp_u8_sse41+0x11>
28401  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
28402  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
28403  .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
28404  .byte  65,15,183,4,18                      // movzwl        (%r10,%rdx,1),%eax
28405  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
28406  .byte  102,69,15,56,49,201                 // pmovzxbd      %xmm9,%xmm9
28407  .byte  102,69,15,58,14,193,15              // pblendw       $0xf,%xmm9,%xmm8
28408  .byte  233,116,255,255,255                 // jmpq          20af <_sk_lerp_u8_sse41+0x11>
28409  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
28410  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
28411  .byte  233,101,255,255,255                 // jmpq          20af <_sk_lerp_u8_sse41+0x11>
28412
28413HIDDEN _sk_lerp_565_sse41
28414.globl _sk_lerp_565_sse41
28415FUNCTION(_sk_lerp_565_sse41)
28416_sk_lerp_565_sse41:
28417  .byte  72,173                              // lods          %ds:(%rsi),%rax
28418  .byte  76,139,16                           // mov           (%rax),%r10
28419  .byte  77,133,192                          // test          %r8,%r8
28420  .byte  15,133,152,0,0,0                    // jne           21f0 <_sk_lerp_565_sse41+0xa6>
28421  .byte  102,69,15,56,51,20,82               // pmovzxwd      (%r10,%rdx,2),%xmm10
28422  .byte  102,68,15,111,5,152,64,0,0          // movdqa        0x4098(%rip),%xmm8        # 6200 <_sk_callback_sse41+0x652>
28423  .byte  102,69,15,219,194                   // pand          %xmm10,%xmm8
28424  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
28425  .byte  68,15,89,5,151,64,0,0               // mulps         0x4097(%rip),%xmm8        # 6210 <_sk_callback_sse41+0x662>
28426  .byte  102,68,15,111,13,158,64,0,0         // movdqa        0x409e(%rip),%xmm9        # 6220 <_sk_callback_sse41+0x672>
28427  .byte  102,69,15,219,202                   // pand          %xmm10,%xmm9
28428  .byte  69,15,91,201                        // cvtdq2ps      %xmm9,%xmm9
28429  .byte  68,15,89,13,157,64,0,0              // mulps         0x409d(%rip),%xmm9        # 6230 <_sk_callback_sse41+0x682>
28430  .byte  102,68,15,219,21,164,64,0,0         // pand          0x40a4(%rip),%xmm10        # 6240 <_sk_callback_sse41+0x692>
28431  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
28432  .byte  68,15,89,21,168,64,0,0              // mulps         0x40a8(%rip),%xmm10        # 6250 <_sk_callback_sse41+0x6a2>
28433  .byte  15,92,196                           // subps         %xmm4,%xmm0
28434  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
28435  .byte  15,88,196                           // addps         %xmm4,%xmm0
28436  .byte  15,92,205                           // subps         %xmm5,%xmm1
28437  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
28438  .byte  15,88,205                           // addps         %xmm5,%xmm1
28439  .byte  15,92,214                           // subps         %xmm6,%xmm2
28440  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
28441  .byte  15,88,214                           // addps         %xmm6,%xmm2
28442  .byte  15,92,223                           // subps         %xmm7,%xmm3
28443  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
28444  .byte  68,15,88,199                        // addps         %xmm7,%xmm8
28445  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
28446  .byte  68,15,88,207                        // addps         %xmm7,%xmm9
28447  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
28448  .byte  15,88,223                           // addps         %xmm7,%xmm3
28449  .byte  68,15,95,203                        // maxps         %xmm3,%xmm9
28450  .byte  69,15,95,193                        // maxps         %xmm9,%xmm8
28451  .byte  72,173                              // lods          %ds:(%rsi),%rax
28452  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
28453  .byte  255,224                             // jmpq          *%rax
28454  .byte  69,137,193                          // mov           %r8d,%r9d
28455  .byte  65,128,225,3                        // and           $0x3,%r9b
28456  .byte  65,128,249,1                        // cmp           $0x1,%r9b
28457  .byte  116,62                              // je            223b <_sk_lerp_565_sse41+0xf1>
28458  .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
28459  .byte  65,128,249,2                        // cmp           $0x2,%r9b
28460  .byte  116,27                              // je            2223 <_sk_lerp_565_sse41+0xd9>
28461  .byte  65,128,249,3                        // cmp           $0x3,%r9b
28462  .byte  15,133,77,255,255,255               // jne           215f <_sk_lerp_565_sse41+0x15>
28463  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%rdx,2),%eax
28464  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
28465  .byte  102,69,15,112,208,69                // pshufd        $0x45,%xmm8,%xmm10
28466  .byte  102,69,15,110,4,82                  // movd          (%r10,%rdx,2),%xmm8
28467  .byte  102,69,15,56,51,192                 // pmovzxwd      %xmm8,%xmm8
28468  .byte  102,69,15,58,14,208,15              // pblendw       $0xf,%xmm8,%xmm10
28469  .byte  233,36,255,255,255                  // jmpq          215f <_sk_lerp_565_sse41+0x15>
28470  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
28471  .byte  102,68,15,110,208                   // movd          %eax,%xmm10
28472  .byte  233,21,255,255,255                  // jmpq          215f <_sk_lerp_565_sse41+0x15>
28473
28474HIDDEN _sk_load_tables_sse41
28475.globl _sk_load_tables_sse41
28476FUNCTION(_sk_load_tables_sse41)
28477_sk_load_tables_sse41:
28478  .byte  72,173                              // lods          %ds:(%rsi),%rax
28479  .byte  76,139,8                            // mov           (%rax),%r9
28480  .byte  77,133,192                          // test          %r8,%r8
28481  .byte  15,133,24,1,0,0                     // jne           2370 <_sk_load_tables_sse41+0x126>
28482  .byte  243,69,15,111,4,145                 // movdqu        (%r9,%rdx,4),%xmm8
28483  .byte  65,87                               // push          %r15
28484  .byte  65,86                               // push          %r14
28485  .byte  83                                  // push          %rbx
28486  .byte  102,15,111,5,245,63,0,0             // movdqa        0x3ff5(%rip),%xmm0        # 6260 <_sk_callback_sse41+0x6b2>
28487  .byte  102,65,15,219,192                   // pand          %xmm8,%xmm0
28488  .byte  102,73,15,58,22,193,1               // pextrq        $0x1,%xmm0,%r9
28489  .byte  102,73,15,126,194                   // movq          %xmm0,%r10
28490  .byte  69,15,182,218                       // movzbl        %r10b,%r11d
28491  .byte  73,193,234,30                       // shr           $0x1e,%r10
28492  .byte  69,15,182,241                       // movzbl        %r9b,%r14d
28493  .byte  73,193,233,30                       // shr           $0x1e,%r9
28494  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
28495  .byte  76,139,120,16                       // mov           0x10(%rax),%r15
28496  .byte  243,66,15,16,4,155                  // movss         (%rbx,%r11,4),%xmm0
28497  .byte  102,66,15,58,33,4,19,16             // insertps      $0x10,(%rbx,%r10,1),%xmm0
28498  .byte  102,66,15,58,33,4,179,32            // insertps      $0x20,(%rbx,%r14,4),%xmm0
28499  .byte  102,66,15,58,33,4,11,48             // insertps      $0x30,(%rbx,%r9,1),%xmm0
28500  .byte  102,65,15,111,200                   // movdqa        %xmm8,%xmm1
28501  .byte  102,15,56,0,13,176,63,0,0           // pshufb        0x3fb0(%rip),%xmm1        # 6270 <_sk_callback_sse41+0x6c2>
28502  .byte  102,73,15,58,22,201,1               // pextrq        $0x1,%xmm1,%r9
28503  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
28504  .byte  68,15,182,211                       // movzbl        %bl,%r10d
28505  .byte  72,193,235,30                       // shr           $0x1e,%rbx
28506  .byte  69,15,182,217                       // movzbl        %r9b,%r11d
28507  .byte  73,193,233,30                       // shr           $0x1e,%r9
28508  .byte  243,67,15,16,12,151                 // movss         (%r15,%r10,4),%xmm1
28509  .byte  102,65,15,58,33,12,31,16            // insertps      $0x10,(%r15,%rbx,1),%xmm1
28510  .byte  243,67,15,16,20,159                 // movss         (%r15,%r11,4),%xmm2
28511  .byte  102,15,58,33,202,32                 // insertps      $0x20,%xmm2,%xmm1
28512  .byte  243,67,15,16,20,15                  // movss         (%r15,%r9,1),%xmm2
28513  .byte  102,15,58,33,202,48                 // insertps      $0x30,%xmm2,%xmm1
28514  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
28515  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
28516  .byte  102,15,56,0,21,108,63,0,0           // pshufb        0x3f6c(%rip),%xmm2        # 6280 <_sk_callback_sse41+0x6d2>
28517  .byte  102,72,15,58,22,211,1               // pextrq        $0x1,%xmm2,%rbx
28518  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
28519  .byte  68,15,182,208                       // movzbl        %al,%r10d
28520  .byte  72,193,232,30                       // shr           $0x1e,%rax
28521  .byte  68,15,182,219                       // movzbl        %bl,%r11d
28522  .byte  72,193,235,30                       // shr           $0x1e,%rbx
28523  .byte  243,67,15,16,20,145                 // movss         (%r9,%r10,4),%xmm2
28524  .byte  102,65,15,58,33,20,1,16             // insertps      $0x10,(%r9,%rax,1),%xmm2
28525  .byte  243,67,15,16,28,153                 // movss         (%r9,%r11,4),%xmm3
28526  .byte  102,15,58,33,211,32                 // insertps      $0x20,%xmm3,%xmm2
28527  .byte  243,65,15,16,28,25                  // movss         (%r9,%rbx,1),%xmm3
28528  .byte  102,15,58,33,211,48                 // insertps      $0x30,%xmm3,%xmm2
28529  .byte  102,65,15,114,208,24                // psrld         $0x18,%xmm8
28530  .byte  65,15,91,216                        // cvtdq2ps      %xmm8,%xmm3
28531  .byte  15,89,29,41,63,0,0                  // mulps         0x3f29(%rip),%xmm3        # 6290 <_sk_callback_sse41+0x6e2>
28532  .byte  72,173                              // lods          %ds:(%rsi),%rax
28533  .byte  91                                  // pop           %rbx
28534  .byte  65,94                               // pop           %r14
28535  .byte  65,95                               // pop           %r15
28536  .byte  255,224                             // jmpq          *%rax
28537  .byte  69,137,194                          // mov           %r8d,%r10d
28538  .byte  65,128,226,3                        // and           $0x3,%r10b
28539  .byte  65,128,250,1                        // cmp           $0x1,%r10b
28540  .byte  116,52                              // je            23b1 <_sk_load_tables_sse41+0x167>
28541  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
28542  .byte  65,128,250,2                        // cmp           $0x2,%r10b
28543  .byte  116,23                              // je            239f <_sk_load_tables_sse41+0x155>
28544  .byte  65,128,250,3                        // cmp           $0x3,%r10b
28545  .byte  15,133,204,254,255,255              // jne           225e <_sk_load_tables_sse41+0x14>
28546  .byte  102,65,15,110,68,145,8              // movd          0x8(%r9,%rdx,4),%xmm0
28547  .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
28548  .byte  243,65,15,126,4,145                 // movq          (%r9,%rdx,4),%xmm0
28549  .byte  102,68,15,58,14,192,15              // pblendw       $0xf,%xmm0,%xmm8
28550  .byte  233,173,254,255,255                 // jmpq          225e <_sk_load_tables_sse41+0x14>
28551  .byte  102,69,15,110,4,145                 // movd          (%r9,%rdx,4),%xmm8
28552  .byte  233,162,254,255,255                 // jmpq          225e <_sk_load_tables_sse41+0x14>
28553
28554HIDDEN _sk_load_tables_u16_be_sse41
28555.globl _sk_load_tables_u16_be_sse41
28556FUNCTION(_sk_load_tables_u16_be_sse41)
28557_sk_load_tables_u16_be_sse41:
28558  .byte  72,173                              // lods          %ds:(%rsi),%rax
28559  .byte  76,139,8                            // mov           (%rax),%r9
28560  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
28561  .byte  77,133,192                          // test          %r8,%r8
28562  .byte  15,133,99,1,0,0                     // jne           2535 <_sk_load_tables_u16_be_sse41+0x179>
28563  .byte  102,67,15,16,4,81                   // movupd        (%r9,%r10,2),%xmm0
28564  .byte  243,67,15,111,76,81,16              // movdqu        0x10(%r9,%r10,2),%xmm1
28565  .byte  65,87                               // push          %r15
28566  .byte  65,86                               // push          %r14
28567  .byte  83                                  // push          %rbx
28568  .byte  102,68,15,40,200                    // movapd        %xmm0,%xmm9
28569  .byte  102,68,15,97,201                    // punpcklwd     %xmm1,%xmm9
28570  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
28571  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
28572  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
28573  .byte  102,68,15,105,200                   // punpckhwd     %xmm0,%xmm9
28574  .byte  102,68,15,111,5,151,62,0,0          // movdqa        0x3e97(%rip),%xmm8        # 62a0 <_sk_callback_sse41+0x6f2>
28575  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
28576  .byte  102,65,15,219,192                   // pand          %xmm8,%xmm0
28577  .byte  102,15,56,51,192                    // pmovzxwd      %xmm0,%xmm0
28578  .byte  102,73,15,58,22,193,1               // pextrq        $0x1,%xmm0,%r9
28579  .byte  102,73,15,126,194                   // movq          %xmm0,%r10
28580  .byte  69,15,182,218                       // movzbl        %r10b,%r11d
28581  .byte  73,193,234,30                       // shr           $0x1e,%r10
28582  .byte  69,15,182,241                       // movzbl        %r9b,%r14d
28583  .byte  73,193,233,30                       // shr           $0x1e,%r9
28584  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
28585  .byte  76,139,120,16                       // mov           0x10(%rax),%r15
28586  .byte  243,66,15,16,4,155                  // movss         (%rbx,%r11,4),%xmm0
28587  .byte  102,66,15,58,33,4,19,16             // insertps      $0x10,(%rbx,%r10,1),%xmm0
28588  .byte  243,66,15,16,20,179                 // movss         (%rbx,%r14,4),%xmm2
28589  .byte  102,15,58,33,194,32                 // insertps      $0x20,%xmm2,%xmm0
28590  .byte  243,66,15,16,20,11                  // movss         (%rbx,%r9,1),%xmm2
28591  .byte  102,15,58,33,194,48                 // insertps      $0x30,%xmm2,%xmm0
28592  .byte  102,15,56,0,13,70,62,0,0            // pshufb        0x3e46(%rip),%xmm1        # 62b0 <_sk_callback_sse41+0x702>
28593  .byte  102,15,56,51,201                    // pmovzxwd      %xmm1,%xmm1
28594  .byte  102,73,15,58,22,201,1               // pextrq        $0x1,%xmm1,%r9
28595  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
28596  .byte  68,15,182,211                       // movzbl        %bl,%r10d
28597  .byte  72,193,235,30                       // shr           $0x1e,%rbx
28598  .byte  69,15,182,217                       // movzbl        %r9b,%r11d
28599  .byte  73,193,233,30                       // shr           $0x1e,%r9
28600  .byte  243,67,15,16,12,151                 // movss         (%r15,%r10,4),%xmm1
28601  .byte  102,65,15,58,33,12,31,16            // insertps      $0x10,(%r15,%rbx,1),%xmm1
28602  .byte  243,67,15,16,20,159                 // movss         (%r15,%r11,4),%xmm2
28603  .byte  102,15,58,33,202,32                 // insertps      $0x20,%xmm2,%xmm1
28604  .byte  243,67,15,16,20,15                  // movss         (%r15,%r9,1),%xmm2
28605  .byte  102,15,58,33,202,48                 // insertps      $0x30,%xmm2,%xmm1
28606  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
28607  .byte  102,69,15,219,193                   // pand          %xmm9,%xmm8
28608  .byte  102,65,15,56,51,208                 // pmovzxwd      %xmm8,%xmm2
28609  .byte  102,72,15,58,22,211,1               // pextrq        $0x1,%xmm2,%rbx
28610  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
28611  .byte  68,15,182,208                       // movzbl        %al,%r10d
28612  .byte  72,193,232,30                       // shr           $0x1e,%rax
28613  .byte  68,15,182,219                       // movzbl        %bl,%r11d
28614  .byte  72,193,235,30                       // shr           $0x1e,%rbx
28615  .byte  243,67,15,16,20,145                 // movss         (%r9,%r10,4),%xmm2
28616  .byte  102,65,15,58,33,20,1,16             // insertps      $0x10,(%r9,%rax,1),%xmm2
28617  .byte  243,67,15,16,28,153                 // movss         (%r9,%r11,4),%xmm3
28618  .byte  102,15,58,33,211,32                 // insertps      $0x20,%xmm3,%xmm2
28619  .byte  243,65,15,16,28,25                  // movss         (%r9,%rbx,1),%xmm3
28620  .byte  102,15,58,33,211,48                 // insertps      $0x30,%xmm3,%xmm2
28621  .byte  102,65,15,112,217,78                // pshufd        $0x4e,%xmm9,%xmm3
28622  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
28623  .byte  102,65,15,113,240,8                 // psllw         $0x8,%xmm8
28624  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
28625  .byte  102,65,15,235,216                   // por           %xmm8,%xmm3
28626  .byte  102,15,56,51,219                    // pmovzxwd      %xmm3,%xmm3
28627  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
28628  .byte  15,89,29,148,61,0,0                 // mulps         0x3d94(%rip),%xmm3        # 62c0 <_sk_callback_sse41+0x712>
28629  .byte  72,173                              // lods          %ds:(%rsi),%rax
28630  .byte  91                                  // pop           %rbx
28631  .byte  65,94                               // pop           %r14
28632  .byte  65,95                               // pop           %r15
28633  .byte  255,224                             // jmpq          *%rax
28634  .byte  242,67,15,16,4,81                   // movsd         (%r9,%r10,2),%xmm0
28635  .byte  73,131,248,1                        // cmp           $0x1,%r8
28636  .byte  117,13                              // jne           254e <_sk_load_tables_u16_be_sse41+0x192>
28637  .byte  243,15,126,192                      // movq          %xmm0,%xmm0
28638  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
28639  .byte  233,145,254,255,255                 // jmpq          23df <_sk_load_tables_u16_be_sse41+0x23>
28640  .byte  102,67,15,22,68,81,8                // movhpd        0x8(%r9,%r10,2),%xmm0
28641  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
28642  .byte  73,131,248,3                        // cmp           $0x3,%r8
28643  .byte  15,130,124,254,255,255              // jb            23df <_sk_load_tables_u16_be_sse41+0x23>
28644  .byte  243,67,15,126,76,81,16              // movq          0x10(%r9,%r10,2),%xmm1
28645  .byte  233,112,254,255,255                 // jmpq          23df <_sk_load_tables_u16_be_sse41+0x23>
28646
28647HIDDEN _sk_load_tables_rgb_u16_be_sse41
28648.globl _sk_load_tables_rgb_u16_be_sse41
28649FUNCTION(_sk_load_tables_rgb_u16_be_sse41)
28650_sk_load_tables_rgb_u16_be_sse41:
28651  .byte  72,173                              // lods          %ds:(%rsi),%rax
28652  .byte  76,139,8                            // mov           (%rax),%r9
28653  .byte  76,141,20,82                        // lea           (%rdx,%rdx,2),%r10
28654  .byte  77,133,192                          // test          %r8,%r8
28655  .byte  15,133,83,1,0,0                     // jne           26d4 <_sk_load_tables_rgb_u16_be_sse41+0x165>
28656  .byte  243,67,15,111,20,81                 // movdqu        (%r9,%r10,2),%xmm2
28657  .byte  243,67,15,111,76,81,8               // movdqu        0x8(%r9,%r10,2),%xmm1
28658  .byte  102,15,115,217,4                    // psrldq        $0x4,%xmm1
28659  .byte  102,68,15,111,202                   // movdqa        %xmm2,%xmm9
28660  .byte  102,65,15,115,217,6                 // psrldq        $0x6,%xmm9
28661  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
28662  .byte  102,15,115,216,6                    // psrldq        $0x6,%xmm0
28663  .byte  65,87                               // push          %r15
28664  .byte  65,86                               // push          %r14
28665  .byte  83                                  // push          %rbx
28666  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
28667  .byte  102,68,15,97,200                    // punpcklwd     %xmm0,%xmm9
28668  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
28669  .byte  102,65,15,97,201                    // punpcklwd     %xmm9,%xmm1
28670  .byte  102,68,15,111,5,9,61,0,0            // movdqa        0x3d09(%rip),%xmm8        # 62d0 <_sk_callback_sse41+0x722>
28671  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
28672  .byte  102,65,15,219,192                   // pand          %xmm8,%xmm0
28673  .byte  102,15,56,51,192                    // pmovzxwd      %xmm0,%xmm0
28674  .byte  102,73,15,58,22,193,1               // pextrq        $0x1,%xmm0,%r9
28675  .byte  102,73,15,126,194                   // movq          %xmm0,%r10
28676  .byte  69,15,182,218                       // movzbl        %r10b,%r11d
28677  .byte  73,193,234,30                       // shr           $0x1e,%r10
28678  .byte  69,15,182,241                       // movzbl        %r9b,%r14d
28679  .byte  73,193,233,30                       // shr           $0x1e,%r9
28680  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
28681  .byte  76,139,120,16                       // mov           0x10(%rax),%r15
28682  .byte  243,66,15,16,4,155                  // movss         (%rbx,%r11,4),%xmm0
28683  .byte  102,66,15,58,33,4,19,16             // insertps      $0x10,(%rbx,%r10,1),%xmm0
28684  .byte  243,66,15,16,28,179                 // movss         (%rbx,%r14,4),%xmm3
28685  .byte  102,15,58,33,195,32                 // insertps      $0x20,%xmm3,%xmm0
28686  .byte  243,66,15,16,28,11                  // movss         (%rbx,%r9,1),%xmm3
28687  .byte  102,15,58,33,195,48                 // insertps      $0x30,%xmm3,%xmm0
28688  .byte  102,15,56,0,13,184,60,0,0           // pshufb        0x3cb8(%rip),%xmm1        # 62e0 <_sk_callback_sse41+0x732>
28689  .byte  102,15,56,51,201                    // pmovzxwd      %xmm1,%xmm1
28690  .byte  102,73,15,58,22,201,1               // pextrq        $0x1,%xmm1,%r9
28691  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
28692  .byte  68,15,182,211                       // movzbl        %bl,%r10d
28693  .byte  72,193,235,30                       // shr           $0x1e,%rbx
28694  .byte  69,15,182,217                       // movzbl        %r9b,%r11d
28695  .byte  73,193,233,30                       // shr           $0x1e,%r9
28696  .byte  243,67,15,16,12,151                 // movss         (%r15,%r10,4),%xmm1
28697  .byte  102,65,15,58,33,12,31,16            // insertps      $0x10,(%r15,%rbx,1),%xmm1
28698  .byte  243,67,15,16,28,159                 // movss         (%r15,%r11,4),%xmm3
28699  .byte  102,15,58,33,203,32                 // insertps      $0x20,%xmm3,%xmm1
28700  .byte  243,67,15,16,28,15                  // movss         (%r15,%r9,1),%xmm3
28701  .byte  102,15,58,33,203,48                 // insertps      $0x30,%xmm3,%xmm1
28702  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
28703  .byte  102,65,15,105,209                   // punpckhwd     %xmm9,%xmm2
28704  .byte  102,65,15,219,208                   // pand          %xmm8,%xmm2
28705  .byte  102,15,56,51,210                    // pmovzxwd      %xmm2,%xmm2
28706  .byte  102,72,15,58,22,211,1               // pextrq        $0x1,%xmm2,%rbx
28707  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
28708  .byte  68,15,182,208                       // movzbl        %al,%r10d
28709  .byte  72,193,232,30                       // shr           $0x1e,%rax
28710  .byte  68,15,182,219                       // movzbl        %bl,%r11d
28711  .byte  72,193,235,30                       // shr           $0x1e,%rbx
28712  .byte  243,67,15,16,20,145                 // movss         (%r9,%r10,4),%xmm2
28713  .byte  102,65,15,58,33,20,1,16             // insertps      $0x10,(%r9,%rax,1),%xmm2
28714  .byte  243,67,15,16,28,153                 // movss         (%r9,%r11,4),%xmm3
28715  .byte  102,15,58,33,211,32                 // insertps      $0x20,%xmm3,%xmm2
28716  .byte  243,65,15,16,28,25                  // movss         (%r9,%rbx,1),%xmm3
28717  .byte  102,15,58,33,211,48                 // insertps      $0x30,%xmm3,%xmm2
28718  .byte  72,173                              // lods          %ds:(%rsi),%rax
28719  .byte  15,40,29,35,60,0,0                  // movaps        0x3c23(%rip),%xmm3        # 62f0 <_sk_callback_sse41+0x742>
28720  .byte  91                                  // pop           %rbx
28721  .byte  65,94                               // pop           %r14
28722  .byte  65,95                               // pop           %r15
28723  .byte  255,224                             // jmpq          *%rax
28724  .byte  102,67,15,110,20,81                 // movd          (%r9,%r10,2),%xmm2
28725  .byte  102,67,15,196,84,81,4,2             // pinsrw        $0x2,0x4(%r9,%r10,2),%xmm2
28726  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
28727  .byte  73,131,248,1                        // cmp           $0x1,%r8
28728  .byte  117,14                              // jne           26fa <_sk_load_tables_rgb_u16_be_sse41+0x18b>
28729  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
28730  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
28731  .byte  233,173,254,255,255                 // jmpq          25a7 <_sk_load_tables_rgb_u16_be_sse41+0x38>
28732  .byte  102,71,15,110,76,81,6               // movd          0x6(%r9,%r10,2),%xmm9
28733  .byte  102,71,15,196,76,81,10,2            // pinsrw        $0x2,0xa(%r9,%r10,2),%xmm9
28734  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
28735  .byte  73,131,248,3                        // cmp           $0x3,%r8
28736  .byte  114,24                              // jb            272b <_sk_load_tables_rgb_u16_be_sse41+0x1bc>
28737  .byte  102,67,15,110,76,81,12              // movd          0xc(%r9,%r10,2),%xmm1
28738  .byte  102,67,15,196,76,81,16,2            // pinsrw        $0x2,0x10(%r9,%r10,2),%xmm1
28739  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
28740  .byte  233,124,254,255,255                 // jmpq          25a7 <_sk_load_tables_rgb_u16_be_sse41+0x38>
28741  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
28742  .byte  233,115,254,255,255                 // jmpq          25a7 <_sk_load_tables_rgb_u16_be_sse41+0x38>
28743
28744HIDDEN _sk_byte_tables_sse41
28745.globl _sk_byte_tables_sse41
28746FUNCTION(_sk_byte_tables_sse41)
28747_sk_byte_tables_sse41:
28748  .byte  65,87                               // push          %r15
28749  .byte  65,86                               // push          %r14
28750  .byte  65,84                               // push          %r12
28751  .byte  83                                  // push          %rbx
28752  .byte  72,173                              // lods          %ds:(%rsi),%rax
28753  .byte  68,15,40,5,187,59,0,0               // movaps        0x3bbb(%rip),%xmm8        # 6300 <_sk_callback_sse41+0x752>
28754  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
28755  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
28756  .byte  102,73,15,58,22,193,1               // pextrq        $0x1,%xmm0,%r9
28757  .byte  69,137,202                          // mov           %r9d,%r10d
28758  .byte  73,193,233,32                       // shr           $0x20,%r9
28759  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
28760  .byte  69,137,222                          // mov           %r11d,%r14d
28761  .byte  73,193,235,32                       // shr           $0x20,%r11
28762  .byte  76,139,32                           // mov           (%rax),%r12
28763  .byte  76,139,120,8                        // mov           0x8(%rax),%r15
28764  .byte  102,67,15,58,32,4,52,0              // pinsrb        $0x0,(%r12,%r14,1),%xmm0
28765  .byte  102,67,15,58,32,4,28,1              // pinsrb        $0x1,(%r12,%r11,1),%xmm0
28766  .byte  67,15,182,28,20                     // movzbl        (%r12,%r10,1),%ebx
28767  .byte  102,15,58,32,195,2                  // pinsrb        $0x2,%ebx,%xmm0
28768  .byte  67,15,182,28,12                     // movzbl        (%r12,%r9,1),%ebx
28769  .byte  102,15,58,32,195,3                  // pinsrb        $0x3,%ebx,%xmm0
28770  .byte  102,15,56,49,192                    // pmovzxbd      %xmm0,%xmm0
28771  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
28772  .byte  68,15,40,13,108,59,0,0              // movaps        0x3b6c(%rip),%xmm9        # 6310 <_sk_callback_sse41+0x762>
28773  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
28774  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
28775  .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
28776  .byte  102,72,15,58,22,203,1               // pextrq        $0x1,%xmm1,%rbx
28777  .byte  65,137,217                          // mov           %ebx,%r9d
28778  .byte  72,193,235,32                       // shr           $0x20,%rbx
28779  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
28780  .byte  69,137,211                          // mov           %r10d,%r11d
28781  .byte  73,193,234,32                       // shr           $0x20,%r10
28782  .byte  102,67,15,58,32,12,31,0             // pinsrb        $0x0,(%r15,%r11,1),%xmm1
28783  .byte  102,67,15,58,32,12,23,1             // pinsrb        $0x1,(%r15,%r10,1),%xmm1
28784  .byte  71,15,182,12,15                     // movzbl        (%r15,%r9,1),%r9d
28785  .byte  102,65,15,58,32,201,2               // pinsrb        $0x2,%r9d,%xmm1
28786  .byte  65,15,182,28,31                     // movzbl        (%r15,%rbx,1),%ebx
28787  .byte  102,15,58,32,203,3                  // pinsrb        $0x3,%ebx,%xmm1
28788  .byte  102,15,56,49,201                    // pmovzxbd      %xmm1,%xmm1
28789  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
28790  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
28791  .byte  76,139,88,16                        // mov           0x10(%rax),%r11
28792  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
28793  .byte  102,15,91,210                       // cvtps2dq      %xmm2,%xmm2
28794  .byte  102,73,15,58,22,209,1               // pextrq        $0x1,%xmm2,%r9
28795  .byte  69,137,202                          // mov           %r9d,%r10d
28796  .byte  73,193,233,32                       // shr           $0x20,%r9
28797  .byte  102,72,15,126,211                   // movq          %xmm2,%rbx
28798  .byte  65,137,222                          // mov           %ebx,%r14d
28799  .byte  72,193,235,32                       // shr           $0x20,%rbx
28800  .byte  102,67,15,58,32,20,51,0             // pinsrb        $0x0,(%r11,%r14,1),%xmm2
28801  .byte  102,65,15,58,32,20,27,1             // pinsrb        $0x1,(%r11,%rbx,1),%xmm2
28802  .byte  67,15,182,28,19                     // movzbl        (%r11,%r10,1),%ebx
28803  .byte  102,15,58,32,211,2                  // pinsrb        $0x2,%ebx,%xmm2
28804  .byte  67,15,182,28,11                     // movzbl        (%r11,%r9,1),%ebx
28805  .byte  102,15,58,32,211,3                  // pinsrb        $0x3,%ebx,%xmm2
28806  .byte  102,15,56,49,210                    // pmovzxbd      %xmm2,%xmm2
28807  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
28808  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
28809  .byte  76,139,80,24                        // mov           0x18(%rax),%r10
28810  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
28811  .byte  102,15,91,219                       // cvtps2dq      %xmm3,%xmm3
28812  .byte  102,72,15,58,22,219,1               // pextrq        $0x1,%xmm3,%rbx
28813  .byte  65,137,217                          // mov           %ebx,%r9d
28814  .byte  72,193,235,32                       // shr           $0x20,%rbx
28815  .byte  102,72,15,126,216                   // movq          %xmm3,%rax
28816  .byte  65,137,195                          // mov           %eax,%r11d
28817  .byte  72,193,232,32                       // shr           $0x20,%rax
28818  .byte  102,67,15,58,32,28,26,0             // pinsrb        $0x0,(%r10,%r11,1),%xmm3
28819  .byte  102,65,15,58,32,28,2,1              // pinsrb        $0x1,(%r10,%rax,1),%xmm3
28820  .byte  67,15,182,4,10                      // movzbl        (%r10,%r9,1),%eax
28821  .byte  102,15,58,32,216,2                  // pinsrb        $0x2,%eax,%xmm3
28822  .byte  65,15,182,4,26                      // movzbl        (%r10,%rbx,1),%eax
28823  .byte  102,15,58,32,216,3                  // pinsrb        $0x3,%eax,%xmm3
28824  .byte  102,15,56,49,219                    // pmovzxbd      %xmm3,%xmm3
28825  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
28826  .byte  65,15,89,217                        // mulps         %xmm9,%xmm3
28827  .byte  72,173                              // lods          %ds:(%rsi),%rax
28828  .byte  91                                  // pop           %rbx
28829  .byte  65,92                               // pop           %r12
28830  .byte  65,94                               // pop           %r14
28831  .byte  65,95                               // pop           %r15
28832  .byte  255,224                             // jmpq          *%rax
28833
28834HIDDEN _sk_byte_tables_rgb_sse41
28835.globl _sk_byte_tables_rgb_sse41
28836FUNCTION(_sk_byte_tables_rgb_sse41)
28837_sk_byte_tables_rgb_sse41:
28838  .byte  65,87                               // push          %r15
28839  .byte  65,86                               // push          %r14
28840  .byte  65,84                               // push          %r12
28841  .byte  83                                  // push          %rbx
28842  .byte  72,173                              // lods          %ds:(%rsi),%rax
28843  .byte  68,139,72,24                        // mov           0x18(%rax),%r9d
28844  .byte  65,255,201                          // dec           %r9d
28845  .byte  102,69,15,110,193                   // movd          %r9d,%xmm8
28846  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
28847  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
28848  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
28849  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
28850  .byte  102,73,15,58,22,193,1               // pextrq        $0x1,%xmm0,%r9
28851  .byte  69,137,202                          // mov           %r9d,%r10d
28852  .byte  77,137,203                          // mov           %r9,%r11
28853  .byte  73,193,235,32                       // shr           $0x20,%r11
28854  .byte  102,73,15,126,193                   // movq          %xmm0,%r9
28855  .byte  69,137,206                          // mov           %r9d,%r14d
28856  .byte  77,137,207                          // mov           %r9,%r15
28857  .byte  73,193,239,32                       // shr           $0x20,%r15
28858  .byte  76,139,32                           // mov           (%rax),%r12
28859  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
28860  .byte  102,67,15,58,32,4,52,0              // pinsrb        $0x0,(%r12,%r14,1),%xmm0
28861  .byte  102,67,15,58,32,4,60,1              // pinsrb        $0x1,(%r12,%r15,1),%xmm0
28862  .byte  67,15,182,28,20                     // movzbl        (%r12,%r10,1),%ebx
28863  .byte  102,15,58,32,195,2                  // pinsrb        $0x2,%ebx,%xmm0
28864  .byte  67,15,182,28,28                     // movzbl        (%r12,%r11,1),%ebx
28865  .byte  102,15,58,32,195,3                  // pinsrb        $0x3,%ebx,%xmm0
28866  .byte  102,15,56,49,192                    // pmovzxbd      %xmm0,%xmm0
28867  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
28868  .byte  68,15,40,13,228,57,0,0              // movaps        0x39e4(%rip),%xmm9        # 6320 <_sk_callback_sse41+0x772>
28869  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
28870  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
28871  .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
28872  .byte  102,72,15,58,22,203,1               // pextrq        $0x1,%xmm1,%rbx
28873  .byte  65,137,218                          // mov           %ebx,%r10d
28874  .byte  72,193,235,32                       // shr           $0x20,%rbx
28875  .byte  102,73,15,126,203                   // movq          %xmm1,%r11
28876  .byte  69,137,222                          // mov           %r11d,%r14d
28877  .byte  73,193,235,32                       // shr           $0x20,%r11
28878  .byte  102,67,15,58,32,12,49,0             // pinsrb        $0x0,(%r9,%r14,1),%xmm1
28879  .byte  102,67,15,58,32,12,25,1             // pinsrb        $0x1,(%r9,%r11,1),%xmm1
28880  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
28881  .byte  102,65,15,58,32,202,2               // pinsrb        $0x2,%r10d,%xmm1
28882  .byte  65,15,182,28,25                     // movzbl        (%r9,%rbx,1),%ebx
28883  .byte  102,15,58,32,203,3                  // pinsrb        $0x3,%ebx,%xmm1
28884  .byte  102,15,56,49,201                    // pmovzxbd      %xmm1,%xmm1
28885  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
28886  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
28887  .byte  76,139,80,16                        // mov           0x10(%rax),%r10
28888  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
28889  .byte  102,15,91,210                       // cvtps2dq      %xmm2,%xmm2
28890  .byte  102,72,15,58,22,211,1               // pextrq        $0x1,%xmm2,%rbx
28891  .byte  65,137,217                          // mov           %ebx,%r9d
28892  .byte  72,193,235,32                       // shr           $0x20,%rbx
28893  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
28894  .byte  65,137,195                          // mov           %eax,%r11d
28895  .byte  72,193,232,32                       // shr           $0x20,%rax
28896  .byte  102,67,15,58,32,20,26,0             // pinsrb        $0x0,(%r10,%r11,1),%xmm2
28897  .byte  102,65,15,58,32,20,2,1              // pinsrb        $0x1,(%r10,%rax,1),%xmm2
28898  .byte  67,15,182,4,10                      // movzbl        (%r10,%r9,1),%eax
28899  .byte  102,15,58,32,208,2                  // pinsrb        $0x2,%eax,%xmm2
28900  .byte  65,15,182,4,26                      // movzbl        (%r10,%rbx,1),%eax
28901  .byte  102,15,58,32,208,3                  // pinsrb        $0x3,%eax,%xmm2
28902  .byte  102,15,56,49,210                    // pmovzxbd      %xmm2,%xmm2
28903  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
28904  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
28905  .byte  72,173                              // lods          %ds:(%rsi),%rax
28906  .byte  91                                  // pop           %rbx
28907  .byte  65,92                               // pop           %r12
28908  .byte  65,94                               // pop           %r14
28909  .byte  65,95                               // pop           %r15
28910  .byte  255,224                             // jmpq          *%rax
28911
28912HIDDEN _sk_table_r_sse41
28913.globl _sk_table_r_sse41
28914FUNCTION(_sk_table_r_sse41)
28915_sk_table_r_sse41:
28916  .byte  83                                  // push          %rbx
28917  .byte  72,173                              // lods          %ds:(%rsi),%rax
28918  .byte  76,139,8                            // mov           (%rax),%r9
28919  .byte  139,64,8                            // mov           0x8(%rax),%eax
28920  .byte  255,200                             // dec           %eax
28921  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
28922  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
28923  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
28924  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
28925  .byte  102,65,15,91,192                    // cvtps2dq      %xmm8,%xmm0
28926  .byte  102,72,15,58,22,192,1               // pextrq        $0x1,%xmm0,%rax
28927  .byte  65,137,194                          // mov           %eax,%r10d
28928  .byte  72,193,232,32                       // shr           $0x20,%rax
28929  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
28930  .byte  68,137,219                          // mov           %r11d,%ebx
28931  .byte  73,193,235,32                       // shr           $0x20,%r11
28932  .byte  243,65,15,16,4,153                  // movss         (%r9,%rbx,4),%xmm0
28933  .byte  102,67,15,58,33,4,153,16            // insertps      $0x10,(%r9,%r11,4),%xmm0
28934  .byte  243,71,15,16,4,145                  // movss         (%r9,%r10,4),%xmm8
28935  .byte  102,65,15,58,33,192,32              // insertps      $0x20,%xmm8,%xmm0
28936  .byte  243,69,15,16,4,129                  // movss         (%r9,%rax,4),%xmm8
28937  .byte  102,65,15,58,33,192,48              // insertps      $0x30,%xmm8,%xmm0
28938  .byte  72,173                              // lods          %ds:(%rsi),%rax
28939  .byte  91                                  // pop           %rbx
28940  .byte  255,224                             // jmpq          *%rax
28941
28942HIDDEN _sk_table_g_sse41
28943.globl _sk_table_g_sse41
28944FUNCTION(_sk_table_g_sse41)
28945_sk_table_g_sse41:
28946  .byte  83                                  // push          %rbx
28947  .byte  72,173                              // lods          %ds:(%rsi),%rax
28948  .byte  76,139,8                            // mov           (%rax),%r9
28949  .byte  139,64,8                            // mov           0x8(%rax),%eax
28950  .byte  255,200                             // dec           %eax
28951  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
28952  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
28953  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
28954  .byte  68,15,89,193                        // mulps         %xmm1,%xmm8
28955  .byte  102,65,15,91,200                    // cvtps2dq      %xmm8,%xmm1
28956  .byte  102,72,15,58,22,200,1               // pextrq        $0x1,%xmm1,%rax
28957  .byte  65,137,194                          // mov           %eax,%r10d
28958  .byte  72,193,232,32                       // shr           $0x20,%rax
28959  .byte  102,73,15,126,203                   // movq          %xmm1,%r11
28960  .byte  68,137,219                          // mov           %r11d,%ebx
28961  .byte  73,193,235,32                       // shr           $0x20,%r11
28962  .byte  243,65,15,16,12,153                 // movss         (%r9,%rbx,4),%xmm1
28963  .byte  102,67,15,58,33,12,153,16           // insertps      $0x10,(%r9,%r11,4),%xmm1
28964  .byte  243,71,15,16,4,145                  // movss         (%r9,%r10,4),%xmm8
28965  .byte  102,65,15,58,33,200,32              // insertps      $0x20,%xmm8,%xmm1
28966  .byte  243,69,15,16,4,129                  // movss         (%r9,%rax,4),%xmm8
28967  .byte  102,65,15,58,33,200,48              // insertps      $0x30,%xmm8,%xmm1
28968  .byte  72,173                              // lods          %ds:(%rsi),%rax
28969  .byte  91                                  // pop           %rbx
28970  .byte  255,224                             // jmpq          *%rax
28971
28972HIDDEN _sk_table_b_sse41
28973.globl _sk_table_b_sse41
28974FUNCTION(_sk_table_b_sse41)
28975_sk_table_b_sse41:
28976  .byte  83                                  // push          %rbx
28977  .byte  72,173                              // lods          %ds:(%rsi),%rax
28978  .byte  76,139,8                            // mov           (%rax),%r9
28979  .byte  139,64,8                            // mov           0x8(%rax),%eax
28980  .byte  255,200                             // dec           %eax
28981  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
28982  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
28983  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
28984  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
28985  .byte  102,65,15,91,208                    // cvtps2dq      %xmm8,%xmm2
28986  .byte  102,72,15,58,22,208,1               // pextrq        $0x1,%xmm2,%rax
28987  .byte  65,137,194                          // mov           %eax,%r10d
28988  .byte  72,193,232,32                       // shr           $0x20,%rax
28989  .byte  102,73,15,126,211                   // movq          %xmm2,%r11
28990  .byte  68,137,219                          // mov           %r11d,%ebx
28991  .byte  73,193,235,32                       // shr           $0x20,%r11
28992  .byte  243,65,15,16,20,153                 // movss         (%r9,%rbx,4),%xmm2
28993  .byte  102,67,15,58,33,20,153,16           // insertps      $0x10,(%r9,%r11,4),%xmm2
28994  .byte  243,71,15,16,4,145                  // movss         (%r9,%r10,4),%xmm8
28995  .byte  102,65,15,58,33,208,32              // insertps      $0x20,%xmm8,%xmm2
28996  .byte  243,69,15,16,4,129                  // movss         (%r9,%rax,4),%xmm8
28997  .byte  102,65,15,58,33,208,48              // insertps      $0x30,%xmm8,%xmm2
28998  .byte  72,173                              // lods          %ds:(%rsi),%rax
28999  .byte  91                                  // pop           %rbx
29000  .byte  255,224                             // jmpq          *%rax
29001
29002HIDDEN _sk_table_a_sse41
29003.globl _sk_table_a_sse41
29004FUNCTION(_sk_table_a_sse41)
29005_sk_table_a_sse41:
29006  .byte  83                                  // push          %rbx
29007  .byte  72,173                              // lods          %ds:(%rsi),%rax
29008  .byte  76,139,8                            // mov           (%rax),%r9
29009  .byte  139,64,8                            // mov           0x8(%rax),%eax
29010  .byte  255,200                             // dec           %eax
29011  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
29012  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
29013  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
29014  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
29015  .byte  102,65,15,91,216                    // cvtps2dq      %xmm8,%xmm3
29016  .byte  102,72,15,58,22,216,1               // pextrq        $0x1,%xmm3,%rax
29017  .byte  65,137,194                          // mov           %eax,%r10d
29018  .byte  72,193,232,32                       // shr           $0x20,%rax
29019  .byte  102,73,15,126,219                   // movq          %xmm3,%r11
29020  .byte  68,137,219                          // mov           %r11d,%ebx
29021  .byte  73,193,235,32                       // shr           $0x20,%r11
29022  .byte  243,65,15,16,28,153                 // movss         (%r9,%rbx,4),%xmm3
29023  .byte  102,67,15,58,33,28,153,16           // insertps      $0x10,(%r9,%r11,4),%xmm3
29024  .byte  243,71,15,16,4,145                  // movss         (%r9,%r10,4),%xmm8
29025  .byte  102,65,15,58,33,216,32              // insertps      $0x20,%xmm8,%xmm3
29026  .byte  243,69,15,16,4,129                  // movss         (%r9,%rax,4),%xmm8
29027  .byte  102,65,15,58,33,216,48              // insertps      $0x30,%xmm8,%xmm3
29028  .byte  72,173                              // lods          %ds:(%rsi),%rax
29029  .byte  91                                  // pop           %rbx
29030  .byte  255,224                             // jmpq          *%rax
29031
29032HIDDEN _sk_parametric_r_sse41
29033.globl _sk_parametric_r_sse41
29034FUNCTION(_sk_parametric_r_sse41)
29035_sk_parametric_r_sse41:
29036  .byte  72,173                              // lods          %ds:(%rsi),%rax
29037  .byte  243,68,15,16,64,16                  // movss         0x10(%rax),%xmm8
29038  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
29039  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
29040  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
29041  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
29042  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
29043  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
29044  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
29045  .byte  65,15,194,192,2                     // cmpleps       %xmm8,%xmm0
29046  .byte  243,68,15,16,64,24                  // movss         0x18(%rax),%xmm8
29047  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
29048  .byte  69,15,88,200                        // addps         %xmm8,%xmm9
29049  .byte  243,68,15,16,24                     // movss         (%rax),%xmm11
29050  .byte  243,68,15,16,64,8                   // movss         0x8(%rax),%xmm8
29051  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
29052  .byte  69,15,88,208                        // addps         %xmm8,%xmm10
29053  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
29054  .byte  69,15,91,194                        // cvtdq2ps      %xmm10,%xmm8
29055  .byte  68,15,89,5,44,55,0,0                // mulps         0x372c(%rip),%xmm8        # 6330 <_sk_callback_sse41+0x782>
29056  .byte  68,15,84,21,52,55,0,0               // andps         0x3734(%rip),%xmm10        # 6340 <_sk_callback_sse41+0x792>
29057  .byte  68,15,86,21,60,55,0,0               // orps          0x373c(%rip),%xmm10        # 6350 <_sk_callback_sse41+0x7a2>
29058  .byte  68,15,88,5,68,55,0,0                // addps         0x3744(%rip),%xmm8        # 6360 <_sk_callback_sse41+0x7b2>
29059  .byte  68,15,40,37,76,55,0,0               // movaps        0x374c(%rip),%xmm12        # 6370 <_sk_callback_sse41+0x7c2>
29060  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
29061  .byte  69,15,92,196                        // subps         %xmm12,%xmm8
29062  .byte  68,15,88,21,76,55,0,0               // addps         0x374c(%rip),%xmm10        # 6380 <_sk_callback_sse41+0x7d2>
29063  .byte  68,15,40,37,84,55,0,0               // movaps        0x3754(%rip),%xmm12        # 6390 <_sk_callback_sse41+0x7e2>
29064  .byte  69,15,94,226                        // divps         %xmm10,%xmm12
29065  .byte  69,15,92,196                        // subps         %xmm12,%xmm8
29066  .byte  69,15,89,195                        // mulps         %xmm11,%xmm8
29067  .byte  102,69,15,58,8,208,1                // roundps       $0x1,%xmm8,%xmm10
29068  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
29069  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
29070  .byte  68,15,88,5,65,55,0,0                // addps         0x3741(%rip),%xmm8        # 63a0 <_sk_callback_sse41+0x7f2>
29071  .byte  68,15,40,21,73,55,0,0               // movaps        0x3749(%rip),%xmm10        # 63b0 <_sk_callback_sse41+0x802>
29072  .byte  69,15,89,211                        // mulps         %xmm11,%xmm10
29073  .byte  69,15,92,194                        // subps         %xmm10,%xmm8
29074  .byte  68,15,40,21,73,55,0,0               // movaps        0x3749(%rip),%xmm10        # 63c0 <_sk_callback_sse41+0x812>
29075  .byte  69,15,92,211                        // subps         %xmm11,%xmm10
29076  .byte  68,15,40,29,77,55,0,0               // movaps        0x374d(%rip),%xmm11        # 63d0 <_sk_callback_sse41+0x822>
29077  .byte  69,15,94,218                        // divps         %xmm10,%xmm11
29078  .byte  69,15,88,216                        // addps         %xmm8,%xmm11
29079  .byte  68,15,89,29,77,55,0,0               // mulps         0x374d(%rip),%xmm11        # 63e0 <_sk_callback_sse41+0x832>
29080  .byte  102,69,15,91,211                    // cvtps2dq      %xmm11,%xmm10
29081  .byte  243,68,15,16,64,20                  // movss         0x14(%rax),%xmm8
29082  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
29083  .byte  69,15,88,194                        // addps         %xmm10,%xmm8
29084  .byte  102,69,15,56,20,193                 // blendvps      %xmm0,%xmm9,%xmm8
29085  .byte  15,87,192                           // xorps         %xmm0,%xmm0
29086  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
29087  .byte  68,15,93,5,52,55,0,0                // minps         0x3734(%rip),%xmm8        # 63f0 <_sk_callback_sse41+0x842>
29088  .byte  72,173                              // lods          %ds:(%rsi),%rax
29089  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
29090  .byte  255,224                             // jmpq          *%rax
29091
29092HIDDEN _sk_parametric_g_sse41
29093.globl _sk_parametric_g_sse41
29094FUNCTION(_sk_parametric_g_sse41)
29095_sk_parametric_g_sse41:
29096  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
29097  .byte  72,173                              // lods          %ds:(%rsi),%rax
29098  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
29099  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
29100  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
29101  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
29102  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
29103  .byte  243,68,15,16,88,4                   // movss         0x4(%rax),%xmm11
29104  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
29105  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
29106  .byte  15,40,193                           // movaps        %xmm1,%xmm0
29107  .byte  65,15,194,194,2                     // cmpleps       %xmm10,%xmm0
29108  .byte  243,15,16,72,24                     // movss         0x18(%rax),%xmm1
29109  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
29110  .byte  68,15,88,201                        // addps         %xmm1,%xmm9
29111  .byte  243,68,15,16,16                     // movss         (%rax),%xmm10
29112  .byte  243,15,16,72,8                      // movss         0x8(%rax),%xmm1
29113  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
29114  .byte  68,15,88,217                        // addps         %xmm1,%xmm11
29115  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
29116  .byte  69,15,91,227                        // cvtdq2ps      %xmm11,%xmm12
29117  .byte  68,15,89,37,213,54,0,0              // mulps         0x36d5(%rip),%xmm12        # 6400 <_sk_callback_sse41+0x852>
29118  .byte  68,15,84,29,221,54,0,0              // andps         0x36dd(%rip),%xmm11        # 6410 <_sk_callback_sse41+0x862>
29119  .byte  68,15,86,29,229,54,0,0              // orps          0x36e5(%rip),%xmm11        # 6420 <_sk_callback_sse41+0x872>
29120  .byte  68,15,88,37,237,54,0,0              // addps         0x36ed(%rip),%xmm12        # 6430 <_sk_callback_sse41+0x882>
29121  .byte  15,40,13,246,54,0,0                 // movaps        0x36f6(%rip),%xmm1        # 6440 <_sk_callback_sse41+0x892>
29122  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
29123  .byte  68,15,92,225                        // subps         %xmm1,%xmm12
29124  .byte  68,15,88,29,246,54,0,0              // addps         0x36f6(%rip),%xmm11        # 6450 <_sk_callback_sse41+0x8a2>
29125  .byte  15,40,13,255,54,0,0                 // movaps        0x36ff(%rip),%xmm1        # 6460 <_sk_callback_sse41+0x8b2>
29126  .byte  65,15,94,203                        // divps         %xmm11,%xmm1
29127  .byte  68,15,92,225                        // subps         %xmm1,%xmm12
29128  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
29129  .byte  102,69,15,58,8,212,1                // roundps       $0x1,%xmm12,%xmm10
29130  .byte  69,15,40,220                        // movaps        %xmm12,%xmm11
29131  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
29132  .byte  68,15,88,37,236,54,0,0              // addps         0x36ec(%rip),%xmm12        # 6470 <_sk_callback_sse41+0x8c2>
29133  .byte  15,40,13,245,54,0,0                 // movaps        0x36f5(%rip),%xmm1        # 6480 <_sk_callback_sse41+0x8d2>
29134  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
29135  .byte  68,15,92,225                        // subps         %xmm1,%xmm12
29136  .byte  68,15,40,21,245,54,0,0              // movaps        0x36f5(%rip),%xmm10        # 6490 <_sk_callback_sse41+0x8e2>
29137  .byte  69,15,92,211                        // subps         %xmm11,%xmm10
29138  .byte  15,40,13,250,54,0,0                 // movaps        0x36fa(%rip),%xmm1        # 64a0 <_sk_callback_sse41+0x8f2>
29139  .byte  65,15,94,202                        // divps         %xmm10,%xmm1
29140  .byte  65,15,88,204                        // addps         %xmm12,%xmm1
29141  .byte  15,89,13,251,54,0,0                 // mulps         0x36fb(%rip),%xmm1        # 64b0 <_sk_callback_sse41+0x902>
29142  .byte  102,68,15,91,209                    // cvtps2dq      %xmm1,%xmm10
29143  .byte  243,15,16,72,20                     // movss         0x14(%rax),%xmm1
29144  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
29145  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
29146  .byte  102,65,15,56,20,201                 // blendvps      %xmm0,%xmm9,%xmm1
29147  .byte  15,87,192                           // xorps         %xmm0,%xmm0
29148  .byte  15,95,200                           // maxps         %xmm0,%xmm1
29149  .byte  15,93,13,230,54,0,0                 // minps         0x36e6(%rip),%xmm1        # 64c0 <_sk_callback_sse41+0x912>
29150  .byte  72,173                              // lods          %ds:(%rsi),%rax
29151  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
29152  .byte  255,224                             // jmpq          *%rax
29153
29154HIDDEN _sk_parametric_b_sse41
29155.globl _sk_parametric_b_sse41
29156FUNCTION(_sk_parametric_b_sse41)
29157_sk_parametric_b_sse41:
29158  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
29159  .byte  72,173                              // lods          %ds:(%rsi),%rax
29160  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
29161  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
29162  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
29163  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
29164  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
29165  .byte  243,68,15,16,88,4                   // movss         0x4(%rax),%xmm11
29166  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
29167  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
29168  .byte  15,40,194                           // movaps        %xmm2,%xmm0
29169  .byte  65,15,194,194,2                     // cmpleps       %xmm10,%xmm0
29170  .byte  243,15,16,80,24                     // movss         0x18(%rax),%xmm2
29171  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
29172  .byte  68,15,88,202                        // addps         %xmm2,%xmm9
29173  .byte  243,68,15,16,16                     // movss         (%rax),%xmm10
29174  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
29175  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
29176  .byte  68,15,88,218                        // addps         %xmm2,%xmm11
29177  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
29178  .byte  69,15,91,227                        // cvtdq2ps      %xmm11,%xmm12
29179  .byte  68,15,89,37,135,54,0,0              // mulps         0x3687(%rip),%xmm12        # 64d0 <_sk_callback_sse41+0x922>
29180  .byte  68,15,84,29,143,54,0,0              // andps         0x368f(%rip),%xmm11        # 64e0 <_sk_callback_sse41+0x932>
29181  .byte  68,15,86,29,151,54,0,0              // orps          0x3697(%rip),%xmm11        # 64f0 <_sk_callback_sse41+0x942>
29182  .byte  68,15,88,37,159,54,0,0              // addps         0x369f(%rip),%xmm12        # 6500 <_sk_callback_sse41+0x952>
29183  .byte  15,40,21,168,54,0,0                 // movaps        0x36a8(%rip),%xmm2        # 6510 <_sk_callback_sse41+0x962>
29184  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
29185  .byte  68,15,92,226                        // subps         %xmm2,%xmm12
29186  .byte  68,15,88,29,168,54,0,0              // addps         0x36a8(%rip),%xmm11        # 6520 <_sk_callback_sse41+0x972>
29187  .byte  15,40,21,177,54,0,0                 // movaps        0x36b1(%rip),%xmm2        # 6530 <_sk_callback_sse41+0x982>
29188  .byte  65,15,94,211                        // divps         %xmm11,%xmm2
29189  .byte  68,15,92,226                        // subps         %xmm2,%xmm12
29190  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
29191  .byte  102,69,15,58,8,212,1                // roundps       $0x1,%xmm12,%xmm10
29192  .byte  69,15,40,220                        // movaps        %xmm12,%xmm11
29193  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
29194  .byte  68,15,88,37,158,54,0,0              // addps         0x369e(%rip),%xmm12        # 6540 <_sk_callback_sse41+0x992>
29195  .byte  15,40,21,167,54,0,0                 // movaps        0x36a7(%rip),%xmm2        # 6550 <_sk_callback_sse41+0x9a2>
29196  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
29197  .byte  68,15,92,226                        // subps         %xmm2,%xmm12
29198  .byte  68,15,40,21,167,54,0,0              // movaps        0x36a7(%rip),%xmm10        # 6560 <_sk_callback_sse41+0x9b2>
29199  .byte  69,15,92,211                        // subps         %xmm11,%xmm10
29200  .byte  15,40,21,172,54,0,0                 // movaps        0x36ac(%rip),%xmm2        # 6570 <_sk_callback_sse41+0x9c2>
29201  .byte  65,15,94,210                        // divps         %xmm10,%xmm2
29202  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
29203  .byte  15,89,21,173,54,0,0                 // mulps         0x36ad(%rip),%xmm2        # 6580 <_sk_callback_sse41+0x9d2>
29204  .byte  102,68,15,91,210                    // cvtps2dq      %xmm2,%xmm10
29205  .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
29206  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
29207  .byte  65,15,88,210                        // addps         %xmm10,%xmm2
29208  .byte  102,65,15,56,20,209                 // blendvps      %xmm0,%xmm9,%xmm2
29209  .byte  15,87,192                           // xorps         %xmm0,%xmm0
29210  .byte  15,95,208                           // maxps         %xmm0,%xmm2
29211  .byte  15,93,21,152,54,0,0                 // minps         0x3698(%rip),%xmm2        # 6590 <_sk_callback_sse41+0x9e2>
29212  .byte  72,173                              // lods          %ds:(%rsi),%rax
29213  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
29214  .byte  255,224                             // jmpq          *%rax
29215
29216HIDDEN _sk_parametric_a_sse41
29217.globl _sk_parametric_a_sse41
29218FUNCTION(_sk_parametric_a_sse41)
29219_sk_parametric_a_sse41:
29220  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
29221  .byte  72,173                              // lods          %ds:(%rsi),%rax
29222  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
29223  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
29224  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
29225  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
29226  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
29227  .byte  243,68,15,16,88,4                   // movss         0x4(%rax),%xmm11
29228  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
29229  .byte  68,15,89,219                        // mulps         %xmm3,%xmm11
29230  .byte  15,40,195                           // movaps        %xmm3,%xmm0
29231  .byte  65,15,194,194,2                     // cmpleps       %xmm10,%xmm0
29232  .byte  243,15,16,88,24                     // movss         0x18(%rax),%xmm3
29233  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
29234  .byte  68,15,88,203                        // addps         %xmm3,%xmm9
29235  .byte  243,68,15,16,16                     // movss         (%rax),%xmm10
29236  .byte  243,15,16,88,8                      // movss         0x8(%rax),%xmm3
29237  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
29238  .byte  68,15,88,219                        // addps         %xmm3,%xmm11
29239  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
29240  .byte  69,15,91,227                        // cvtdq2ps      %xmm11,%xmm12
29241  .byte  68,15,89,37,57,54,0,0               // mulps         0x3639(%rip),%xmm12        # 65a0 <_sk_callback_sse41+0x9f2>
29242  .byte  68,15,84,29,65,54,0,0               // andps         0x3641(%rip),%xmm11        # 65b0 <_sk_callback_sse41+0xa02>
29243  .byte  68,15,86,29,73,54,0,0               // orps          0x3649(%rip),%xmm11        # 65c0 <_sk_callback_sse41+0xa12>
29244  .byte  68,15,88,37,81,54,0,0               // addps         0x3651(%rip),%xmm12        # 65d0 <_sk_callback_sse41+0xa22>
29245  .byte  15,40,29,90,54,0,0                  // movaps        0x365a(%rip),%xmm3        # 65e0 <_sk_callback_sse41+0xa32>
29246  .byte  65,15,89,219                        // mulps         %xmm11,%xmm3
29247  .byte  68,15,92,227                        // subps         %xmm3,%xmm12
29248  .byte  68,15,88,29,90,54,0,0               // addps         0x365a(%rip),%xmm11        # 65f0 <_sk_callback_sse41+0xa42>
29249  .byte  15,40,29,99,54,0,0                  // movaps        0x3663(%rip),%xmm3        # 6600 <_sk_callback_sse41+0xa52>
29250  .byte  65,15,94,219                        // divps         %xmm11,%xmm3
29251  .byte  68,15,92,227                        // subps         %xmm3,%xmm12
29252  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
29253  .byte  102,69,15,58,8,212,1                // roundps       $0x1,%xmm12,%xmm10
29254  .byte  69,15,40,220                        // movaps        %xmm12,%xmm11
29255  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
29256  .byte  68,15,88,37,80,54,0,0               // addps         0x3650(%rip),%xmm12        # 6610 <_sk_callback_sse41+0xa62>
29257  .byte  15,40,29,89,54,0,0                  // movaps        0x3659(%rip),%xmm3        # 6620 <_sk_callback_sse41+0xa72>
29258  .byte  65,15,89,219                        // mulps         %xmm11,%xmm3
29259  .byte  68,15,92,227                        // subps         %xmm3,%xmm12
29260  .byte  68,15,40,21,89,54,0,0               // movaps        0x3659(%rip),%xmm10        # 6630 <_sk_callback_sse41+0xa82>
29261  .byte  69,15,92,211                        // subps         %xmm11,%xmm10
29262  .byte  15,40,29,94,54,0,0                  // movaps        0x365e(%rip),%xmm3        # 6640 <_sk_callback_sse41+0xa92>
29263  .byte  65,15,94,218                        // divps         %xmm10,%xmm3
29264  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
29265  .byte  15,89,29,95,54,0,0                  // mulps         0x365f(%rip),%xmm3        # 6650 <_sk_callback_sse41+0xaa2>
29266  .byte  102,68,15,91,211                    // cvtps2dq      %xmm3,%xmm10
29267  .byte  243,15,16,88,20                     // movss         0x14(%rax),%xmm3
29268  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
29269  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
29270  .byte  102,65,15,56,20,217                 // blendvps      %xmm0,%xmm9,%xmm3
29271  .byte  15,87,192                           // xorps         %xmm0,%xmm0
29272  .byte  15,95,216                           // maxps         %xmm0,%xmm3
29273  .byte  15,93,29,74,54,0,0                  // minps         0x364a(%rip),%xmm3        # 6660 <_sk_callback_sse41+0xab2>
29274  .byte  72,173                              // lods          %ds:(%rsi),%rax
29275  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
29276  .byte  255,224                             // jmpq          *%rax
29277
29278HIDDEN _sk_lab_to_xyz_sse41
29279.globl _sk_lab_to_xyz_sse41
29280FUNCTION(_sk_lab_to_xyz_sse41)
29281_sk_lab_to_xyz_sse41:
29282  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
29283  .byte  68,15,89,5,70,54,0,0                // mulps         0x3646(%rip),%xmm8        # 6670 <_sk_callback_sse41+0xac2>
29284  .byte  68,15,40,13,78,54,0,0               // movaps        0x364e(%rip),%xmm9        # 6680 <_sk_callback_sse41+0xad2>
29285  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
29286  .byte  15,40,5,83,54,0,0                   // movaps        0x3653(%rip),%xmm0        # 6690 <_sk_callback_sse41+0xae2>
29287  .byte  15,88,200                           // addps         %xmm0,%xmm1
29288  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
29289  .byte  15,88,208                           // addps         %xmm0,%xmm2
29290  .byte  68,15,88,5,81,54,0,0                // addps         0x3651(%rip),%xmm8        # 66a0 <_sk_callback_sse41+0xaf2>
29291  .byte  68,15,89,5,89,54,0,0                // mulps         0x3659(%rip),%xmm8        # 66b0 <_sk_callback_sse41+0xb02>
29292  .byte  15,89,13,98,54,0,0                  // mulps         0x3662(%rip),%xmm1        # 66c0 <_sk_callback_sse41+0xb12>
29293  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
29294  .byte  15,89,21,103,54,0,0                 // mulps         0x3667(%rip),%xmm2        # 66d0 <_sk_callback_sse41+0xb22>
29295  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
29296  .byte  68,15,92,210                        // subps         %xmm2,%xmm10
29297  .byte  68,15,40,217                        // movaps        %xmm1,%xmm11
29298  .byte  69,15,89,219                        // mulps         %xmm11,%xmm11
29299  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
29300  .byte  68,15,40,13,91,54,0,0               // movaps        0x365b(%rip),%xmm9        # 66e0 <_sk_callback_sse41+0xb32>
29301  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
29302  .byte  65,15,194,195,1                     // cmpltps       %xmm11,%xmm0
29303  .byte  15,40,21,91,54,0,0                  // movaps        0x365b(%rip),%xmm2        # 66f0 <_sk_callback_sse41+0xb42>
29304  .byte  15,88,202                           // addps         %xmm2,%xmm1
29305  .byte  68,15,40,37,96,54,0,0               // movaps        0x3660(%rip),%xmm12        # 6700 <_sk_callback_sse41+0xb52>
29306  .byte  65,15,89,204                        // mulps         %xmm12,%xmm1
29307  .byte  102,65,15,56,20,203                 // blendvps      %xmm0,%xmm11,%xmm1
29308  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
29309  .byte  69,15,89,219                        // mulps         %xmm11,%xmm11
29310  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
29311  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
29312  .byte  65,15,194,195,1                     // cmpltps       %xmm11,%xmm0
29313  .byte  68,15,88,194                        // addps         %xmm2,%xmm8
29314  .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
29315  .byte  102,69,15,56,20,195                 // blendvps      %xmm0,%xmm11,%xmm8
29316  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
29317  .byte  69,15,89,219                        // mulps         %xmm11,%xmm11
29318  .byte  69,15,89,218                        // mulps         %xmm10,%xmm11
29319  .byte  69,15,194,203,1                     // cmpltps       %xmm11,%xmm9
29320  .byte  65,15,88,210                        // addps         %xmm10,%xmm2
29321  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
29322  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
29323  .byte  102,65,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm2
29324  .byte  15,89,13,25,54,0,0                  // mulps         0x3619(%rip),%xmm1        # 6710 <_sk_callback_sse41+0xb62>
29325  .byte  15,89,21,34,54,0,0                  // mulps         0x3622(%rip),%xmm2        # 6720 <_sk_callback_sse41+0xb72>
29326  .byte  72,173                              // lods          %ds:(%rsi),%rax
29327  .byte  15,40,193                           // movaps        %xmm1,%xmm0
29328  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
29329  .byte  255,224                             // jmpq          *%rax
29330
29331HIDDEN _sk_load_a8_sse41
29332.globl _sk_load_a8_sse41
29333FUNCTION(_sk_load_a8_sse41)
29334_sk_load_a8_sse41:
29335  .byte  72,173                              // lods          %ds:(%rsi),%rax
29336  .byte  76,139,16                           // mov           (%rax),%r10
29337  .byte  77,133,192                          // test          %r8,%r8
29338  .byte  117,39                              // jne           313a <_sk_load_a8_sse41+0x31>
29339  .byte  102,65,15,56,49,4,18                // pmovzxbd      (%r10,%rdx,1),%xmm0
29340  .byte  102,15,219,5,14,54,0,0              // pand          0x360e(%rip),%xmm0        # 6730 <_sk_callback_sse41+0xb82>
29341  .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
29342  .byte  15,89,29,20,54,0,0                  // mulps         0x3614(%rip),%xmm3        # 6740 <_sk_callback_sse41+0xb92>
29343  .byte  72,173                              // lods          %ds:(%rsi),%rax
29344  .byte  15,87,192                           // xorps         %xmm0,%xmm0
29345  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
29346  .byte  15,87,210                           // xorps         %xmm2,%xmm2
29347  .byte  255,224                             // jmpq          *%rax
29348  .byte  69,137,193                          // mov           %r8d,%r9d
29349  .byte  65,128,225,3                        // and           $0x3,%r9b
29350  .byte  65,128,249,1                        // cmp           $0x1,%r9b
29351  .byte  116,53                              // je            317c <_sk_load_a8_sse41+0x73>
29352  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
29353  .byte  65,128,249,2                        // cmp           $0x2,%r9b
29354  .byte  116,21                              // je            3166 <_sk_load_a8_sse41+0x5d>
29355  .byte  65,128,249,3                        // cmp           $0x3,%r9b
29356  .byte  117,195                             // jne           311a <_sk_load_a8_sse41+0x11>
29357  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
29358  .byte  102,15,110,192                      // movd          %eax,%xmm0
29359  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
29360  .byte  65,15,183,4,18                      // movzwl        (%r10,%rdx,1),%eax
29361  .byte  102,15,110,200                      // movd          %eax,%xmm1
29362  .byte  102,15,56,49,201                    // pmovzxbd      %xmm1,%xmm1
29363  .byte  102,15,58,14,193,15                 // pblendw       $0xf,%xmm1,%xmm0
29364  .byte  235,158                             // jmp           311a <_sk_load_a8_sse41+0x11>
29365  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
29366  .byte  102,15,110,192                      // movd          %eax,%xmm0
29367  .byte  235,147                             // jmp           311a <_sk_load_a8_sse41+0x11>
29368
29369HIDDEN _sk_load_a8_dst_sse41
29370.globl _sk_load_a8_dst_sse41
29371FUNCTION(_sk_load_a8_dst_sse41)
29372_sk_load_a8_dst_sse41:
29373  .byte  72,173                              // lods          %ds:(%rsi),%rax
29374  .byte  76,139,16                           // mov           (%rax),%r10
29375  .byte  77,133,192                          // test          %r8,%r8
29376  .byte  117,39                              // jne           31b8 <_sk_load_a8_dst_sse41+0x31>
29377  .byte  102,65,15,56,49,36,18               // pmovzxbd      (%r10,%rdx,1),%xmm4
29378  .byte  102,15,219,37,176,53,0,0            // pand          0x35b0(%rip),%xmm4        # 6750 <_sk_callback_sse41+0xba2>
29379  .byte  15,91,252                           // cvtdq2ps      %xmm4,%xmm7
29380  .byte  15,89,61,182,53,0,0                 // mulps         0x35b6(%rip),%xmm7        # 6760 <_sk_callback_sse41+0xbb2>
29381  .byte  72,173                              // lods          %ds:(%rsi),%rax
29382  .byte  15,87,228                           // xorps         %xmm4,%xmm4
29383  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
29384  .byte  15,87,246                           // xorps         %xmm6,%xmm6
29385  .byte  255,224                             // jmpq          *%rax
29386  .byte  69,137,193                          // mov           %r8d,%r9d
29387  .byte  65,128,225,3                        // and           $0x3,%r9b
29388  .byte  65,128,249,1                        // cmp           $0x1,%r9b
29389  .byte  116,53                              // je            31fa <_sk_load_a8_dst_sse41+0x73>
29390  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
29391  .byte  65,128,249,2                        // cmp           $0x2,%r9b
29392  .byte  116,21                              // je            31e4 <_sk_load_a8_dst_sse41+0x5d>
29393  .byte  65,128,249,3                        // cmp           $0x3,%r9b
29394  .byte  117,195                             // jne           3198 <_sk_load_a8_dst_sse41+0x11>
29395  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
29396  .byte  102,15,110,224                      // movd          %eax,%xmm4
29397  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
29398  .byte  65,15,183,4,18                      // movzwl        (%r10,%rdx,1),%eax
29399  .byte  102,15,110,232                      // movd          %eax,%xmm5
29400  .byte  102,15,56,49,237                    // pmovzxbd      %xmm5,%xmm5
29401  .byte  102,15,58,14,229,15                 // pblendw       $0xf,%xmm5,%xmm4
29402  .byte  235,158                             // jmp           3198 <_sk_load_a8_dst_sse41+0x11>
29403  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
29404  .byte  102,15,110,224                      // movd          %eax,%xmm4
29405  .byte  235,147                             // jmp           3198 <_sk_load_a8_dst_sse41+0x11>
29406
29407HIDDEN _sk_gather_a8_sse41
29408.globl _sk_gather_a8_sse41
29409FUNCTION(_sk_gather_a8_sse41)
29410_sk_gather_a8_sse41:
29411  .byte  83                                  // push          %rbx
29412  .byte  72,173                              // lods          %ds:(%rsi),%rax
29413  .byte  76,139,8                            // mov           (%rax),%r9
29414  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
29415  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
29416  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
29417  .byte  102,15,56,64,209                    // pmulld        %xmm1,%xmm2
29418  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
29419  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
29420  .byte  102,72,15,58,22,192,1               // pextrq        $0x1,%xmm0,%rax
29421  .byte  65,137,194                          // mov           %eax,%r10d
29422  .byte  72,193,232,32                       // shr           $0x20,%rax
29423  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
29424  .byte  68,137,219                          // mov           %r11d,%ebx
29425  .byte  73,193,235,32                       // shr           $0x20,%r11
29426  .byte  102,65,15,58,32,4,25,0              // pinsrb        $0x0,(%r9,%rbx,1),%xmm0
29427  .byte  102,67,15,58,32,4,25,1              // pinsrb        $0x1,(%r9,%r11,1),%xmm0
29428  .byte  67,15,182,28,17                     // movzbl        (%r9,%r10,1),%ebx
29429  .byte  102,15,58,32,195,2                  // pinsrb        $0x2,%ebx,%xmm0
29430  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
29431  .byte  102,15,58,32,192,3                  // pinsrb        $0x3,%eax,%xmm0
29432  .byte  102,15,56,49,192                    // pmovzxbd      %xmm0,%xmm0
29433  .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
29434  .byte  15,89,29,251,52,0,0                 // mulps         0x34fb(%rip),%xmm3        # 6770 <_sk_callback_sse41+0xbc2>
29435  .byte  72,173                              // lods          %ds:(%rsi),%rax
29436  .byte  15,87,192                           // xorps         %xmm0,%xmm0
29437  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
29438  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
29439  .byte  91                                  // pop           %rbx
29440  .byte  255,224                             // jmpq          *%rax
29441
29442HIDDEN _sk_store_a8_sse41
29443.globl _sk_store_a8_sse41
29444FUNCTION(_sk_store_a8_sse41)
29445_sk_store_a8_sse41:
29446  .byte  72,173                              // lods          %ds:(%rsi),%rax
29447  .byte  76,139,16                           // mov           (%rax),%r10
29448  .byte  68,15,40,5,238,52,0,0               // movaps        0x34ee(%rip),%xmm8        # 6780 <_sk_callback_sse41+0xbd2>
29449  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
29450  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
29451  .byte  102,69,15,56,43,192                 // packusdw      %xmm8,%xmm8
29452  .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
29453  .byte  77,133,192                          // test          %r8,%r8
29454  .byte  117,13                              // jne           32b8 <_sk_store_a8_sse41+0x33>
29455  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
29456  .byte  65,137,4,18                         // mov           %eax,(%r10,%rdx,1)
29457  .byte  72,173                              // lods          %ds:(%rsi),%rax
29458  .byte  255,224                             // jmpq          *%rax
29459  .byte  102,69,15,56,49,192                 // pmovzxbd      %xmm8,%xmm8
29460  .byte  69,137,193                          // mov           %r8d,%r9d
29461  .byte  65,128,225,3                        // and           $0x3,%r9b
29462  .byte  65,128,249,1                        // cmp           $0x1,%r9b
29463  .byte  116,41                              // je            32f4 <_sk_store_a8_sse41+0x6f>
29464  .byte  65,128,249,2                        // cmp           $0x2,%r9b
29465  .byte  116,15                              // je            32e0 <_sk_store_a8_sse41+0x5b>
29466  .byte  65,128,249,3                        // cmp           $0x3,%r9b
29467  .byte  117,221                             // jne           32b4 <_sk_store_a8_sse41+0x2f>
29468  .byte  102,69,15,58,20,68,18,2,8           // pextrb        $0x8,%xmm8,0x2(%r10,%rdx,1)
29469  .byte  102,68,15,56,0,5,166,52,0,0         // pshufb        0x34a6(%rip),%xmm8        # 6790 <_sk_callback_sse41+0xbe2>
29470  .byte  102,69,15,58,21,4,18,0              // pextrw        $0x0,%xmm8,(%r10,%rdx,1)
29471  .byte  235,192                             // jmp           32b4 <_sk_store_a8_sse41+0x2f>
29472  .byte  102,69,15,58,20,4,18,0              // pextrb        $0x0,%xmm8,(%r10,%rdx,1)
29473  .byte  235,182                             // jmp           32b4 <_sk_store_a8_sse41+0x2f>
29474
29475HIDDEN _sk_load_g8_sse41
29476.globl _sk_load_g8_sse41
29477FUNCTION(_sk_load_g8_sse41)
29478_sk_load_g8_sse41:
29479  .byte  72,173                              // lods          %ds:(%rsi),%rax
29480  .byte  76,139,16                           // mov           (%rax),%r10
29481  .byte  77,133,192                          // test          %r8,%r8
29482  .byte  117,42                              // jne           3332 <_sk_load_g8_sse41+0x34>
29483  .byte  102,65,15,56,49,4,18                // pmovzxbd      (%r10,%rdx,1),%xmm0
29484  .byte  102,15,219,5,137,52,0,0             // pand          0x3489(%rip),%xmm0        # 67a0 <_sk_callback_sse41+0xbf2>
29485  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
29486  .byte  15,89,5,143,52,0,0                  // mulps         0x348f(%rip),%xmm0        # 67b0 <_sk_callback_sse41+0xc02>
29487  .byte  72,173                              // lods          %ds:(%rsi),%rax
29488  .byte  15,40,29,150,52,0,0                 // movaps        0x3496(%rip),%xmm3        # 67c0 <_sk_callback_sse41+0xc12>
29489  .byte  15,40,200                           // movaps        %xmm0,%xmm1
29490  .byte  15,40,208                           // movaps        %xmm0,%xmm2
29491  .byte  255,224                             // jmpq          *%rax
29492  .byte  69,137,193                          // mov           %r8d,%r9d
29493  .byte  65,128,225,3                        // and           $0x3,%r9b
29494  .byte  65,128,249,1                        // cmp           $0x1,%r9b
29495  .byte  116,53                              // je            3374 <_sk_load_g8_sse41+0x76>
29496  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
29497  .byte  65,128,249,2                        // cmp           $0x2,%r9b
29498  .byte  116,21                              // je            335e <_sk_load_g8_sse41+0x60>
29499  .byte  65,128,249,3                        // cmp           $0x3,%r9b
29500  .byte  117,192                             // jne           330f <_sk_load_g8_sse41+0x11>
29501  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
29502  .byte  102,15,110,192                      // movd          %eax,%xmm0
29503  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
29504  .byte  65,15,183,4,18                      // movzwl        (%r10,%rdx,1),%eax
29505  .byte  102,15,110,200                      // movd          %eax,%xmm1
29506  .byte  102,15,56,49,201                    // pmovzxbd      %xmm1,%xmm1
29507  .byte  102,15,58,14,193,15                 // pblendw       $0xf,%xmm1,%xmm0
29508  .byte  235,155                             // jmp           330f <_sk_load_g8_sse41+0x11>
29509  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
29510  .byte  102,15,110,192                      // movd          %eax,%xmm0
29511  .byte  235,144                             // jmp           330f <_sk_load_g8_sse41+0x11>
29512
29513HIDDEN _sk_load_g8_dst_sse41
29514.globl _sk_load_g8_dst_sse41
29515FUNCTION(_sk_load_g8_dst_sse41)
29516_sk_load_g8_dst_sse41:
29517  .byte  72,173                              // lods          %ds:(%rsi),%rax
29518  .byte  76,139,16                           // mov           (%rax),%r10
29519  .byte  77,133,192                          // test          %r8,%r8
29520  .byte  117,42                              // jne           33b3 <_sk_load_g8_dst_sse41+0x34>
29521  .byte  102,65,15,56,49,36,18               // pmovzxbd      (%r10,%rdx,1),%xmm4
29522  .byte  102,15,219,37,56,52,0,0             // pand          0x3438(%rip),%xmm4        # 67d0 <_sk_callback_sse41+0xc22>
29523  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
29524  .byte  15,89,37,62,52,0,0                  // mulps         0x343e(%rip),%xmm4        # 67e0 <_sk_callback_sse41+0xc32>
29525  .byte  72,173                              // lods          %ds:(%rsi),%rax
29526  .byte  15,40,61,69,52,0,0                  // movaps        0x3445(%rip),%xmm7        # 67f0 <_sk_callback_sse41+0xc42>
29527  .byte  15,40,236                           // movaps        %xmm4,%xmm5
29528  .byte  15,40,244                           // movaps        %xmm4,%xmm6
29529  .byte  255,224                             // jmpq          *%rax
29530  .byte  69,137,193                          // mov           %r8d,%r9d
29531  .byte  65,128,225,3                        // and           $0x3,%r9b
29532  .byte  65,128,249,1                        // cmp           $0x1,%r9b
29533  .byte  116,53                              // je            33f5 <_sk_load_g8_dst_sse41+0x76>
29534  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
29535  .byte  65,128,249,2                        // cmp           $0x2,%r9b
29536  .byte  116,21                              // je            33df <_sk_load_g8_dst_sse41+0x60>
29537  .byte  65,128,249,3                        // cmp           $0x3,%r9b
29538  .byte  117,192                             // jne           3390 <_sk_load_g8_dst_sse41+0x11>
29539  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
29540  .byte  102,15,110,224                      // movd          %eax,%xmm4
29541  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
29542  .byte  65,15,183,4,18                      // movzwl        (%r10,%rdx,1),%eax
29543  .byte  102,15,110,232                      // movd          %eax,%xmm5
29544  .byte  102,15,56,49,237                    // pmovzxbd      %xmm5,%xmm5
29545  .byte  102,15,58,14,229,15                 // pblendw       $0xf,%xmm5,%xmm4
29546  .byte  235,155                             // jmp           3390 <_sk_load_g8_dst_sse41+0x11>
29547  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
29548  .byte  102,15,110,224                      // movd          %eax,%xmm4
29549  .byte  235,144                             // jmp           3390 <_sk_load_g8_dst_sse41+0x11>
29550
29551HIDDEN _sk_gather_g8_sse41
29552.globl _sk_gather_g8_sse41
29553FUNCTION(_sk_gather_g8_sse41)
29554_sk_gather_g8_sse41:
29555  .byte  83                                  // push          %rbx
29556  .byte  72,173                              // lods          %ds:(%rsi),%rax
29557  .byte  76,139,8                            // mov           (%rax),%r9
29558  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
29559  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
29560  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
29561  .byte  102,15,56,64,209                    // pmulld        %xmm1,%xmm2
29562  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
29563  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
29564  .byte  102,72,15,58,22,192,1               // pextrq        $0x1,%xmm0,%rax
29565  .byte  65,137,194                          // mov           %eax,%r10d
29566  .byte  72,193,232,32                       // shr           $0x20,%rax
29567  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
29568  .byte  68,137,219                          // mov           %r11d,%ebx
29569  .byte  73,193,235,32                       // shr           $0x20,%r11
29570  .byte  102,65,15,58,32,4,25,0              // pinsrb        $0x0,(%r9,%rbx,1),%xmm0
29571  .byte  102,67,15,58,32,4,25,1              // pinsrb        $0x1,(%r9,%r11,1),%xmm0
29572  .byte  67,15,182,28,17                     // movzbl        (%r9,%r10,1),%ebx
29573  .byte  102,15,58,32,195,2                  // pinsrb        $0x2,%ebx,%xmm0
29574  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
29575  .byte  102,15,58,32,192,3                  // pinsrb        $0x3,%eax,%xmm0
29576  .byte  102,15,56,49,192                    // pmovzxbd      %xmm0,%xmm0
29577  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
29578  .byte  15,89,5,144,51,0,0                  // mulps         0x3390(%rip),%xmm0        # 6800 <_sk_callback_sse41+0xc52>
29579  .byte  72,173                              // lods          %ds:(%rsi),%rax
29580  .byte  15,40,29,151,51,0,0                 // movaps        0x3397(%rip),%xmm3        # 6810 <_sk_callback_sse41+0xc62>
29581  .byte  15,40,200                           // movaps        %xmm0,%xmm1
29582  .byte  15,40,208                           // movaps        %xmm0,%xmm2
29583  .byte  91                                  // pop           %rbx
29584  .byte  255,224                             // jmpq          *%rax
29585
29586HIDDEN _sk_load_565_sse41
29587.globl _sk_load_565_sse41
29588FUNCTION(_sk_load_565_sse41)
29589_sk_load_565_sse41:
29590  .byte  72,173                              // lods          %ds:(%rsi),%rax
29591  .byte  76,139,16                           // mov           (%rax),%r10
29592  .byte  77,133,192                          // test          %r8,%r8
29593  .byte  117,80                              // jne           34dc <_sk_load_565_sse41+0x5a>
29594  .byte  102,65,15,56,51,20,82               // pmovzxwd      (%r10,%rdx,2),%xmm2
29595  .byte  102,15,111,5,133,51,0,0             // movdqa        0x3385(%rip),%xmm0        # 6820 <_sk_callback_sse41+0xc72>
29596  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
29597  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
29598  .byte  15,89,5,135,51,0,0                  // mulps         0x3387(%rip),%xmm0        # 6830 <_sk_callback_sse41+0xc82>
29599  .byte  102,15,111,13,143,51,0,0            // movdqa        0x338f(%rip),%xmm1        # 6840 <_sk_callback_sse41+0xc92>
29600  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
29601  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
29602  .byte  15,89,13,145,51,0,0                 // mulps         0x3391(%rip),%xmm1        # 6850 <_sk_callback_sse41+0xca2>
29603  .byte  102,15,219,21,153,51,0,0            // pand          0x3399(%rip),%xmm2        # 6860 <_sk_callback_sse41+0xcb2>
29604  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
29605  .byte  15,89,21,159,51,0,0                 // mulps         0x339f(%rip),%xmm2        # 6870 <_sk_callback_sse41+0xcc2>
29606  .byte  72,173                              // lods          %ds:(%rsi),%rax
29607  .byte  15,40,29,166,51,0,0                 // movaps        0x33a6(%rip),%xmm3        # 6880 <_sk_callback_sse41+0xcd2>
29608  .byte  255,224                             // jmpq          *%rax
29609  .byte  69,137,193                          // mov           %r8d,%r9d
29610  .byte  65,128,225,3                        // and           $0x3,%r9b
29611  .byte  65,128,249,1                        // cmp           $0x1,%r9b
29612  .byte  116,53                              // je            351e <_sk_load_565_sse41+0x9c>
29613  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
29614  .byte  65,128,249,2                        // cmp           $0x2,%r9b
29615  .byte  116,21                              // je            3508 <_sk_load_565_sse41+0x86>
29616  .byte  65,128,249,3                        // cmp           $0x3,%r9b
29617  .byte  117,154                             // jne           3493 <_sk_load_565_sse41+0x11>
29618  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%rdx,2),%eax
29619  .byte  102,15,110,192                      // movd          %eax,%xmm0
29620  .byte  102,15,112,208,69                   // pshufd        $0x45,%xmm0,%xmm2
29621  .byte  102,65,15,110,4,82                  // movd          (%r10,%rdx,2),%xmm0
29622  .byte  102,15,56,51,192                    // pmovzxwd      %xmm0,%xmm0
29623  .byte  102,15,58,14,208,15                 // pblendw       $0xf,%xmm0,%xmm2
29624  .byte  233,117,255,255,255                 // jmpq          3493 <_sk_load_565_sse41+0x11>
29625  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
29626  .byte  102,15,110,208                      // movd          %eax,%xmm2
29627  .byte  233,103,255,255,255                 // jmpq          3493 <_sk_load_565_sse41+0x11>
29628
29629HIDDEN _sk_load_565_dst_sse41
29630.globl _sk_load_565_dst_sse41
29631FUNCTION(_sk_load_565_dst_sse41)
29632_sk_load_565_dst_sse41:
29633  .byte  72,173                              // lods          %ds:(%rsi),%rax
29634  .byte  76,139,16                           // mov           (%rax),%r10
29635  .byte  77,133,192                          // test          %r8,%r8
29636  .byte  117,80                              // jne           3586 <_sk_load_565_dst_sse41+0x5a>
29637  .byte  102,65,15,56,51,52,82               // pmovzxwd      (%r10,%rdx,2),%xmm6
29638  .byte  102,15,111,37,75,51,0,0             // movdqa        0x334b(%rip),%xmm4        # 6890 <_sk_callback_sse41+0xce2>
29639  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
29640  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
29641  .byte  15,89,37,77,51,0,0                  // mulps         0x334d(%rip),%xmm4        # 68a0 <_sk_callback_sse41+0xcf2>
29642  .byte  102,15,111,45,85,51,0,0             // movdqa        0x3355(%rip),%xmm5        # 68b0 <_sk_callback_sse41+0xd02>
29643  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
29644  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
29645  .byte  15,89,45,87,51,0,0                  // mulps         0x3357(%rip),%xmm5        # 68c0 <_sk_callback_sse41+0xd12>
29646  .byte  102,15,219,53,95,51,0,0             // pand          0x335f(%rip),%xmm6        # 68d0 <_sk_callback_sse41+0xd22>
29647  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
29648  .byte  15,89,53,101,51,0,0                 // mulps         0x3365(%rip),%xmm6        # 68e0 <_sk_callback_sse41+0xd32>
29649  .byte  72,173                              // lods          %ds:(%rsi),%rax
29650  .byte  15,40,61,108,51,0,0                 // movaps        0x336c(%rip),%xmm7        # 68f0 <_sk_callback_sse41+0xd42>
29651  .byte  255,224                             // jmpq          *%rax
29652  .byte  69,137,193                          // mov           %r8d,%r9d
29653  .byte  65,128,225,3                        // and           $0x3,%r9b
29654  .byte  65,128,249,1                        // cmp           $0x1,%r9b
29655  .byte  116,53                              // je            35c8 <_sk_load_565_dst_sse41+0x9c>
29656  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
29657  .byte  65,128,249,2                        // cmp           $0x2,%r9b
29658  .byte  116,21                              // je            35b2 <_sk_load_565_dst_sse41+0x86>
29659  .byte  65,128,249,3                        // cmp           $0x3,%r9b
29660  .byte  117,154                             // jne           353d <_sk_load_565_dst_sse41+0x11>
29661  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%rdx,2),%eax
29662  .byte  102,15,110,224                      // movd          %eax,%xmm4
29663  .byte  102,15,112,244,69                   // pshufd        $0x45,%xmm4,%xmm6
29664  .byte  102,65,15,110,36,82                 // movd          (%r10,%rdx,2),%xmm4
29665  .byte  102,15,56,51,228                    // pmovzxwd      %xmm4,%xmm4
29666  .byte  102,15,58,14,244,15                 // pblendw       $0xf,%xmm4,%xmm6
29667  .byte  233,117,255,255,255                 // jmpq          353d <_sk_load_565_dst_sse41+0x11>
29668  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
29669  .byte  102,15,110,240                      // movd          %eax,%xmm6
29670  .byte  233,103,255,255,255                 // jmpq          353d <_sk_load_565_dst_sse41+0x11>
29671
29672HIDDEN _sk_gather_565_sse41
29673.globl _sk_gather_565_sse41
29674FUNCTION(_sk_gather_565_sse41)
29675_sk_gather_565_sse41:
29676  .byte  83                                  // push          %rbx
29677  .byte  72,173                              // lods          %ds:(%rsi),%rax
29678  .byte  76,139,8                            // mov           (%rax),%r9
29679  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
29680  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
29681  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
29682  .byte  102,15,56,64,209                    // pmulld        %xmm1,%xmm2
29683  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
29684  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
29685  .byte  102,72,15,58,22,192,1               // pextrq        $0x1,%xmm0,%rax
29686  .byte  65,137,194                          // mov           %eax,%r10d
29687  .byte  72,193,232,32                       // shr           $0x20,%rax
29688  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
29689  .byte  68,137,219                          // mov           %r11d,%ebx
29690  .byte  73,193,235,32                       // shr           $0x20,%r11
29691  .byte  102,65,15,196,4,89,0                // pinsrw        $0x0,(%r9,%rbx,2),%xmm0
29692  .byte  102,67,15,196,4,89,1                // pinsrw        $0x1,(%r9,%r11,2),%xmm0
29693  .byte  67,15,183,28,81                     // movzwl        (%r9,%r10,2),%ebx
29694  .byte  102,15,196,195,2                    // pinsrw        $0x2,%ebx,%xmm0
29695  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
29696  .byte  102,15,196,192,3                    // pinsrw        $0x3,%eax,%xmm0
29697  .byte  102,15,56,51,208                    // pmovzxwd      %xmm0,%xmm2
29698  .byte  102,15,111,5,192,50,0,0             // movdqa        0x32c0(%rip),%xmm0        # 6900 <_sk_callback_sse41+0xd52>
29699  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
29700  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
29701  .byte  15,89,5,194,50,0,0                  // mulps         0x32c2(%rip),%xmm0        # 6910 <_sk_callback_sse41+0xd62>
29702  .byte  102,15,111,13,202,50,0,0            // movdqa        0x32ca(%rip),%xmm1        # 6920 <_sk_callback_sse41+0xd72>
29703  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
29704  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
29705  .byte  15,89,13,204,50,0,0                 // mulps         0x32cc(%rip),%xmm1        # 6930 <_sk_callback_sse41+0xd82>
29706  .byte  102,15,219,21,212,50,0,0            // pand          0x32d4(%rip),%xmm2        # 6940 <_sk_callback_sse41+0xd92>
29707  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
29708  .byte  15,89,21,218,50,0,0                 // mulps         0x32da(%rip),%xmm2        # 6950 <_sk_callback_sse41+0xda2>
29709  .byte  72,173                              // lods          %ds:(%rsi),%rax
29710  .byte  15,40,29,225,50,0,0                 // movaps        0x32e1(%rip),%xmm3        # 6960 <_sk_callback_sse41+0xdb2>
29711  .byte  91                                  // pop           %rbx
29712  .byte  255,224                             // jmpq          *%rax
29713
29714HIDDEN _sk_store_565_sse41
29715.globl _sk_store_565_sse41
29716FUNCTION(_sk_store_565_sse41)
29717_sk_store_565_sse41:
29718  .byte  72,173                              // lods          %ds:(%rsi),%rax
29719  .byte  72,139,0                            // mov           (%rax),%rax
29720  .byte  68,15,40,5,225,50,0,0               // movaps        0x32e1(%rip),%xmm8        # 6970 <_sk_callback_sse41+0xdc2>
29721  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
29722  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
29723  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
29724  .byte  102,65,15,114,241,11                // pslld         $0xb,%xmm9
29725  .byte  68,15,40,21,214,50,0,0              // movaps        0x32d6(%rip),%xmm10        # 6980 <_sk_callback_sse41+0xdd2>
29726  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
29727  .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
29728  .byte  102,65,15,114,242,5                 // pslld         $0x5,%xmm10
29729  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
29730  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
29731  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
29732  .byte  102,69,15,86,194                    // orpd          %xmm10,%xmm8
29733  .byte  102,69,15,56,43,192                 // packusdw      %xmm8,%xmm8
29734  .byte  77,133,192                          // test          %r8,%r8
29735  .byte  117,10                              // jne           36e1 <_sk_store_565_sse41+0x5f>
29736  .byte  242,68,15,17,4,80                   // movsd         %xmm8,(%rax,%rdx,2)
29737  .byte  72,173                              // lods          %ds:(%rsi),%rax
29738  .byte  255,224                             // jmpq          *%rax
29739  .byte  102,69,15,56,51,192                 // pmovzxwd      %xmm8,%xmm8
29740  .byte  69,137,193                          // mov           %r8d,%r9d
29741  .byte  65,128,225,3                        // and           $0x3,%r9b
29742  .byte  65,128,249,1                        // cmp           $0x1,%r9b
29743  .byte  116,35                              // je            3717 <_sk_store_565_sse41+0x95>
29744  .byte  65,128,249,2                        // cmp           $0x2,%r9b
29745  .byte  116,15                              // je            3709 <_sk_store_565_sse41+0x87>
29746  .byte  65,128,249,3                        // cmp           $0x3,%r9b
29747  .byte  117,221                             // jne           36dd <_sk_store_565_sse41+0x5b>
29748  .byte  102,68,15,58,21,68,80,4,4           // pextrw        $0x4,%xmm8,0x4(%rax,%rdx,2)
29749  .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
29750  .byte  102,68,15,126,4,80                  // movd          %xmm8,(%rax,%rdx,2)
29751  .byte  235,198                             // jmp           36dd <_sk_store_565_sse41+0x5b>
29752  .byte  102,68,15,58,21,4,80,0              // pextrw        $0x0,%xmm8,(%rax,%rdx,2)
29753  .byte  235,188                             // jmp           36dd <_sk_store_565_sse41+0x5b>
29754
29755HIDDEN _sk_load_4444_sse41
29756.globl _sk_load_4444_sse41
29757FUNCTION(_sk_load_4444_sse41)
29758_sk_load_4444_sse41:
29759  .byte  72,173                              // lods          %ds:(%rsi),%rax
29760  .byte  76,139,16                           // mov           (%rax),%r10
29761  .byte  77,133,192                          // test          %r8,%r8
29762  .byte  117,95                              // jne           378a <_sk_load_4444_sse41+0x69>
29763  .byte  102,65,15,56,51,28,82               // pmovzxwd      (%r10,%rdx,2),%xmm3
29764  .byte  102,15,111,5,86,50,0,0              // movdqa        0x3256(%rip),%xmm0        # 6990 <_sk_callback_sse41+0xde2>
29765  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
29766  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
29767  .byte  15,89,5,88,50,0,0                   // mulps         0x3258(%rip),%xmm0        # 69a0 <_sk_callback_sse41+0xdf2>
29768  .byte  102,15,111,13,96,50,0,0             // movdqa        0x3260(%rip),%xmm1        # 69b0 <_sk_callback_sse41+0xe02>
29769  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
29770  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
29771  .byte  15,89,13,98,50,0,0                  // mulps         0x3262(%rip),%xmm1        # 69c0 <_sk_callback_sse41+0xe12>
29772  .byte  102,15,111,21,106,50,0,0            // movdqa        0x326a(%rip),%xmm2        # 69d0 <_sk_callback_sse41+0xe22>
29773  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
29774  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
29775  .byte  15,89,21,108,50,0,0                 // mulps         0x326c(%rip),%xmm2        # 69e0 <_sk_callback_sse41+0xe32>
29776  .byte  102,15,219,29,116,50,0,0            // pand          0x3274(%rip),%xmm3        # 69f0 <_sk_callback_sse41+0xe42>
29777  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
29778  .byte  15,89,29,122,50,0,0                 // mulps         0x327a(%rip),%xmm3        # 6a00 <_sk_callback_sse41+0xe52>
29779  .byte  72,173                              // lods          %ds:(%rsi),%rax
29780  .byte  255,224                             // jmpq          *%rax
29781  .byte  69,137,193                          // mov           %r8d,%r9d
29782  .byte  65,128,225,3                        // and           $0x3,%r9b
29783  .byte  65,128,249,1                        // cmp           $0x1,%r9b
29784  .byte  116,53                              // je            37cc <_sk_load_4444_sse41+0xab>
29785  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
29786  .byte  65,128,249,2                        // cmp           $0x2,%r9b
29787  .byte  116,21                              // je            37b6 <_sk_load_4444_sse41+0x95>
29788  .byte  65,128,249,3                        // cmp           $0x3,%r9b
29789  .byte  117,139                             // jne           3732 <_sk_load_4444_sse41+0x11>
29790  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%rdx,2),%eax
29791  .byte  102,15,110,192                      // movd          %eax,%xmm0
29792  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
29793  .byte  102,65,15,110,4,82                  // movd          (%r10,%rdx,2),%xmm0
29794  .byte  102,15,56,51,192                    // pmovzxwd      %xmm0,%xmm0
29795  .byte  102,15,58,14,216,15                 // pblendw       $0xf,%xmm0,%xmm3
29796  .byte  233,102,255,255,255                 // jmpq          3732 <_sk_load_4444_sse41+0x11>
29797  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
29798  .byte  102,15,110,216                      // movd          %eax,%xmm3
29799  .byte  233,88,255,255,255                  // jmpq          3732 <_sk_load_4444_sse41+0x11>
29800
29801HIDDEN _sk_load_4444_dst_sse41
29802.globl _sk_load_4444_dst_sse41
29803FUNCTION(_sk_load_4444_dst_sse41)
29804_sk_load_4444_dst_sse41:
29805  .byte  72,173                              // lods          %ds:(%rsi),%rax
29806  .byte  76,139,16                           // mov           (%rax),%r10
29807  .byte  77,133,192                          // test          %r8,%r8
29808  .byte  117,95                              // jne           3843 <_sk_load_4444_dst_sse41+0x69>
29809  .byte  102,65,15,56,51,60,82               // pmovzxwd      (%r10,%rdx,2),%xmm7
29810  .byte  102,15,111,37,29,50,0,0             // movdqa        0x321d(%rip),%xmm4        # 6a10 <_sk_callback_sse41+0xe62>
29811  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
29812  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
29813  .byte  15,89,37,31,50,0,0                  // mulps         0x321f(%rip),%xmm4        # 6a20 <_sk_callback_sse41+0xe72>
29814  .byte  102,15,111,45,39,50,0,0             // movdqa        0x3227(%rip),%xmm5        # 6a30 <_sk_callback_sse41+0xe82>
29815  .byte  102,15,219,239                      // pand          %xmm7,%xmm5
29816  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
29817  .byte  15,89,45,41,50,0,0                  // mulps         0x3229(%rip),%xmm5        # 6a40 <_sk_callback_sse41+0xe92>
29818  .byte  102,15,111,53,49,50,0,0             // movdqa        0x3231(%rip),%xmm6        # 6a50 <_sk_callback_sse41+0xea2>
29819  .byte  102,15,219,247                      // pand          %xmm7,%xmm6
29820  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
29821  .byte  15,89,53,51,50,0,0                  // mulps         0x3233(%rip),%xmm6        # 6a60 <_sk_callback_sse41+0xeb2>
29822  .byte  102,15,219,61,59,50,0,0             // pand          0x323b(%rip),%xmm7        # 6a70 <_sk_callback_sse41+0xec2>
29823  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
29824  .byte  15,89,61,65,50,0,0                  // mulps         0x3241(%rip),%xmm7        # 6a80 <_sk_callback_sse41+0xed2>
29825  .byte  72,173                              // lods          %ds:(%rsi),%rax
29826  .byte  255,224                             // jmpq          *%rax
29827  .byte  69,137,193                          // mov           %r8d,%r9d
29828  .byte  65,128,225,3                        // and           $0x3,%r9b
29829  .byte  65,128,249,1                        // cmp           $0x1,%r9b
29830  .byte  116,53                              // je            3885 <_sk_load_4444_dst_sse41+0xab>
29831  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
29832  .byte  65,128,249,2                        // cmp           $0x2,%r9b
29833  .byte  116,21                              // je            386f <_sk_load_4444_dst_sse41+0x95>
29834  .byte  65,128,249,3                        // cmp           $0x3,%r9b
29835  .byte  117,139                             // jne           37eb <_sk_load_4444_dst_sse41+0x11>
29836  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%rdx,2),%eax
29837  .byte  102,15,110,224                      // movd          %eax,%xmm4
29838  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
29839  .byte  102,65,15,110,36,82                 // movd          (%r10,%rdx,2),%xmm4
29840  .byte  102,15,56,51,228                    // pmovzxwd      %xmm4,%xmm4
29841  .byte  102,15,58,14,252,15                 // pblendw       $0xf,%xmm4,%xmm7
29842  .byte  233,102,255,255,255                 // jmpq          37eb <_sk_load_4444_dst_sse41+0x11>
29843  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
29844  .byte  102,15,110,248                      // movd          %eax,%xmm7
29845  .byte  233,88,255,255,255                  // jmpq          37eb <_sk_load_4444_dst_sse41+0x11>
29846
29847HIDDEN _sk_gather_4444_sse41
29848.globl _sk_gather_4444_sse41
29849FUNCTION(_sk_gather_4444_sse41)
29850_sk_gather_4444_sse41:
29851  .byte  83                                  // push          %rbx
29852  .byte  72,173                              // lods          %ds:(%rsi),%rax
29853  .byte  76,139,8                            // mov           (%rax),%r9
29854  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
29855  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
29856  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
29857  .byte  102,15,56,64,209                    // pmulld        %xmm1,%xmm2
29858  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
29859  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
29860  .byte  102,72,15,58,22,192,1               // pextrq        $0x1,%xmm0,%rax
29861  .byte  65,137,194                          // mov           %eax,%r10d
29862  .byte  72,193,232,32                       // shr           $0x20,%rax
29863  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
29864  .byte  68,137,219                          // mov           %r11d,%ebx
29865  .byte  73,193,235,32                       // shr           $0x20,%r11
29866  .byte  102,65,15,196,4,89,0                // pinsrw        $0x0,(%r9,%rbx,2),%xmm0
29867  .byte  102,67,15,196,4,89,1                // pinsrw        $0x1,(%r9,%r11,2),%xmm0
29868  .byte  67,15,183,28,81                     // movzwl        (%r9,%r10,2),%ebx
29869  .byte  102,15,196,195,2                    // pinsrw        $0x2,%ebx,%xmm0
29870  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
29871  .byte  102,15,196,192,3                    // pinsrw        $0x3,%eax,%xmm0
29872  .byte  102,15,56,51,216                    // pmovzxwd      %xmm0,%xmm3
29873  .byte  102,15,111,5,147,49,0,0             // movdqa        0x3193(%rip),%xmm0        # 6a90 <_sk_callback_sse41+0xee2>
29874  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
29875  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
29876  .byte  15,89,5,149,49,0,0                  // mulps         0x3195(%rip),%xmm0        # 6aa0 <_sk_callback_sse41+0xef2>
29877  .byte  102,15,111,13,157,49,0,0            // movdqa        0x319d(%rip),%xmm1        # 6ab0 <_sk_callback_sse41+0xf02>
29878  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
29879  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
29880  .byte  15,89,13,159,49,0,0                 // mulps         0x319f(%rip),%xmm1        # 6ac0 <_sk_callback_sse41+0xf12>
29881  .byte  102,15,111,21,167,49,0,0            // movdqa        0x31a7(%rip),%xmm2        # 6ad0 <_sk_callback_sse41+0xf22>
29882  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
29883  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
29884  .byte  15,89,21,169,49,0,0                 // mulps         0x31a9(%rip),%xmm2        # 6ae0 <_sk_callback_sse41+0xf32>
29885  .byte  102,15,219,29,177,49,0,0            // pand          0x31b1(%rip),%xmm3        # 6af0 <_sk_callback_sse41+0xf42>
29886  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
29887  .byte  15,89,29,183,49,0,0                 // mulps         0x31b7(%rip),%xmm3        # 6b00 <_sk_callback_sse41+0xf52>
29888  .byte  72,173                              // lods          %ds:(%rsi),%rax
29889  .byte  91                                  // pop           %rbx
29890  .byte  255,224                             // jmpq          *%rax
29891
29892HIDDEN _sk_store_4444_sse41
29893.globl _sk_store_4444_sse41
29894FUNCTION(_sk_store_4444_sse41)
29895_sk_store_4444_sse41:
29896  .byte  72,173                              // lods          %ds:(%rsi),%rax
29897  .byte  72,139,0                            // mov           (%rax),%rax
29898  .byte  68,15,40,5,181,49,0,0               // movaps        0x31b5(%rip),%xmm8        # 6b10 <_sk_callback_sse41+0xf62>
29899  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
29900  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
29901  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
29902  .byte  102,65,15,114,241,12                // pslld         $0xc,%xmm9
29903  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
29904  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
29905  .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
29906  .byte  102,65,15,114,242,8                 // pslld         $0x8,%xmm10
29907  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
29908  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
29909  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
29910  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
29911  .byte  102,65,15,114,241,4                 // pslld         $0x4,%xmm9
29912  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
29913  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
29914  .byte  102,69,15,86,193                    // orpd          %xmm9,%xmm8
29915  .byte  102,69,15,86,194                    // orpd          %xmm10,%xmm8
29916  .byte  102,69,15,56,43,192                 // packusdw      %xmm8,%xmm8
29917  .byte  77,133,192                          // test          %r8,%r8
29918  .byte  117,10                              // jne           39c1 <_sk_store_4444_sse41+0x73>
29919  .byte  242,68,15,17,4,80                   // movsd         %xmm8,(%rax,%rdx,2)
29920  .byte  72,173                              // lods          %ds:(%rsi),%rax
29921  .byte  255,224                             // jmpq          *%rax
29922  .byte  102,69,15,56,51,192                 // pmovzxwd      %xmm8,%xmm8
29923  .byte  69,137,193                          // mov           %r8d,%r9d
29924  .byte  65,128,225,3                        // and           $0x3,%r9b
29925  .byte  65,128,249,1                        // cmp           $0x1,%r9b
29926  .byte  116,35                              // je            39f7 <_sk_store_4444_sse41+0xa9>
29927  .byte  65,128,249,2                        // cmp           $0x2,%r9b
29928  .byte  116,15                              // je            39e9 <_sk_store_4444_sse41+0x9b>
29929  .byte  65,128,249,3                        // cmp           $0x3,%r9b
29930  .byte  117,221                             // jne           39bd <_sk_store_4444_sse41+0x6f>
29931  .byte  102,68,15,58,21,68,80,4,4           // pextrw        $0x4,%xmm8,0x4(%rax,%rdx,2)
29932  .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
29933  .byte  102,68,15,126,4,80                  // movd          %xmm8,(%rax,%rdx,2)
29934  .byte  235,198                             // jmp           39bd <_sk_store_4444_sse41+0x6f>
29935  .byte  102,68,15,58,21,4,80,0              // pextrw        $0x0,%xmm8,(%rax,%rdx,2)
29936  .byte  235,188                             // jmp           39bd <_sk_store_4444_sse41+0x6f>
29937
29938HIDDEN _sk_load_8888_sse41
29939.globl _sk_load_8888_sse41
29940FUNCTION(_sk_load_8888_sse41)
29941_sk_load_8888_sse41:
29942  .byte  72,173                              // lods          %ds:(%rsi),%rax
29943  .byte  72,139,0                            // mov           (%rax),%rax
29944  .byte  77,133,192                          // test          %r8,%r8
29945  .byte  117,88                              // jne           3a63 <_sk_load_8888_sse41+0x62>
29946  .byte  243,15,111,28,144                   // movdqu        (%rax,%rdx,4),%xmm3
29947  .byte  102,15,111,5,8,49,0,0               // movdqa        0x3108(%rip),%xmm0        # 6b20 <_sk_callback_sse41+0xf72>
29948  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
29949  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
29950  .byte  68,15,40,5,9,49,0,0                 // movaps        0x3109(%rip),%xmm8        # 6b30 <_sk_callback_sse41+0xf82>
29951  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
29952  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
29953  .byte  102,15,56,0,13,8,49,0,0             // pshufb        0x3108(%rip),%xmm1        # 6b40 <_sk_callback_sse41+0xf92>
29954  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
29955  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
29956  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
29957  .byte  102,15,56,0,21,4,49,0,0             // pshufb        0x3104(%rip),%xmm2        # 6b50 <_sk_callback_sse41+0xfa2>
29958  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
29959  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
29960  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
29961  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
29962  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
29963  .byte  72,173                              // lods          %ds:(%rsi),%rax
29964  .byte  255,224                             // jmpq          *%rax
29965  .byte  69,137,193                          // mov           %r8d,%r9d
29966  .byte  65,128,225,3                        // and           $0x3,%r9b
29967  .byte  65,128,249,1                        // cmp           $0x1,%r9b
29968  .byte  116,43                              // je            3a9b <_sk_load_8888_sse41+0x9a>
29969  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
29970  .byte  65,128,249,2                        // cmp           $0x2,%r9b
29971  .byte  116,17                              // je            3a8b <_sk_load_8888_sse41+0x8a>
29972  .byte  65,128,249,3                        // cmp           $0x3,%r9b
29973  .byte  117,144                             // jne           3a10 <_sk_load_8888_sse41+0xf>
29974  .byte  102,15,110,68,144,8                 // movd          0x8(%rax,%rdx,4),%xmm0
29975  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
29976  .byte  243,15,126,4,144                    // movq          (%rax,%rdx,4),%xmm0
29977  .byte  102,15,58,14,216,15                 // pblendw       $0xf,%xmm0,%xmm3
29978  .byte  233,117,255,255,255                 // jmpq          3a10 <_sk_load_8888_sse41+0xf>
29979  .byte  102,15,110,28,144                   // movd          (%rax,%rdx,4),%xmm3
29980  .byte  233,107,255,255,255                 // jmpq          3a10 <_sk_load_8888_sse41+0xf>
29981
29982HIDDEN _sk_load_8888_dst_sse41
29983.globl _sk_load_8888_dst_sse41
29984FUNCTION(_sk_load_8888_dst_sse41)
29985_sk_load_8888_dst_sse41:
29986  .byte  72,173                              // lods          %ds:(%rsi),%rax
29987  .byte  72,139,0                            // mov           (%rax),%rax
29988  .byte  77,133,192                          // test          %r8,%r8
29989  .byte  117,88                              // jne           3b07 <_sk_load_8888_dst_sse41+0x62>
29990  .byte  243,15,111,60,144                   // movdqu        (%rax,%rdx,4),%xmm7
29991  .byte  102,15,111,37,164,48,0,0            // movdqa        0x30a4(%rip),%xmm4        # 6b60 <_sk_callback_sse41+0xfb2>
29992  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
29993  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
29994  .byte  68,15,40,5,165,48,0,0               // movaps        0x30a5(%rip),%xmm8        # 6b70 <_sk_callback_sse41+0xfc2>
29995  .byte  65,15,89,224                        // mulps         %xmm8,%xmm4
29996  .byte  102,15,111,239                      // movdqa        %xmm7,%xmm5
29997  .byte  102,15,56,0,45,164,48,0,0           // pshufb        0x30a4(%rip),%xmm5        # 6b80 <_sk_callback_sse41+0xfd2>
29998  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
29999  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
30000  .byte  102,15,111,247                      // movdqa        %xmm7,%xmm6
30001  .byte  102,15,56,0,53,160,48,0,0           // pshufb        0x30a0(%rip),%xmm6        # 6b90 <_sk_callback_sse41+0xfe2>
30002  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
30003  .byte  65,15,89,240                        // mulps         %xmm8,%xmm6
30004  .byte  102,15,114,215,24                   // psrld         $0x18,%xmm7
30005  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
30006  .byte  65,15,89,248                        // mulps         %xmm8,%xmm7
30007  .byte  72,173                              // lods          %ds:(%rsi),%rax
30008  .byte  255,224                             // jmpq          *%rax
30009  .byte  69,137,193                          // mov           %r8d,%r9d
30010  .byte  65,128,225,3                        // and           $0x3,%r9b
30011  .byte  65,128,249,1                        // cmp           $0x1,%r9b
30012  .byte  116,43                              // je            3b3f <_sk_load_8888_dst_sse41+0x9a>
30013  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
30014  .byte  65,128,249,2                        // cmp           $0x2,%r9b
30015  .byte  116,17                              // je            3b2f <_sk_load_8888_dst_sse41+0x8a>
30016  .byte  65,128,249,3                        // cmp           $0x3,%r9b
30017  .byte  117,144                             // jne           3ab4 <_sk_load_8888_dst_sse41+0xf>
30018  .byte  102,15,110,100,144,8                // movd          0x8(%rax,%rdx,4),%xmm4
30019  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
30020  .byte  243,15,126,36,144                   // movq          (%rax,%rdx,4),%xmm4
30021  .byte  102,15,58,14,252,15                 // pblendw       $0xf,%xmm4,%xmm7
30022  .byte  233,117,255,255,255                 // jmpq          3ab4 <_sk_load_8888_dst_sse41+0xf>
30023  .byte  102,15,110,60,144                   // movd          (%rax,%rdx,4),%xmm7
30024  .byte  233,107,255,255,255                 // jmpq          3ab4 <_sk_load_8888_dst_sse41+0xf>
30025
30026HIDDEN _sk_gather_8888_sse41
30027.globl _sk_gather_8888_sse41
30028FUNCTION(_sk_gather_8888_sse41)
30029_sk_gather_8888_sse41:
30030  .byte  83                                  // push          %rbx
30031  .byte  72,173                              // lods          %ds:(%rsi),%rax
30032  .byte  76,139,8                            // mov           (%rax),%r9
30033  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
30034  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
30035  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
30036  .byte  102,15,56,64,209                    // pmulld        %xmm1,%xmm2
30037  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
30038  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
30039  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
30040  .byte  65,137,194                          // mov           %eax,%r10d
30041  .byte  72,193,232,32                       // shr           $0x20,%rax
30042  .byte  102,73,15,58,22,195,1               // pextrq        $0x1,%xmm0,%r11
30043  .byte  68,137,219                          // mov           %r11d,%ebx
30044  .byte  73,193,235,32                       // shr           $0x20,%r11
30045  .byte  102,67,15,110,28,145                // movd          (%r9,%r10,4),%xmm3
30046  .byte  102,65,15,58,34,28,129,1            // pinsrd        $0x1,(%r9,%rax,4),%xmm3
30047  .byte  102,65,15,58,34,28,153,2            // pinsrd        $0x2,(%r9,%rbx,4),%xmm3
30048  .byte  102,67,15,58,34,28,153,3            // pinsrd        $0x3,(%r9,%r11,4),%xmm3
30049  .byte  102,15,111,5,246,47,0,0             // movdqa        0x2ff6(%rip),%xmm0        # 6ba0 <_sk_callback_sse41+0xff2>
30050  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
30051  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
30052  .byte  68,15,40,5,247,47,0,0               // movaps        0x2ff7(%rip),%xmm8        # 6bb0 <_sk_callback_sse41+0x1002>
30053  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
30054  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
30055  .byte  102,15,56,0,13,246,47,0,0           // pshufb        0x2ff6(%rip),%xmm1        # 6bc0 <_sk_callback_sse41+0x1012>
30056  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
30057  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
30058  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
30059  .byte  102,15,56,0,21,242,47,0,0           // pshufb        0x2ff2(%rip),%xmm2        # 6bd0 <_sk_callback_sse41+0x1022>
30060  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
30061  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
30062  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
30063  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
30064  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
30065  .byte  72,173                              // lods          %ds:(%rsi),%rax
30066  .byte  91                                  // pop           %rbx
30067  .byte  255,224                             // jmpq          *%rax
30068
30069HIDDEN _sk_store_8888_sse41
30070.globl _sk_store_8888_sse41
30071FUNCTION(_sk_store_8888_sse41)
30072_sk_store_8888_sse41:
30073  .byte  72,173                              // lods          %ds:(%rsi),%rax
30074  .byte  72,139,0                            // mov           (%rax),%rax
30075  .byte  68,15,40,5,221,47,0,0               // movaps        0x2fdd(%rip),%xmm8        # 6be0 <_sk_callback_sse41+0x1032>
30076  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
30077  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
30078  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
30079  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
30080  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
30081  .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
30082  .byte  102,65,15,114,242,8                 // pslld         $0x8,%xmm10
30083  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
30084  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
30085  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
30086  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
30087  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
30088  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
30089  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
30090  .byte  102,65,15,114,240,24                // pslld         $0x18,%xmm8
30091  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
30092  .byte  102,69,15,235,194                   // por           %xmm10,%xmm8
30093  .byte  77,133,192                          // test          %r8,%r8
30094  .byte  117,10                              // jne           3c63 <_sk_store_8888_sse41+0x6d>
30095  .byte  243,68,15,127,4,144                 // movdqu        %xmm8,(%rax,%rdx,4)
30096  .byte  72,173                              // lods          %ds:(%rsi),%rax
30097  .byte  255,224                             // jmpq          *%rax
30098  .byte  69,137,193                          // mov           %r8d,%r9d
30099  .byte  65,128,225,3                        // and           $0x3,%r9b
30100  .byte  65,128,249,1                        // cmp           $0x1,%r9b
30101  .byte  116,29                              // je            3c8d <_sk_store_8888_sse41+0x97>
30102  .byte  65,128,249,2                        // cmp           $0x2,%r9b
30103  .byte  116,15                              // je            3c85 <_sk_store_8888_sse41+0x8f>
30104  .byte  65,128,249,3                        // cmp           $0x3,%r9b
30105  .byte  117,227                             // jne           3c5f <_sk_store_8888_sse41+0x69>
30106  .byte  102,68,15,58,22,68,144,8,2          // pextrd        $0x2,%xmm8,0x8(%rax,%rdx,4)
30107  .byte  102,68,15,214,4,144                 // movq          %xmm8,(%rax,%rdx,4)
30108  .byte  235,210                             // jmp           3c5f <_sk_store_8888_sse41+0x69>
30109  .byte  102,68,15,126,4,144                 // movd          %xmm8,(%rax,%rdx,4)
30110  .byte  235,202                             // jmp           3c5f <_sk_store_8888_sse41+0x69>
30111
30112HIDDEN _sk_store_8888_2d_sse41
30113.globl _sk_store_8888_2d_sse41
30114FUNCTION(_sk_store_8888_2d_sse41)
30115_sk_store_8888_2d_sse41:
30116  .byte  72,173                              // lods          %ds:(%rsi),%rax
30117  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
30118  .byte  76,15,175,201                       // imul          %rcx,%r9
30119  .byte  73,193,225,2                        // shl           $0x2,%r9
30120  .byte  76,3,8                              // add           (%rax),%r9
30121  .byte  68,15,40,5,66,47,0,0                // movaps        0x2f42(%rip),%xmm8        # 6bf0 <_sk_callback_sse41+0x1042>
30122  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
30123  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
30124  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
30125  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
30126  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
30127  .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
30128  .byte  102,65,15,114,242,8                 // pslld         $0x8,%xmm10
30129  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
30130  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
30131  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
30132  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
30133  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
30134  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
30135  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
30136  .byte  102,65,15,114,240,24                // pslld         $0x18,%xmm8
30137  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
30138  .byte  102,69,15,235,194                   // por           %xmm10,%xmm8
30139  .byte  77,133,192                          // test          %r8,%r8
30140  .byte  117,10                              // jne           3d0e <_sk_store_8888_2d_sse41+0x79>
30141  .byte  243,69,15,127,4,145                 // movdqu        %xmm8,(%r9,%rdx,4)
30142  .byte  72,173                              // lods          %ds:(%rsi),%rax
30143  .byte  255,224                             // jmpq          *%rax
30144  .byte  68,137,192                          // mov           %r8d,%eax
30145  .byte  36,3                                // and           $0x3,%al
30146  .byte  60,1                                // cmp           $0x1,%al
30147  .byte  116,25                              // je            3d30 <_sk_store_8888_2d_sse41+0x9b>
30148  .byte  60,2                                // cmp           $0x2,%al
30149  .byte  116,13                              // je            3d28 <_sk_store_8888_2d_sse41+0x93>
30150  .byte  60,3                                // cmp           $0x3,%al
30151  .byte  117,235                             // jne           3d0a <_sk_store_8888_2d_sse41+0x75>
30152  .byte  102,69,15,58,22,68,145,8,2          // pextrd        $0x2,%xmm8,0x8(%r9,%rdx,4)
30153  .byte  102,69,15,214,4,145                 // movq          %xmm8,(%r9,%rdx,4)
30154  .byte  235,218                             // jmp           3d0a <_sk_store_8888_2d_sse41+0x75>
30155  .byte  102,69,15,126,4,145                 // movd          %xmm8,(%r9,%rdx,4)
30156  .byte  235,210                             // jmp           3d0a <_sk_store_8888_2d_sse41+0x75>
30157
30158HIDDEN _sk_load_bgra_sse41
30159.globl _sk_load_bgra_sse41
30160FUNCTION(_sk_load_bgra_sse41)
30161_sk_load_bgra_sse41:
30162  .byte  72,173                              // lods          %ds:(%rsi),%rax
30163  .byte  72,139,0                            // mov           (%rax),%rax
30164  .byte  77,133,192                          // test          %r8,%r8
30165  .byte  117,88                              // jne           3d9a <_sk_load_bgra_sse41+0x62>
30166  .byte  243,15,111,28,144                   // movdqu        (%rax,%rdx,4),%xmm3
30167  .byte  102,15,111,5,177,46,0,0             // movdqa        0x2eb1(%rip),%xmm0        # 6c00 <_sk_callback_sse41+0x1052>
30168  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
30169  .byte  15,91,208                           // cvtdq2ps      %xmm0,%xmm2
30170  .byte  68,15,40,5,178,46,0,0               // movaps        0x2eb2(%rip),%xmm8        # 6c10 <_sk_callback_sse41+0x1062>
30171  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
30172  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
30173  .byte  102,15,56,0,5,177,46,0,0            // pshufb        0x2eb1(%rip),%xmm0        # 6c20 <_sk_callback_sse41+0x1072>
30174  .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
30175  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
30176  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
30177  .byte  102,15,56,0,5,173,46,0,0            // pshufb        0x2ead(%rip),%xmm0        # 6c30 <_sk_callback_sse41+0x1082>
30178  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
30179  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
30180  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
30181  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
30182  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
30183  .byte  72,173                              // lods          %ds:(%rsi),%rax
30184  .byte  255,224                             // jmpq          *%rax
30185  .byte  69,137,193                          // mov           %r8d,%r9d
30186  .byte  65,128,225,3                        // and           $0x3,%r9b
30187  .byte  65,128,249,1                        // cmp           $0x1,%r9b
30188  .byte  116,43                              // je            3dd2 <_sk_load_bgra_sse41+0x9a>
30189  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
30190  .byte  65,128,249,2                        // cmp           $0x2,%r9b
30191  .byte  116,17                              // je            3dc2 <_sk_load_bgra_sse41+0x8a>
30192  .byte  65,128,249,3                        // cmp           $0x3,%r9b
30193  .byte  117,144                             // jne           3d47 <_sk_load_bgra_sse41+0xf>
30194  .byte  102,15,110,68,144,8                 // movd          0x8(%rax,%rdx,4),%xmm0
30195  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
30196  .byte  243,15,126,4,144                    // movq          (%rax,%rdx,4),%xmm0
30197  .byte  102,15,58,14,216,15                 // pblendw       $0xf,%xmm0,%xmm3
30198  .byte  233,117,255,255,255                 // jmpq          3d47 <_sk_load_bgra_sse41+0xf>
30199  .byte  102,15,110,28,144                   // movd          (%rax,%rdx,4),%xmm3
30200  .byte  233,107,255,255,255                 // jmpq          3d47 <_sk_load_bgra_sse41+0xf>
30201
30202HIDDEN _sk_load_bgra_dst_sse41
30203.globl _sk_load_bgra_dst_sse41
30204FUNCTION(_sk_load_bgra_dst_sse41)
30205_sk_load_bgra_dst_sse41:
30206  .byte  72,173                              // lods          %ds:(%rsi),%rax
30207  .byte  72,139,0                            // mov           (%rax),%rax
30208  .byte  77,133,192                          // test          %r8,%r8
30209  .byte  117,88                              // jne           3e3e <_sk_load_bgra_dst_sse41+0x62>
30210  .byte  243,15,111,60,144                   // movdqu        (%rax,%rdx,4),%xmm7
30211  .byte  102,15,111,37,77,46,0,0             // movdqa        0x2e4d(%rip),%xmm4        # 6c40 <_sk_callback_sse41+0x1092>
30212  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
30213  .byte  15,91,244                           // cvtdq2ps      %xmm4,%xmm6
30214  .byte  68,15,40,5,78,46,0,0                // movaps        0x2e4e(%rip),%xmm8        # 6c50 <_sk_callback_sse41+0x10a2>
30215  .byte  65,15,89,240                        // mulps         %xmm8,%xmm6
30216  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
30217  .byte  102,15,56,0,37,77,46,0,0            // pshufb        0x2e4d(%rip),%xmm4        # 6c60 <_sk_callback_sse41+0x10b2>
30218  .byte  15,91,236                           // cvtdq2ps      %xmm4,%xmm5
30219  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
30220  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
30221  .byte  102,15,56,0,37,73,46,0,0            // pshufb        0x2e49(%rip),%xmm4        # 6c70 <_sk_callback_sse41+0x10c2>
30222  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
30223  .byte  65,15,89,224                        // mulps         %xmm8,%xmm4
30224  .byte  102,15,114,215,24                   // psrld         $0x18,%xmm7
30225  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
30226  .byte  65,15,89,248                        // mulps         %xmm8,%xmm7
30227  .byte  72,173                              // lods          %ds:(%rsi),%rax
30228  .byte  255,224                             // jmpq          *%rax
30229  .byte  69,137,193                          // mov           %r8d,%r9d
30230  .byte  65,128,225,3                        // and           $0x3,%r9b
30231  .byte  65,128,249,1                        // cmp           $0x1,%r9b
30232  .byte  116,43                              // je            3e76 <_sk_load_bgra_dst_sse41+0x9a>
30233  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
30234  .byte  65,128,249,2                        // cmp           $0x2,%r9b
30235  .byte  116,17                              // je            3e66 <_sk_load_bgra_dst_sse41+0x8a>
30236  .byte  65,128,249,3                        // cmp           $0x3,%r9b
30237  .byte  117,144                             // jne           3deb <_sk_load_bgra_dst_sse41+0xf>
30238  .byte  102,15,110,100,144,8                // movd          0x8(%rax,%rdx,4),%xmm4
30239  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
30240  .byte  243,15,126,36,144                   // movq          (%rax,%rdx,4),%xmm4
30241  .byte  102,15,58,14,252,15                 // pblendw       $0xf,%xmm4,%xmm7
30242  .byte  233,117,255,255,255                 // jmpq          3deb <_sk_load_bgra_dst_sse41+0xf>
30243  .byte  102,15,110,60,144                   // movd          (%rax,%rdx,4),%xmm7
30244  .byte  233,107,255,255,255                 // jmpq          3deb <_sk_load_bgra_dst_sse41+0xf>
30245
30246HIDDEN _sk_gather_bgra_sse41
30247.globl _sk_gather_bgra_sse41
30248FUNCTION(_sk_gather_bgra_sse41)
30249_sk_gather_bgra_sse41:
30250  .byte  83                                  // push          %rbx
30251  .byte  72,173                              // lods          %ds:(%rsi),%rax
30252  .byte  76,139,8                            // mov           (%rax),%r9
30253  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
30254  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
30255  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
30256  .byte  102,15,56,64,209                    // pmulld        %xmm1,%xmm2
30257  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
30258  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
30259  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
30260  .byte  65,137,194                          // mov           %eax,%r10d
30261  .byte  72,193,232,32                       // shr           $0x20,%rax
30262  .byte  102,73,15,58,22,195,1               // pextrq        $0x1,%xmm0,%r11
30263  .byte  68,137,219                          // mov           %r11d,%ebx
30264  .byte  73,193,235,32                       // shr           $0x20,%r11
30265  .byte  102,67,15,110,28,145                // movd          (%r9,%r10,4),%xmm3
30266  .byte  102,65,15,58,34,28,129,1            // pinsrd        $0x1,(%r9,%rax,4),%xmm3
30267  .byte  102,65,15,58,34,28,153,2            // pinsrd        $0x2,(%r9,%rbx,4),%xmm3
30268  .byte  102,67,15,58,34,28,153,3            // pinsrd        $0x3,(%r9,%r11,4),%xmm3
30269  .byte  102,15,111,5,159,45,0,0             // movdqa        0x2d9f(%rip),%xmm0        # 6c80 <_sk_callback_sse41+0x10d2>
30270  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
30271  .byte  15,91,208                           // cvtdq2ps      %xmm0,%xmm2
30272  .byte  68,15,40,5,160,45,0,0               // movaps        0x2da0(%rip),%xmm8        # 6c90 <_sk_callback_sse41+0x10e2>
30273  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
30274  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
30275  .byte  102,15,56,0,5,159,45,0,0            // pshufb        0x2d9f(%rip),%xmm0        # 6ca0 <_sk_callback_sse41+0x10f2>
30276  .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
30277  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
30278  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
30279  .byte  102,15,56,0,5,155,45,0,0            // pshufb        0x2d9b(%rip),%xmm0        # 6cb0 <_sk_callback_sse41+0x1102>
30280  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
30281  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
30282  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
30283  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
30284  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
30285  .byte  72,173                              // lods          %ds:(%rsi),%rax
30286  .byte  91                                  // pop           %rbx
30287  .byte  255,224                             // jmpq          *%rax
30288
30289HIDDEN _sk_store_bgra_sse41
30290.globl _sk_store_bgra_sse41
30291FUNCTION(_sk_store_bgra_sse41)
30292_sk_store_bgra_sse41:
30293  .byte  72,173                              // lods          %ds:(%rsi),%rax
30294  .byte  72,139,0                            // mov           (%rax),%rax
30295  .byte  68,15,40,5,134,45,0,0               // movaps        0x2d86(%rip),%xmm8        # 6cc0 <_sk_callback_sse41+0x1112>
30296  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
30297  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
30298  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
30299  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
30300  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
30301  .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
30302  .byte  102,65,15,114,242,8                 // pslld         $0x8,%xmm10
30303  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
30304  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
30305  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
30306  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
30307  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
30308  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
30309  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
30310  .byte  102,65,15,114,240,24                // pslld         $0x18,%xmm8
30311  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
30312  .byte  102,69,15,235,194                   // por           %xmm10,%xmm8
30313  .byte  77,133,192                          // test          %r8,%r8
30314  .byte  117,10                              // jne           3f9a <_sk_store_bgra_sse41+0x6d>
30315  .byte  243,68,15,127,4,144                 // movdqu        %xmm8,(%rax,%rdx,4)
30316  .byte  72,173                              // lods          %ds:(%rsi),%rax
30317  .byte  255,224                             // jmpq          *%rax
30318  .byte  69,137,193                          // mov           %r8d,%r9d
30319  .byte  65,128,225,3                        // and           $0x3,%r9b
30320  .byte  65,128,249,1                        // cmp           $0x1,%r9b
30321  .byte  116,29                              // je            3fc4 <_sk_store_bgra_sse41+0x97>
30322  .byte  65,128,249,2                        // cmp           $0x2,%r9b
30323  .byte  116,15                              // je            3fbc <_sk_store_bgra_sse41+0x8f>
30324  .byte  65,128,249,3                        // cmp           $0x3,%r9b
30325  .byte  117,227                             // jne           3f96 <_sk_store_bgra_sse41+0x69>
30326  .byte  102,68,15,58,22,68,144,8,2          // pextrd        $0x2,%xmm8,0x8(%rax,%rdx,4)
30327  .byte  102,68,15,214,4,144                 // movq          %xmm8,(%rax,%rdx,4)
30328  .byte  235,210                             // jmp           3f96 <_sk_store_bgra_sse41+0x69>
30329  .byte  102,68,15,126,4,144                 // movd          %xmm8,(%rax,%rdx,4)
30330  .byte  235,202                             // jmp           3f96 <_sk_store_bgra_sse41+0x69>
30331
30332HIDDEN _sk_load_f16_sse41
30333.globl _sk_load_f16_sse41
30334FUNCTION(_sk_load_f16_sse41)
30335_sk_load_f16_sse41:
30336  .byte  72,173                              // lods          %ds:(%rsi),%rax
30337  .byte  72,139,0                            // mov           (%rax),%rax
30338  .byte  77,133,192                          // test          %r8,%r8
30339  .byte  15,133,60,1,0,0                     // jne           4116 <_sk_load_f16_sse41+0x14a>
30340  .byte  102,15,16,4,208                     // movupd        (%rax,%rdx,8),%xmm0
30341  .byte  243,15,111,76,208,16                // movdqu        0x10(%rax,%rdx,8),%xmm1
30342  .byte  102,68,15,40,200                    // movapd        %xmm0,%xmm9
30343  .byte  102,68,15,97,201                    // punpcklwd     %xmm1,%xmm9
30344  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
30345  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
30346  .byte  102,68,15,97,216                    // punpcklwd     %xmm0,%xmm11
30347  .byte  102,68,15,105,200                   // punpckhwd     %xmm0,%xmm9
30348  .byte  102,65,15,56,51,203                 // pmovzxwd      %xmm11,%xmm1
30349  .byte  102,68,15,111,5,191,44,0,0          // movdqa        0x2cbf(%rip),%xmm8        # 6cd0 <_sk_callback_sse41+0x1122>
30350  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
30351  .byte  102,65,15,219,208                   // pand          %xmm8,%xmm2
30352  .byte  102,15,239,202                      // pxor          %xmm2,%xmm1
30353  .byte  102,15,111,29,186,44,0,0            // movdqa        0x2cba(%rip),%xmm3        # 6ce0 <_sk_callback_sse41+0x1132>
30354  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
30355  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
30356  .byte  102,15,56,63,195                    // pmaxud        %xmm3,%xmm0
30357  .byte  102,15,118,193                      // pcmpeqd       %xmm1,%xmm0
30358  .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
30359  .byte  102,15,235,202                      // por           %xmm2,%xmm1
30360  .byte  102,68,15,111,21,166,44,0,0         // movdqa        0x2ca6(%rip),%xmm10        # 6cf0 <_sk_callback_sse41+0x1142>
30361  .byte  102,65,15,254,202                   // paddd         %xmm10,%xmm1
30362  .byte  102,15,219,193                      // pand          %xmm1,%xmm0
30363  .byte  102,65,15,115,219,8                 // psrldq        $0x8,%xmm11
30364  .byte  102,69,15,56,51,219                 // pmovzxwd      %xmm11,%xmm11
30365  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
30366  .byte  102,65,15,219,208                   // pand          %xmm8,%xmm2
30367  .byte  102,68,15,239,218                   // pxor          %xmm2,%xmm11
30368  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
30369  .byte  102,65,15,111,203                   // movdqa        %xmm11,%xmm1
30370  .byte  102,15,56,63,203                    // pmaxud        %xmm3,%xmm1
30371  .byte  102,65,15,118,203                   // pcmpeqd       %xmm11,%xmm1
30372  .byte  102,65,15,114,243,13                // pslld         $0xd,%xmm11
30373  .byte  102,68,15,235,218                   // por           %xmm2,%xmm11
30374  .byte  102,69,15,254,218                   // paddd         %xmm10,%xmm11
30375  .byte  102,65,15,219,203                   // pand          %xmm11,%xmm1
30376  .byte  102,69,15,56,51,217                 // pmovzxwd      %xmm9,%xmm11
30377  .byte  102,69,15,111,227                   // movdqa        %xmm11,%xmm12
30378  .byte  102,69,15,219,224                   // pand          %xmm8,%xmm12
30379  .byte  102,69,15,239,220                   // pxor          %xmm12,%xmm11
30380  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
30381  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
30382  .byte  102,15,56,63,211                    // pmaxud        %xmm3,%xmm2
30383  .byte  102,65,15,118,211                   // pcmpeqd       %xmm11,%xmm2
30384  .byte  102,65,15,114,243,13                // pslld         $0xd,%xmm11
30385  .byte  102,69,15,235,220                   // por           %xmm12,%xmm11
30386  .byte  102,69,15,254,218                   // paddd         %xmm10,%xmm11
30387  .byte  102,65,15,219,211                   // pand          %xmm11,%xmm2
30388  .byte  102,65,15,115,217,8                 // psrldq        $0x8,%xmm9
30389  .byte  102,69,15,56,51,201                 // pmovzxwd      %xmm9,%xmm9
30390  .byte  102,69,15,219,193                   // pand          %xmm9,%xmm8
30391  .byte  102,69,15,239,200                   // pxor          %xmm8,%xmm9
30392  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
30393  .byte  102,65,15,56,63,217                 // pmaxud        %xmm9,%xmm3
30394  .byte  102,65,15,118,217                   // pcmpeqd       %xmm9,%xmm3
30395  .byte  102,65,15,114,241,13                // pslld         $0xd,%xmm9
30396  .byte  102,69,15,235,200                   // por           %xmm8,%xmm9
30397  .byte  102,69,15,254,202                   // paddd         %xmm10,%xmm9
30398  .byte  102,65,15,219,217                   // pand          %xmm9,%xmm3
30399  .byte  72,173                              // lods          %ds:(%rsi),%rax
30400  .byte  255,224                             // jmpq          *%rax
30401  .byte  242,15,16,4,208                     // movsd         (%rax,%rdx,8),%xmm0
30402  .byte  73,131,248,1                        // cmp           $0x1,%r8
30403  .byte  117,13                              // jne           412e <_sk_load_f16_sse41+0x162>
30404  .byte  243,15,126,192                      // movq          %xmm0,%xmm0
30405  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
30406  .byte  233,183,254,255,255                 // jmpq          3fe5 <_sk_load_f16_sse41+0x19>
30407  .byte  102,15,22,68,208,8                  // movhpd        0x8(%rax,%rdx,8),%xmm0
30408  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
30409  .byte  73,131,248,3                        // cmp           $0x3,%r8
30410  .byte  15,130,163,254,255,255              // jb            3fe5 <_sk_load_f16_sse41+0x19>
30411  .byte  243,15,126,76,208,16                // movq          0x10(%rax,%rdx,8),%xmm1
30412  .byte  233,152,254,255,255                 // jmpq          3fe5 <_sk_load_f16_sse41+0x19>
30413
30414HIDDEN _sk_load_f16_dst_sse41
30415.globl _sk_load_f16_dst_sse41
30416FUNCTION(_sk_load_f16_dst_sse41)
30417_sk_load_f16_dst_sse41:
30418  .byte  72,173                              // lods          %ds:(%rsi),%rax
30419  .byte  72,139,0                            // mov           (%rax),%rax
30420  .byte  77,133,192                          // test          %r8,%r8
30421  .byte  15,133,60,1,0,0                     // jne           4297 <_sk_load_f16_dst_sse41+0x14a>
30422  .byte  102,15,16,36,208                    // movupd        (%rax,%rdx,8),%xmm4
30423  .byte  243,15,111,108,208,16               // movdqu        0x10(%rax,%rdx,8),%xmm5
30424  .byte  102,68,15,40,204                    // movapd        %xmm4,%xmm9
30425  .byte  102,68,15,97,205                    // punpcklwd     %xmm5,%xmm9
30426  .byte  102,15,105,229                      // punpckhwd     %xmm5,%xmm4
30427  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
30428  .byte  102,68,15,97,220                    // punpcklwd     %xmm4,%xmm11
30429  .byte  102,68,15,105,204                   // punpckhwd     %xmm4,%xmm9
30430  .byte  102,65,15,56,51,235                 // pmovzxwd      %xmm11,%xmm5
30431  .byte  102,68,15,111,5,110,43,0,0          // movdqa        0x2b6e(%rip),%xmm8        # 6d00 <_sk_callback_sse41+0x1152>
30432  .byte  102,15,111,245                      // movdqa        %xmm5,%xmm6
30433  .byte  102,65,15,219,240                   // pand          %xmm8,%xmm6
30434  .byte  102,15,239,238                      // pxor          %xmm6,%xmm5
30435  .byte  102,15,111,61,105,43,0,0            // movdqa        0x2b69(%rip),%xmm7        # 6d10 <_sk_callback_sse41+0x1162>
30436  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
30437  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
30438  .byte  102,15,56,63,231                    // pmaxud        %xmm7,%xmm4
30439  .byte  102,15,118,229                      // pcmpeqd       %xmm5,%xmm4
30440  .byte  102,15,114,245,13                   // pslld         $0xd,%xmm5
30441  .byte  102,15,235,238                      // por           %xmm6,%xmm5
30442  .byte  102,68,15,111,21,85,43,0,0          // movdqa        0x2b55(%rip),%xmm10        # 6d20 <_sk_callback_sse41+0x1172>
30443  .byte  102,65,15,254,234                   // paddd         %xmm10,%xmm5
30444  .byte  102,15,219,229                      // pand          %xmm5,%xmm4
30445  .byte  102,65,15,115,219,8                 // psrldq        $0x8,%xmm11
30446  .byte  102,69,15,56,51,219                 // pmovzxwd      %xmm11,%xmm11
30447  .byte  102,65,15,111,243                   // movdqa        %xmm11,%xmm6
30448  .byte  102,65,15,219,240                   // pand          %xmm8,%xmm6
30449  .byte  102,68,15,239,222                   // pxor          %xmm6,%xmm11
30450  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
30451  .byte  102,65,15,111,235                   // movdqa        %xmm11,%xmm5
30452  .byte  102,15,56,63,239                    // pmaxud        %xmm7,%xmm5
30453  .byte  102,65,15,118,235                   // pcmpeqd       %xmm11,%xmm5
30454  .byte  102,65,15,114,243,13                // pslld         $0xd,%xmm11
30455  .byte  102,68,15,235,222                   // por           %xmm6,%xmm11
30456  .byte  102,69,15,254,218                   // paddd         %xmm10,%xmm11
30457  .byte  102,65,15,219,235                   // pand          %xmm11,%xmm5
30458  .byte  102,69,15,56,51,217                 // pmovzxwd      %xmm9,%xmm11
30459  .byte  102,69,15,111,227                   // movdqa        %xmm11,%xmm12
30460  .byte  102,69,15,219,224                   // pand          %xmm8,%xmm12
30461  .byte  102,69,15,239,220                   // pxor          %xmm12,%xmm11
30462  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
30463  .byte  102,65,15,111,243                   // movdqa        %xmm11,%xmm6
30464  .byte  102,15,56,63,247                    // pmaxud        %xmm7,%xmm6
30465  .byte  102,65,15,118,243                   // pcmpeqd       %xmm11,%xmm6
30466  .byte  102,65,15,114,243,13                // pslld         $0xd,%xmm11
30467  .byte  102,69,15,235,220                   // por           %xmm12,%xmm11
30468  .byte  102,69,15,254,218                   // paddd         %xmm10,%xmm11
30469  .byte  102,65,15,219,243                   // pand          %xmm11,%xmm6
30470  .byte  102,65,15,115,217,8                 // psrldq        $0x8,%xmm9
30471  .byte  102,69,15,56,51,201                 // pmovzxwd      %xmm9,%xmm9
30472  .byte  102,69,15,219,193                   // pand          %xmm9,%xmm8
30473  .byte  102,69,15,239,200                   // pxor          %xmm8,%xmm9
30474  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
30475  .byte  102,65,15,56,63,249                 // pmaxud        %xmm9,%xmm7
30476  .byte  102,65,15,118,249                   // pcmpeqd       %xmm9,%xmm7
30477  .byte  102,65,15,114,241,13                // pslld         $0xd,%xmm9
30478  .byte  102,69,15,235,200                   // por           %xmm8,%xmm9
30479  .byte  102,69,15,254,202                   // paddd         %xmm10,%xmm9
30480  .byte  102,65,15,219,249                   // pand          %xmm9,%xmm7
30481  .byte  72,173                              // lods          %ds:(%rsi),%rax
30482  .byte  255,224                             // jmpq          *%rax
30483  .byte  242,15,16,36,208                    // movsd         (%rax,%rdx,8),%xmm4
30484  .byte  73,131,248,1                        // cmp           $0x1,%r8
30485  .byte  117,13                              // jne           42af <_sk_load_f16_dst_sse41+0x162>
30486  .byte  243,15,126,228                      // movq          %xmm4,%xmm4
30487  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
30488  .byte  233,183,254,255,255                 // jmpq          4166 <_sk_load_f16_dst_sse41+0x19>
30489  .byte  102,15,22,100,208,8                 // movhpd        0x8(%rax,%rdx,8),%xmm4
30490  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
30491  .byte  73,131,248,3                        // cmp           $0x3,%r8
30492  .byte  15,130,163,254,255,255              // jb            4166 <_sk_load_f16_dst_sse41+0x19>
30493  .byte  243,15,126,108,208,16               // movq          0x10(%rax,%rdx,8),%xmm5
30494  .byte  233,152,254,255,255                 // jmpq          4166 <_sk_load_f16_dst_sse41+0x19>
30495
30496HIDDEN _sk_gather_f16_sse41
30497.globl _sk_gather_f16_sse41
30498FUNCTION(_sk_gather_f16_sse41)
30499_sk_gather_f16_sse41:
30500  .byte  83                                  // push          %rbx
30501  .byte  72,173                              // lods          %ds:(%rsi),%rax
30502  .byte  76,139,8                            // mov           (%rax),%r9
30503  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
30504  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
30505  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
30506  .byte  102,15,56,64,209                    // pmulld        %xmm1,%xmm2
30507  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
30508  .byte  102,15,254,194                      // paddd         %xmm2,%xmm0
30509  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
30510  .byte  65,137,194                          // mov           %eax,%r10d
30511  .byte  72,193,232,32                       // shr           $0x20,%rax
30512  .byte  102,73,15,58,22,195,1               // pextrq        $0x1,%xmm0,%r11
30513  .byte  68,137,219                          // mov           %r11d,%ebx
30514  .byte  73,193,235,32                       // shr           $0x20,%r11
30515  .byte  243,67,15,126,4,217                 // movq          (%r9,%r11,8),%xmm0
30516  .byte  243,65,15,126,12,217                // movq          (%r9,%rbx,8),%xmm1
30517  .byte  102,15,108,200                      // punpcklqdq    %xmm0,%xmm1
30518  .byte  243,65,15,126,4,193                 // movq          (%r9,%rax,8),%xmm0
30519  .byte  243,67,15,126,20,209                // movq          (%r9,%r10,8),%xmm2
30520  .byte  102,15,108,208                      // punpcklqdq    %xmm0,%xmm2
30521  .byte  102,68,15,111,202                   // movdqa        %xmm2,%xmm9
30522  .byte  102,68,15,97,201                    // punpcklwd     %xmm1,%xmm9
30523  .byte  102,15,105,209                      // punpckhwd     %xmm1,%xmm2
30524  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
30525  .byte  102,68,15,97,218                    // punpcklwd     %xmm2,%xmm11
30526  .byte  102,68,15,105,202                   // punpckhwd     %xmm2,%xmm9
30527  .byte  102,65,15,56,51,203                 // pmovzxwd      %xmm11,%xmm1
30528  .byte  102,68,15,111,5,219,41,0,0          // movdqa        0x29db(%rip),%xmm8        # 6d30 <_sk_callback_sse41+0x1182>
30529  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
30530  .byte  102,65,15,219,208                   // pand          %xmm8,%xmm2
30531  .byte  102,15,239,202                      // pxor          %xmm2,%xmm1
30532  .byte  102,15,111,29,214,41,0,0            // movdqa        0x29d6(%rip),%xmm3        # 6d40 <_sk_callback_sse41+0x1192>
30533  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
30534  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
30535  .byte  102,15,56,63,195                    // pmaxud        %xmm3,%xmm0
30536  .byte  102,15,118,193                      // pcmpeqd       %xmm1,%xmm0
30537  .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
30538  .byte  102,15,235,202                      // por           %xmm2,%xmm1
30539  .byte  102,68,15,111,21,194,41,0,0         // movdqa        0x29c2(%rip),%xmm10        # 6d50 <_sk_callback_sse41+0x11a2>
30540  .byte  102,65,15,254,202                   // paddd         %xmm10,%xmm1
30541  .byte  102,15,219,193                      // pand          %xmm1,%xmm0
30542  .byte  102,65,15,115,219,8                 // psrldq        $0x8,%xmm11
30543  .byte  102,69,15,56,51,219                 // pmovzxwd      %xmm11,%xmm11
30544  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
30545  .byte  102,65,15,219,208                   // pand          %xmm8,%xmm2
30546  .byte  102,68,15,239,218                   // pxor          %xmm2,%xmm11
30547  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
30548  .byte  102,65,15,111,203                   // movdqa        %xmm11,%xmm1
30549  .byte  102,15,56,63,203                    // pmaxud        %xmm3,%xmm1
30550  .byte  102,65,15,118,203                   // pcmpeqd       %xmm11,%xmm1
30551  .byte  102,65,15,114,243,13                // pslld         $0xd,%xmm11
30552  .byte  102,68,15,235,218                   // por           %xmm2,%xmm11
30553  .byte  102,69,15,254,218                   // paddd         %xmm10,%xmm11
30554  .byte  102,65,15,219,203                   // pand          %xmm11,%xmm1
30555  .byte  102,69,15,56,51,217                 // pmovzxwd      %xmm9,%xmm11
30556  .byte  102,69,15,111,227                   // movdqa        %xmm11,%xmm12
30557  .byte  102,69,15,219,224                   // pand          %xmm8,%xmm12
30558  .byte  102,69,15,239,220                   // pxor          %xmm12,%xmm11
30559  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
30560  .byte  102,65,15,111,211                   // movdqa        %xmm11,%xmm2
30561  .byte  102,15,56,63,211                    // pmaxud        %xmm3,%xmm2
30562  .byte  102,65,15,118,211                   // pcmpeqd       %xmm11,%xmm2
30563  .byte  102,65,15,114,243,13                // pslld         $0xd,%xmm11
30564  .byte  102,69,15,235,220                   // por           %xmm12,%xmm11
30565  .byte  102,69,15,254,218                   // paddd         %xmm10,%xmm11
30566  .byte  102,65,15,219,211                   // pand          %xmm11,%xmm2
30567  .byte  102,65,15,115,217,8                 // psrldq        $0x8,%xmm9
30568  .byte  102,69,15,56,51,201                 // pmovzxwd      %xmm9,%xmm9
30569  .byte  102,69,15,219,193                   // pand          %xmm9,%xmm8
30570  .byte  102,69,15,239,200                   // pxor          %xmm8,%xmm9
30571  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
30572  .byte  102,65,15,56,63,217                 // pmaxud        %xmm9,%xmm3
30573  .byte  102,65,15,118,217                   // pcmpeqd       %xmm9,%xmm3
30574  .byte  102,65,15,114,241,13                // pslld         $0xd,%xmm9
30575  .byte  102,69,15,235,200                   // por           %xmm8,%xmm9
30576  .byte  102,69,15,254,202                   // paddd         %xmm10,%xmm9
30577  .byte  102,65,15,219,217                   // pand          %xmm9,%xmm3
30578  .byte  72,173                              // lods          %ds:(%rsi),%rax
30579  .byte  91                                  // pop           %rbx
30580  .byte  255,224                             // jmpq          *%rax
30581
30582HIDDEN _sk_store_f16_sse41
30583.globl _sk_store_f16_sse41
30584FUNCTION(_sk_store_f16_sse41)
30585_sk_store_f16_sse41:
30586  .byte  72,173                              // lods          %ds:(%rsi),%rax
30587  .byte  72,139,0                            // mov           (%rax),%rax
30588  .byte  102,68,15,111,21,247,40,0,0         // movdqa        0x28f7(%rip),%xmm10        # 6d60 <_sk_callback_sse41+0x11b2>
30589  .byte  102,68,15,111,216                   // movdqa        %xmm0,%xmm11
30590  .byte  102,69,15,219,218                   // pand          %xmm10,%xmm11
30591  .byte  102,68,15,111,232                   // movdqa        %xmm0,%xmm13
30592  .byte  102,69,15,239,235                   // pxor          %xmm11,%xmm13
30593  .byte  102,68,15,111,13,234,40,0,0         // movdqa        0x28ea(%rip),%xmm9        # 6d70 <_sk_callback_sse41+0x11c2>
30594  .byte  102,65,15,114,211,16                // psrld         $0x10,%xmm11
30595  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
30596  .byte  102,69,15,102,197                   // pcmpgtd       %xmm13,%xmm8
30597  .byte  102,65,15,114,213,13                // psrld         $0xd,%xmm13
30598  .byte  102,68,15,111,37,219,40,0,0         // movdqa        0x28db(%rip),%xmm12        # 6d80 <_sk_callback_sse41+0x11d2>
30599  .byte  102,69,15,235,220                   // por           %xmm12,%xmm11
30600  .byte  102,69,15,254,221                   // paddd         %xmm13,%xmm11
30601  .byte  102,69,15,223,195                   // pandn         %xmm11,%xmm8
30602  .byte  102,69,15,56,43,192                 // packusdw      %xmm8,%xmm8
30603  .byte  102,68,15,111,217                   // movdqa        %xmm1,%xmm11
30604  .byte  102,69,15,219,218                   // pand          %xmm10,%xmm11
30605  .byte  102,68,15,111,241                   // movdqa        %xmm1,%xmm14
30606  .byte  102,69,15,239,243                   // pxor          %xmm11,%xmm14
30607  .byte  102,65,15,114,211,16                // psrld         $0x10,%xmm11
30608  .byte  102,69,15,111,233                   // movdqa        %xmm9,%xmm13
30609  .byte  102,69,15,102,238                   // pcmpgtd       %xmm14,%xmm13
30610  .byte  102,65,15,114,214,13                // psrld         $0xd,%xmm14
30611  .byte  102,69,15,235,220                   // por           %xmm12,%xmm11
30612  .byte  102,69,15,254,222                   // paddd         %xmm14,%xmm11
30613  .byte  102,69,15,223,235                   // pandn         %xmm11,%xmm13
30614  .byte  102,69,15,56,43,237                 // packusdw      %xmm13,%xmm13
30615  .byte  102,68,15,111,242                   // movdqa        %xmm2,%xmm14
30616  .byte  102,69,15,219,242                   // pand          %xmm10,%xmm14
30617  .byte  102,68,15,111,250                   // movdqa        %xmm2,%xmm15
30618  .byte  102,69,15,239,254                   // pxor          %xmm14,%xmm15
30619  .byte  102,65,15,114,214,16                // psrld         $0x10,%xmm14
30620  .byte  102,69,15,111,217                   // movdqa        %xmm9,%xmm11
30621  .byte  102,69,15,102,223                   // pcmpgtd       %xmm15,%xmm11
30622  .byte  102,65,15,114,215,13                // psrld         $0xd,%xmm15
30623  .byte  102,69,15,235,244                   // por           %xmm12,%xmm14
30624  .byte  102,69,15,254,247                   // paddd         %xmm15,%xmm14
30625  .byte  102,69,15,223,222                   // pandn         %xmm14,%xmm11
30626  .byte  102,69,15,56,43,219                 // packusdw      %xmm11,%xmm11
30627  .byte  102,68,15,219,211                   // pand          %xmm3,%xmm10
30628  .byte  102,68,15,111,243                   // movdqa        %xmm3,%xmm14
30629  .byte  102,69,15,239,242                   // pxor          %xmm10,%xmm14
30630  .byte  102,65,15,114,210,16                // psrld         $0x10,%xmm10
30631  .byte  102,69,15,102,206                   // pcmpgtd       %xmm14,%xmm9
30632  .byte  102,65,15,114,214,13                // psrld         $0xd,%xmm14
30633  .byte  102,69,15,235,212                   // por           %xmm12,%xmm10
30634  .byte  102,69,15,254,214                   // paddd         %xmm14,%xmm10
30635  .byte  102,69,15,223,202                   // pandn         %xmm10,%xmm9
30636  .byte  102,69,15,56,43,201                 // packusdw      %xmm9,%xmm9
30637  .byte  102,69,15,97,197                    // punpcklwd     %xmm13,%xmm8
30638  .byte  102,69,15,97,217                    // punpcklwd     %xmm9,%xmm11
30639  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
30640  .byte  102,69,15,98,203                    // punpckldq     %xmm11,%xmm9
30641  .byte  77,133,192                          // test          %r8,%r8
30642  .byte  117,21                              // jne           459b <_sk_store_f16_sse41+0x140>
30643  .byte  68,15,17,12,208                     // movups        %xmm9,(%rax,%rdx,8)
30644  .byte  102,69,15,106,195                   // punpckhdq     %xmm11,%xmm8
30645  .byte  243,68,15,127,68,208,16             // movdqu        %xmm8,0x10(%rax,%rdx,8)
30646  .byte  72,173                              // lods          %ds:(%rsi),%rax
30647  .byte  255,224                             // jmpq          *%rax
30648  .byte  102,68,15,214,12,208                // movq          %xmm9,(%rax,%rdx,8)
30649  .byte  73,131,248,1                        // cmp           $0x1,%r8
30650  .byte  116,240                             // je            4597 <_sk_store_f16_sse41+0x13c>
30651  .byte  102,68,15,23,76,208,8               // movhpd        %xmm9,0x8(%rax,%rdx,8)
30652  .byte  73,131,248,3                        // cmp           $0x3,%r8
30653  .byte  114,227                             // jb            4597 <_sk_store_f16_sse41+0x13c>
30654  .byte  102,69,15,106,195                   // punpckhdq     %xmm11,%xmm8
30655  .byte  102,68,15,214,68,208,16             // movq          %xmm8,0x10(%rax,%rdx,8)
30656  .byte  235,213                             // jmp           4597 <_sk_store_f16_sse41+0x13c>
30657
30658HIDDEN _sk_load_u16_be_sse41
30659.globl _sk_load_u16_be_sse41
30660FUNCTION(_sk_load_u16_be_sse41)
30661_sk_load_u16_be_sse41:
30662  .byte  72,173                              // lods          %ds:(%rsi),%rax
30663  .byte  76,139,8                            // mov           (%rax),%r9
30664  .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
30665  .byte  77,133,192                          // test          %r8,%r8
30666  .byte  15,133,185,0,0,0                    // jne           4691 <_sk_load_u16_be_sse41+0xcf>
30667  .byte  102,65,15,16,4,65                   // movupd        (%r9,%rax,2),%xmm0
30668  .byte  243,65,15,111,76,65,16              // movdqu        0x10(%r9,%rax,2),%xmm1
30669  .byte  102,15,40,208                       // movapd        %xmm0,%xmm2
30670  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
30671  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
30672  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
30673  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
30674  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
30675  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
30676  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
30677  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
30678  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
30679  .byte  102,15,235,200                      // por           %xmm0,%xmm1
30680  .byte  102,15,56,51,193                    // pmovzxwd      %xmm1,%xmm0
30681  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
30682  .byte  68,15,40,5,108,39,0,0               // movaps        0x276c(%rip),%xmm8        # 6d90 <_sk_callback_sse41+0x11e2>
30683  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
30684  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
30685  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
30686  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
30687  .byte  102,15,235,217                      // por           %xmm1,%xmm3
30688  .byte  102,15,56,51,203                    // pmovzxwd      %xmm3,%xmm1
30689  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
30690  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
30691  .byte  102,68,15,111,202                   // movdqa        %xmm2,%xmm9
30692  .byte  102,65,15,113,241,8                 // psllw         $0x8,%xmm9
30693  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
30694  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
30695  .byte  102,65,15,235,209                   // por           %xmm9,%xmm2
30696  .byte  102,15,56,51,210                    // pmovzxwd      %xmm2,%xmm2
30697  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
30698  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
30699  .byte  102,68,15,111,203                   // movdqa        %xmm3,%xmm9
30700  .byte  102,65,15,113,241,8                 // psllw         $0x8,%xmm9
30701  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
30702  .byte  102,65,15,235,217                   // por           %xmm9,%xmm3
30703  .byte  102,15,56,51,219                    // pmovzxwd      %xmm3,%xmm3
30704  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
30705  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
30706  .byte  72,173                              // lods          %ds:(%rsi),%rax
30707  .byte  255,224                             // jmpq          *%rax
30708  .byte  242,65,15,16,4,65                   // movsd         (%r9,%rax,2),%xmm0
30709  .byte  73,131,248,1                        // cmp           $0x1,%r8
30710  .byte  117,13                              // jne           46aa <_sk_load_u16_be_sse41+0xe8>
30711  .byte  243,15,126,192                      // movq          %xmm0,%xmm0
30712  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
30713  .byte  233,59,255,255,255                  // jmpq          45e5 <_sk_load_u16_be_sse41+0x23>
30714  .byte  102,65,15,22,68,65,8                // movhpd        0x8(%r9,%rax,2),%xmm0
30715  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
30716  .byte  73,131,248,3                        // cmp           $0x3,%r8
30717  .byte  15,130,38,255,255,255               // jb            45e5 <_sk_load_u16_be_sse41+0x23>
30718  .byte  243,65,15,126,76,65,16              // movq          0x10(%r9,%rax,2),%xmm1
30719  .byte  233,26,255,255,255                  // jmpq          45e5 <_sk_load_u16_be_sse41+0x23>
30720
30721HIDDEN _sk_load_rgb_u16_be_sse41
30722.globl _sk_load_rgb_u16_be_sse41
30723FUNCTION(_sk_load_rgb_u16_be_sse41)
30724_sk_load_rgb_u16_be_sse41:
30725  .byte  72,173                              // lods          %ds:(%rsi),%rax
30726  .byte  76,139,8                            // mov           (%rax),%r9
30727  .byte  72,141,4,82                         // lea           (%rdx,%rdx,2),%rax
30728  .byte  77,133,192                          // test          %r8,%r8
30729  .byte  15,133,170,0,0,0                    // jne           4787 <_sk_load_rgb_u16_be_sse41+0xbc>
30730  .byte  243,65,15,111,20,65                 // movdqu        (%r9,%rax,2),%xmm2
30731  .byte  243,65,15,111,92,65,8               // movdqu        0x8(%r9,%rax,2),%xmm3
30732  .byte  102,15,115,219,4                    // psrldq        $0x4,%xmm3
30733  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
30734  .byte  102,15,115,216,6                    // psrldq        $0x6,%xmm0
30735  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
30736  .byte  102,15,115,217,6                    // psrldq        $0x6,%xmm1
30737  .byte  102,15,97,211                       // punpcklwd     %xmm3,%xmm2
30738  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
30739  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
30740  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
30741  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
30742  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
30743  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
30744  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
30745  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
30746  .byte  102,15,235,200                      // por           %xmm0,%xmm1
30747  .byte  102,15,56,51,193                    // pmovzxwd      %xmm1,%xmm0
30748  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
30749  .byte  68,15,40,5,100,38,0,0               // movaps        0x2664(%rip),%xmm8        # 6da0 <_sk_callback_sse41+0x11f2>
30750  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
30751  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
30752  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
30753  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
30754  .byte  102,15,235,217                      // por           %xmm1,%xmm3
30755  .byte  102,15,56,51,203                    // pmovzxwd      %xmm3,%xmm1
30756  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
30757  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
30758  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
30759  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
30760  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
30761  .byte  102,15,235,211                      // por           %xmm3,%xmm2
30762  .byte  102,15,56,51,210                    // pmovzxwd      %xmm2,%xmm2
30763  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
30764  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
30765  .byte  72,173                              // lods          %ds:(%rsi),%rax
30766  .byte  15,40,29,43,38,0,0                  // movaps        0x262b(%rip),%xmm3        # 6db0 <_sk_callback_sse41+0x1202>
30767  .byte  255,224                             // jmpq          *%rax
30768  .byte  102,65,15,110,20,65                 // movd          (%r9,%rax,2),%xmm2
30769  .byte  102,65,15,196,84,65,4,2             // pinsrw        $0x2,0x4(%r9,%rax,2),%xmm2
30770  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
30771  .byte  73,131,248,1                        // cmp           $0x1,%r8
30772  .byte  117,13                              // jne           47ac <_sk_load_rgb_u16_be_sse41+0xe1>
30773  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
30774  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
30775  .byte  233,85,255,255,255                  // jmpq          4701 <_sk_load_rgb_u16_be_sse41+0x36>
30776  .byte  102,65,15,110,68,65,6               // movd          0x6(%r9,%rax,2),%xmm0
30777  .byte  102,65,15,196,68,65,10,2            // pinsrw        $0x2,0xa(%r9,%rax,2),%xmm0
30778  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
30779  .byte  73,131,248,3                        // cmp           $0x3,%r8
30780  .byte  114,24                              // jb            47dd <_sk_load_rgb_u16_be_sse41+0x112>
30781  .byte  102,65,15,110,92,65,12              // movd          0xc(%r9,%rax,2),%xmm3
30782  .byte  102,65,15,196,92,65,16,2            // pinsrw        $0x2,0x10(%r9,%rax,2),%xmm3
30783  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
30784  .byte  233,36,255,255,255                  // jmpq          4701 <_sk_load_rgb_u16_be_sse41+0x36>
30785  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
30786  .byte  233,27,255,255,255                  // jmpq          4701 <_sk_load_rgb_u16_be_sse41+0x36>
30787
30788HIDDEN _sk_store_u16_be_sse41
30789.globl _sk_store_u16_be_sse41
30790FUNCTION(_sk_store_u16_be_sse41)
30791_sk_store_u16_be_sse41:
30792  .byte  72,173                              // lods          %ds:(%rsi),%rax
30793  .byte  76,139,8                            // mov           (%rax),%r9
30794  .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
30795  .byte  68,15,40,21,197,37,0,0              // movaps        0x25c5(%rip),%xmm10        # 6dc0 <_sk_callback_sse41+0x1212>
30796  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
30797  .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
30798  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
30799  .byte  102,69,15,56,43,192                 // packusdw      %xmm8,%xmm8
30800  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
30801  .byte  102,65,15,113,241,8                 // psllw         $0x8,%xmm9
30802  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
30803  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
30804  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
30805  .byte  69,15,89,202                        // mulps         %xmm10,%xmm9
30806  .byte  102,69,15,91,217                    // cvtps2dq      %xmm9,%xmm11
30807  .byte  102,69,15,56,43,219                 // packusdw      %xmm11,%xmm11
30808  .byte  102,69,15,111,203                   // movdqa        %xmm11,%xmm9
30809  .byte  102,65,15,113,241,8                 // psllw         $0x8,%xmm9
30810  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
30811  .byte  102,69,15,235,217                   // por           %xmm9,%xmm11
30812  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
30813  .byte  69,15,89,202                        // mulps         %xmm10,%xmm9
30814  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
30815  .byte  102,69,15,56,43,201                 // packusdw      %xmm9,%xmm9
30816  .byte  102,69,15,111,225                   // movdqa        %xmm9,%xmm12
30817  .byte  102,65,15,113,244,8                 // psllw         $0x8,%xmm12
30818  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
30819  .byte  102,69,15,235,204                   // por           %xmm12,%xmm9
30820  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
30821  .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
30822  .byte  102,69,15,56,43,210                 // packusdw      %xmm10,%xmm10
30823  .byte  102,69,15,111,226                   // movdqa        %xmm10,%xmm12
30824  .byte  102,65,15,113,244,8                 // psllw         $0x8,%xmm12
30825  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
30826  .byte  102,69,15,235,212                   // por           %xmm12,%xmm10
30827  .byte  102,69,15,97,195                    // punpcklwd     %xmm11,%xmm8
30828  .byte  102,69,15,97,202                    // punpcklwd     %xmm10,%xmm9
30829  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
30830  .byte  102,69,15,98,209                    // punpckldq     %xmm9,%xmm10
30831  .byte  77,133,192                          // test          %r8,%r8
30832  .byte  117,21                              // jne           48c9 <_sk_store_u16_be_sse41+0xe3>
30833  .byte  69,15,17,20,65                      // movups        %xmm10,(%r9,%rax,2)
30834  .byte  102,69,15,106,193                   // punpckhdq     %xmm9,%xmm8
30835  .byte  243,69,15,127,68,65,16              // movdqu        %xmm8,0x10(%r9,%rax,2)
30836  .byte  72,173                              // lods          %ds:(%rsi),%rax
30837  .byte  255,224                             // jmpq          *%rax
30838  .byte  102,69,15,214,20,65                 // movq          %xmm10,(%r9,%rax,2)
30839  .byte  73,131,248,1                        // cmp           $0x1,%r8
30840  .byte  116,240                             // je            48c5 <_sk_store_u16_be_sse41+0xdf>
30841  .byte  102,69,15,23,84,65,8                // movhpd        %xmm10,0x8(%r9,%rax,2)
30842  .byte  73,131,248,3                        // cmp           $0x3,%r8
30843  .byte  114,227                             // jb            48c5 <_sk_store_u16_be_sse41+0xdf>
30844  .byte  102,69,15,106,193                   // punpckhdq     %xmm9,%xmm8
30845  .byte  102,69,15,214,68,65,16              // movq          %xmm8,0x10(%r9,%rax,2)
30846  .byte  235,213                             // jmp           48c5 <_sk_store_u16_be_sse41+0xdf>
30847
30848HIDDEN _sk_load_f32_sse41
30849.globl _sk_load_f32_sse41
30850FUNCTION(_sk_load_f32_sse41)
30851_sk_load_f32_sse41:
30852  .byte  72,173                              // lods          %ds:(%rsi),%rax
30853  .byte  76,139,16                           // mov           (%rax),%r10
30854  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
30855  .byte  72,137,208                          // mov           %rdx,%rax
30856  .byte  72,193,224,4                        // shl           $0x4,%rax
30857  .byte  69,15,16,4,2                        // movups        (%r10,%rax,1),%xmm8
30858  .byte  77,133,192                          // test          %r8,%r8
30859  .byte  117,66                              // jne           4950 <_sk_load_f32_sse41+0x60>
30860  .byte  67,15,16,68,138,16                  // movups        0x10(%r10,%r9,4),%xmm0
30861  .byte  67,15,16,92,138,32                  // movups        0x20(%r10,%r9,4),%xmm3
30862  .byte  71,15,16,76,138,48                  // movups        0x30(%r10,%r9,4),%xmm9
30863  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
30864  .byte  15,20,208                           // unpcklps      %xmm0,%xmm2
30865  .byte  15,40,203                           // movaps        %xmm3,%xmm1
30866  .byte  65,15,20,201                        // unpcklps      %xmm9,%xmm1
30867  .byte  68,15,21,192                        // unpckhps      %xmm0,%xmm8
30868  .byte  65,15,21,217                        // unpckhps      %xmm9,%xmm3
30869  .byte  15,40,194                           // movaps        %xmm2,%xmm0
30870  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
30871  .byte  15,18,202                           // movhlps       %xmm2,%xmm1
30872  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
30873  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
30874  .byte  65,15,18,216                        // movhlps       %xmm8,%xmm3
30875  .byte  72,173                              // lods          %ds:(%rsi),%rax
30876  .byte  255,224                             // jmpq          *%rax
30877  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
30878  .byte  73,131,248,1                        // cmp           $0x1,%r8
30879  .byte  117,8                               // jne           4962 <_sk_load_f32_sse41+0x72>
30880  .byte  15,87,219                           // xorps         %xmm3,%xmm3
30881  .byte  15,87,192                           // xorps         %xmm0,%xmm0
30882  .byte  235,190                             // jmp           4920 <_sk_load_f32_sse41+0x30>
30883  .byte  67,15,16,68,138,16                  // movups        0x10(%r10,%r9,4),%xmm0
30884  .byte  73,131,248,3                        // cmp           $0x3,%r8
30885  .byte  114,8                               // jb            4976 <_sk_load_f32_sse41+0x86>
30886  .byte  67,15,16,92,138,32                  // movups        0x20(%r10,%r9,4),%xmm3
30887  .byte  235,170                             // jmp           4920 <_sk_load_f32_sse41+0x30>
30888  .byte  15,87,219                           // xorps         %xmm3,%xmm3
30889  .byte  235,165                             // jmp           4920 <_sk_load_f32_sse41+0x30>
30890
30891HIDDEN _sk_load_f32_dst_sse41
30892.globl _sk_load_f32_dst_sse41
30893FUNCTION(_sk_load_f32_dst_sse41)
30894_sk_load_f32_dst_sse41:
30895  .byte  72,173                              // lods          %ds:(%rsi),%rax
30896  .byte  76,139,16                           // mov           (%rax),%r10
30897  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
30898  .byte  72,137,208                          // mov           %rdx,%rax
30899  .byte  72,193,224,4                        // shl           $0x4,%rax
30900  .byte  69,15,16,4,2                        // movups        (%r10,%rax,1),%xmm8
30901  .byte  77,133,192                          // test          %r8,%r8
30902  .byte  117,66                              // jne           49db <_sk_load_f32_dst_sse41+0x60>
30903  .byte  67,15,16,100,138,16                 // movups        0x10(%r10,%r9,4),%xmm4
30904  .byte  67,15,16,124,138,32                 // movups        0x20(%r10,%r9,4),%xmm7
30905  .byte  71,15,16,76,138,48                  // movups        0x30(%r10,%r9,4),%xmm9
30906  .byte  65,15,40,240                        // movaps        %xmm8,%xmm6
30907  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
30908  .byte  15,40,239                           // movaps        %xmm7,%xmm5
30909  .byte  65,15,20,233                        // unpcklps      %xmm9,%xmm5
30910  .byte  68,15,21,196                        // unpckhps      %xmm4,%xmm8
30911  .byte  65,15,21,249                        // unpckhps      %xmm9,%xmm7
30912  .byte  15,40,230                           // movaps        %xmm6,%xmm4
30913  .byte  102,15,20,229                       // unpcklpd      %xmm5,%xmm4
30914  .byte  15,18,238                           // movhlps       %xmm6,%xmm5
30915  .byte  65,15,40,240                        // movaps        %xmm8,%xmm6
30916  .byte  102,15,20,247                       // unpcklpd      %xmm7,%xmm6
30917  .byte  65,15,18,248                        // movhlps       %xmm8,%xmm7
30918  .byte  72,173                              // lods          %ds:(%rsi),%rax
30919  .byte  255,224                             // jmpq          *%rax
30920  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
30921  .byte  73,131,248,1                        // cmp           $0x1,%r8
30922  .byte  117,8                               // jne           49ed <_sk_load_f32_dst_sse41+0x72>
30923  .byte  15,87,255                           // xorps         %xmm7,%xmm7
30924  .byte  15,87,228                           // xorps         %xmm4,%xmm4
30925  .byte  235,190                             // jmp           49ab <_sk_load_f32_dst_sse41+0x30>
30926  .byte  67,15,16,100,138,16                 // movups        0x10(%r10,%r9,4),%xmm4
30927  .byte  73,131,248,3                        // cmp           $0x3,%r8
30928  .byte  114,8                               // jb            4a01 <_sk_load_f32_dst_sse41+0x86>
30929  .byte  67,15,16,124,138,32                 // movups        0x20(%r10,%r9,4),%xmm7
30930  .byte  235,170                             // jmp           49ab <_sk_load_f32_dst_sse41+0x30>
30931  .byte  15,87,255                           // xorps         %xmm7,%xmm7
30932  .byte  235,165                             // jmp           49ab <_sk_load_f32_dst_sse41+0x30>
30933
30934HIDDEN _sk_store_f32_sse41
30935.globl _sk_store_f32_sse41
30936FUNCTION(_sk_store_f32_sse41)
30937_sk_store_f32_sse41:
30938  .byte  72,173                              // lods          %ds:(%rsi),%rax
30939  .byte  76,139,16                           // mov           (%rax),%r10
30940  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
30941  .byte  72,137,208                          // mov           %rdx,%rax
30942  .byte  72,193,224,4                        // shl           $0x4,%rax
30943  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
30944  .byte  68,15,20,201                        // unpcklps      %xmm1,%xmm9
30945  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
30946  .byte  68,15,20,195                        // unpcklps      %xmm3,%xmm8
30947  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
30948  .byte  68,15,21,209                        // unpckhps      %xmm1,%xmm10
30949  .byte  68,15,40,218                        // movaps        %xmm2,%xmm11
30950  .byte  68,15,21,219                        // unpckhps      %xmm3,%xmm11
30951  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
30952  .byte  102,69,15,20,224                    // unpcklpd      %xmm8,%xmm12
30953  .byte  69,15,18,193                        // movhlps       %xmm9,%xmm8
30954  .byte  69,15,40,202                        // movaps        %xmm10,%xmm9
30955  .byte  102,69,15,20,203                    // unpcklpd      %xmm11,%xmm9
30956  .byte  102,69,15,17,36,2                   // movupd        %xmm12,(%r10,%rax,1)
30957  .byte  77,133,192                          // test          %r8,%r8
30958  .byte  117,29                              // jne           4a78 <_sk_store_f32_sse41+0x72>
30959  .byte  102,69,15,21,211                    // unpckhpd      %xmm11,%xmm10
30960  .byte  71,15,17,68,138,16                  // movups        %xmm8,0x10(%r10,%r9,4)
30961  .byte  102,71,15,17,76,138,32              // movupd        %xmm9,0x20(%r10,%r9,4)
30962  .byte  102,71,15,17,84,138,48              // movupd        %xmm10,0x30(%r10,%r9,4)
30963  .byte  72,173                              // lods          %ds:(%rsi),%rax
30964  .byte  255,224                             // jmpq          *%rax
30965  .byte  73,131,248,1                        // cmp           $0x1,%r8
30966  .byte  116,246                             // je            4a74 <_sk_store_f32_sse41+0x6e>
30967  .byte  71,15,17,68,138,16                  // movups        %xmm8,0x10(%r10,%r9,4)
30968  .byte  73,131,248,3                        // cmp           $0x3,%r8
30969  .byte  114,234                             // jb            4a74 <_sk_store_f32_sse41+0x6e>
30970  .byte  102,71,15,17,76,138,32              // movupd        %xmm9,0x20(%r10,%r9,4)
30971  .byte  235,225                             // jmp           4a74 <_sk_store_f32_sse41+0x6e>
30972
30973HIDDEN _sk_clamp_x_sse41
30974.globl _sk_clamp_x_sse41
30975FUNCTION(_sk_clamp_x_sse41)
30976_sk_clamp_x_sse41:
30977  .byte  72,173                              // lods          %ds:(%rsi),%rax
30978  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
30979  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
30980  .byte  243,68,15,16,8                      // movss         (%rax),%xmm9
30981  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
30982  .byte  102,15,118,192                      // pcmpeqd       %xmm0,%xmm0
30983  .byte  102,65,15,254,193                   // paddd         %xmm9,%xmm0
30984  .byte  68,15,93,192                        // minps         %xmm0,%xmm8
30985  .byte  72,173                              // lods          %ds:(%rsi),%rax
30986  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
30987  .byte  255,224                             // jmpq          *%rax
30988
30989HIDDEN _sk_clamp_y_sse41
30990.globl _sk_clamp_y_sse41
30991FUNCTION(_sk_clamp_y_sse41)
30992_sk_clamp_y_sse41:
30993  .byte  72,173                              // lods          %ds:(%rsi),%rax
30994  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
30995  .byte  68,15,95,193                        // maxps         %xmm1,%xmm8
30996  .byte  243,68,15,16,8                      // movss         (%rax),%xmm9
30997  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
30998  .byte  102,15,118,201                      // pcmpeqd       %xmm1,%xmm1
30999  .byte  102,65,15,254,201                   // paddd         %xmm9,%xmm1
31000  .byte  68,15,93,193                        // minps         %xmm1,%xmm8
31001  .byte  72,173                              // lods          %ds:(%rsi),%rax
31002  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
31003  .byte  255,224                             // jmpq          *%rax
31004
31005HIDDEN _sk_repeat_x_sse41
31006.globl _sk_repeat_x_sse41
31007FUNCTION(_sk_repeat_x_sse41)
31008_sk_repeat_x_sse41:
31009  .byte  72,173                              // lods          %ds:(%rsi),%rax
31010  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
31011  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
31012  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31013  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
31014  .byte  102,69,15,58,8,201,1                // roundps       $0x1,%xmm9,%xmm9
31015  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
31016  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
31017  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
31018  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
31019  .byte  102,69,15,254,200                   // paddd         %xmm8,%xmm9
31020  .byte  65,15,93,193                        // minps         %xmm9,%xmm0
31021  .byte  72,173                              // lods          %ds:(%rsi),%rax
31022  .byte  255,224                             // jmpq          *%rax
31023
31024HIDDEN _sk_repeat_y_sse41
31025.globl _sk_repeat_y_sse41
31026FUNCTION(_sk_repeat_y_sse41)
31027_sk_repeat_y_sse41:
31028  .byte  72,173                              // lods          %ds:(%rsi),%rax
31029  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
31030  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
31031  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31032  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
31033  .byte  102,69,15,58,8,201,1                // roundps       $0x1,%xmm9,%xmm9
31034  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
31035  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
31036  .byte  65,15,92,201                        // subps         %xmm9,%xmm1
31037  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
31038  .byte  102,69,15,254,200                   // paddd         %xmm8,%xmm9
31039  .byte  65,15,93,201                        // minps         %xmm9,%xmm1
31040  .byte  72,173                              // lods          %ds:(%rsi),%rax
31041  .byte  255,224                             // jmpq          *%rax
31042
31043HIDDEN _sk_mirror_x_sse41
31044.globl _sk_mirror_x_sse41
31045FUNCTION(_sk_mirror_x_sse41)
31046_sk_mirror_x_sse41:
31047  .byte  72,173                              // lods          %ds:(%rsi),%rax
31048  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
31049  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
31050  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
31051  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31052  .byte  65,15,92,194                        // subps         %xmm10,%xmm0
31053  .byte  243,69,15,88,192                    // addss         %xmm8,%xmm8
31054  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
31055  .byte  243,68,15,89,13,166,38,0,0          // mulss         0x26a6(%rip),%xmm9        # 7230 <_sk_callback_sse41+0x1682>
31056  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31057  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
31058  .byte  102,69,15,58,8,201,1                // roundps       $0x1,%xmm9,%xmm9
31059  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
31060  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
31061  .byte  65,15,92,194                        // subps         %xmm10,%xmm0
31062  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
31063  .byte  68,15,92,192                        // subps         %xmm0,%xmm8
31064  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
31065  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
31066  .byte  102,69,15,254,194                   // paddd         %xmm10,%xmm8
31067  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
31068  .byte  72,173                              // lods          %ds:(%rsi),%rax
31069  .byte  255,224                             // jmpq          *%rax
31070
31071HIDDEN _sk_mirror_y_sse41
31072.globl _sk_mirror_y_sse41
31073FUNCTION(_sk_mirror_y_sse41)
31074_sk_mirror_y_sse41:
31075  .byte  72,173                              // lods          %ds:(%rsi),%rax
31076  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
31077  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
31078  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
31079  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31080  .byte  65,15,92,202                        // subps         %xmm10,%xmm1
31081  .byte  243,69,15,88,192                    // addss         %xmm8,%xmm8
31082  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
31083  .byte  243,68,15,89,13,67,38,0,0           // mulss         0x2643(%rip),%xmm9        # 7234 <_sk_callback_sse41+0x1686>
31084  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31085  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
31086  .byte  102,69,15,58,8,201,1                // roundps       $0x1,%xmm9,%xmm9
31087  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
31088  .byte  65,15,92,201                        // subps         %xmm9,%xmm1
31089  .byte  65,15,92,202                        // subps         %xmm10,%xmm1
31090  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
31091  .byte  68,15,92,193                        // subps         %xmm1,%xmm8
31092  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
31093  .byte  102,69,15,118,192                   // pcmpeqd       %xmm8,%xmm8
31094  .byte  102,69,15,254,194                   // paddd         %xmm10,%xmm8
31095  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
31096  .byte  72,173                              // lods          %ds:(%rsi),%rax
31097  .byte  255,224                             // jmpq          *%rax
31098
31099HIDDEN _sk_clamp_x_1_sse41
31100.globl _sk_clamp_x_1_sse41
31101FUNCTION(_sk_clamp_x_1_sse41)
31102_sk_clamp_x_1_sse41:
31103  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
31104  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
31105  .byte  68,15,93,5,149,33,0,0               // minps         0x2195(%rip),%xmm8        # 6dd0 <_sk_callback_sse41+0x1222>
31106  .byte  72,173                              // lods          %ds:(%rsi),%rax
31107  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
31108  .byte  255,224                             // jmpq          *%rax
31109
31110HIDDEN _sk_repeat_x_1_sse41
31111.globl _sk_repeat_x_1_sse41
31112FUNCTION(_sk_repeat_x_1_sse41)
31113_sk_repeat_x_1_sse41:
31114  .byte  102,68,15,58,8,192,1                // roundps       $0x1,%xmm0,%xmm8
31115  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
31116  .byte  72,173                              // lods          %ds:(%rsi),%rax
31117  .byte  255,224                             // jmpq          *%rax
31118
31119HIDDEN _sk_mirror_x_1_sse41
31120.globl _sk_mirror_x_1_sse41
31121FUNCTION(_sk_mirror_x_1_sse41)
31122_sk_mirror_x_1_sse41:
31123  .byte  68,15,40,5,134,33,0,0               // movaps        0x2186(%rip),%xmm8        # 6de0 <_sk_callback_sse41+0x1232>
31124  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
31125  .byte  68,15,40,13,138,33,0,0              // movaps        0x218a(%rip),%xmm9        # 6df0 <_sk_callback_sse41+0x1242>
31126  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
31127  .byte  102,69,15,58,8,201,1                // roundps       $0x1,%xmm9,%xmm9
31128  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
31129  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
31130  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
31131  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
31132  .byte  68,15,92,192                        // subps         %xmm0,%xmm8
31133  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
31134  .byte  72,173                              // lods          %ds:(%rsi),%rax
31135  .byte  255,224                             // jmpq          *%rax
31136
31137HIDDEN _sk_luminance_to_alpha_sse41
31138.globl _sk_luminance_to_alpha_sse41
31139FUNCTION(_sk_luminance_to_alpha_sse41)
31140_sk_luminance_to_alpha_sse41:
31141  .byte  15,40,218                           // movaps        %xmm2,%xmm3
31142  .byte  15,89,5,105,33,0,0                  // mulps         0x2169(%rip),%xmm0        # 6e00 <_sk_callback_sse41+0x1252>
31143  .byte  15,89,13,114,33,0,0                 // mulps         0x2172(%rip),%xmm1        # 6e10 <_sk_callback_sse41+0x1262>
31144  .byte  15,88,200                           // addps         %xmm0,%xmm1
31145  .byte  15,89,29,120,33,0,0                 // mulps         0x2178(%rip),%xmm3        # 6e20 <_sk_callback_sse41+0x1272>
31146  .byte  15,88,217                           // addps         %xmm1,%xmm3
31147  .byte  72,173                              // lods          %ds:(%rsi),%rax
31148  .byte  15,87,192                           // xorps         %xmm0,%xmm0
31149  .byte  15,87,201                           // xorps         %xmm1,%xmm1
31150  .byte  15,87,210                           // xorps         %xmm2,%xmm2
31151  .byte  255,224                             // jmpq          *%rax
31152
31153HIDDEN _sk_matrix_translate_sse41
31154.globl _sk_matrix_translate_sse41
31155FUNCTION(_sk_matrix_translate_sse41)
31156_sk_matrix_translate_sse41:
31157  .byte  72,173                              // lods          %ds:(%rsi),%rax
31158  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
31159  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
31160  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
31161  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
31162  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31163  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
31164  .byte  72,173                              // lods          %ds:(%rsi),%rax
31165  .byte  255,224                             // jmpq          *%rax
31166
31167HIDDEN _sk_matrix_scale_translate_sse41
31168.globl _sk_matrix_scale_translate_sse41
31169FUNCTION(_sk_matrix_scale_translate_sse41)
31170_sk_matrix_scale_translate_sse41:
31171  .byte  72,173                              // lods          %ds:(%rsi),%rax
31172  .byte  243,68,15,16,64,8                   // movss         0x8(%rax),%xmm8
31173  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
31174  .byte  243,68,15,16,8                      // movss         (%rax),%xmm9
31175  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
31176  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31177  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
31178  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
31179  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
31180  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
31181  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31182  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
31183  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
31184  .byte  72,173                              // lods          %ds:(%rsi),%rax
31185  .byte  255,224                             // jmpq          *%rax
31186
31187HIDDEN _sk_matrix_2x3_sse41
31188.globl _sk_matrix_2x3_sse41
31189FUNCTION(_sk_matrix_2x3_sse41)
31190_sk_matrix_2x3_sse41:
31191  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
31192  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
31193  .byte  72,173                              // lods          %ds:(%rsi),%rax
31194  .byte  243,15,16,0                         // movss         (%rax),%xmm0
31195  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
31196  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
31197  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
31198  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31199  .byte  243,68,15,16,88,16                  // movss         0x10(%rax),%xmm11
31200  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31201  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
31202  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
31203  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
31204  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
31205  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
31206  .byte  243,68,15,16,80,12                  // movss         0xc(%rax),%xmm10
31207  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31208  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
31209  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31210  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
31211  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
31212  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
31213  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
31214  .byte  72,173                              // lods          %ds:(%rsi),%rax
31215  .byte  255,224                             // jmpq          *%rax
31216
31217HIDDEN _sk_matrix_3x4_sse41
31218.globl _sk_matrix_3x4_sse41
31219FUNCTION(_sk_matrix_3x4_sse41)
31220_sk_matrix_3x4_sse41:
31221  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
31222  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
31223  .byte  72,173                              // lods          %ds:(%rsi),%rax
31224  .byte  243,15,16,0                         // movss         (%rax),%xmm0
31225  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
31226  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
31227  .byte  243,68,15,16,80,12                  // movss         0xc(%rax),%xmm10
31228  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31229  .byte  243,68,15,16,88,24                  // movss         0x18(%rax),%xmm11
31230  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31231  .byte  243,68,15,16,96,36                  // movss         0x24(%rax),%xmm12
31232  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
31233  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
31234  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
31235  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
31236  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
31237  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
31238  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
31239  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
31240  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
31241  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31242  .byte  243,68,15,16,88,28                  // movss         0x1c(%rax),%xmm11
31243  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31244  .byte  243,68,15,16,96,40                  // movss         0x28(%rax),%xmm12
31245  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
31246  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
31247  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
31248  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
31249  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
31250  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
31251  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
31252  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
31253  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31254  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
31255  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31256  .byte  243,68,15,16,96,32                  // movss         0x20(%rax),%xmm12
31257  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
31258  .byte  243,68,15,16,104,44                 // movss         0x2c(%rax),%xmm13
31259  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
31260  .byte  68,15,89,226                        // mulps         %xmm2,%xmm12
31261  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
31262  .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
31263  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
31264  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
31265  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
31266  .byte  72,173                              // lods          %ds:(%rsi),%rax
31267  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
31268  .byte  255,224                             // jmpq          *%rax
31269
31270HIDDEN _sk_matrix_4x5_sse41
31271.globl _sk_matrix_4x5_sse41
31272FUNCTION(_sk_matrix_4x5_sse41)
31273_sk_matrix_4x5_sse41:
31274  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
31275  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
31276  .byte  72,173                              // lods          %ds:(%rsi),%rax
31277  .byte  243,15,16,0                         // movss         (%rax),%xmm0
31278  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
31279  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
31280  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
31281  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31282  .byte  243,68,15,16,88,32                  // movss         0x20(%rax),%xmm11
31283  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31284  .byte  243,68,15,16,96,48                  // movss         0x30(%rax),%xmm12
31285  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
31286  .byte  243,68,15,16,104,64                 // movss         0x40(%rax),%xmm13
31287  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
31288  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
31289  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
31290  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
31291  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
31292  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
31293  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
31294  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
31295  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
31296  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
31297  .byte  243,68,15,16,80,20                  // movss         0x14(%rax),%xmm10
31298  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31299  .byte  243,68,15,16,88,36                  // movss         0x24(%rax),%xmm11
31300  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31301  .byte  243,68,15,16,96,52                  // movss         0x34(%rax),%xmm12
31302  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
31303  .byte  243,68,15,16,104,68                 // movss         0x44(%rax),%xmm13
31304  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
31305  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
31306  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
31307  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
31308  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
31309  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
31310  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
31311  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
31312  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
31313  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
31314  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31315  .byte  243,68,15,16,88,24                  // movss         0x18(%rax),%xmm11
31316  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31317  .byte  243,68,15,16,96,40                  // movss         0x28(%rax),%xmm12
31318  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
31319  .byte  243,68,15,16,104,56                 // movss         0x38(%rax),%xmm13
31320  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
31321  .byte  243,68,15,16,112,72                 // movss         0x48(%rax),%xmm14
31322  .byte  69,15,198,246,0                     // shufps        $0x0,%xmm14,%xmm14
31323  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
31324  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
31325  .byte  68,15,89,226                        // mulps         %xmm2,%xmm12
31326  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
31327  .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
31328  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
31329  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
31330  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
31331  .byte  243,68,15,16,88,12                  // movss         0xc(%rax),%xmm11
31332  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31333  .byte  243,68,15,16,96,28                  // movss         0x1c(%rax),%xmm12
31334  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
31335  .byte  243,68,15,16,104,44                 // movss         0x2c(%rax),%xmm13
31336  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
31337  .byte  243,68,15,16,112,60                 // movss         0x3c(%rax),%xmm14
31338  .byte  69,15,198,246,0                     // shufps        $0x0,%xmm14,%xmm14
31339  .byte  243,68,15,16,120,76                 // movss         0x4c(%rax),%xmm15
31340  .byte  69,15,198,255,0                     // shufps        $0x0,%xmm15,%xmm15
31341  .byte  68,15,89,243                        // mulps         %xmm3,%xmm14
31342  .byte  69,15,88,247                        // addps         %xmm15,%xmm14
31343  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
31344  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
31345  .byte  69,15,89,225                        // mulps         %xmm9,%xmm12
31346  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
31347  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
31348  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
31349  .byte  72,173                              // lods          %ds:(%rsi),%rax
31350  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
31351  .byte  65,15,40,219                        // movaps        %xmm11,%xmm3
31352  .byte  255,224                             // jmpq          *%rax
31353
31354HIDDEN _sk_matrix_4x3_sse41
31355.globl _sk_matrix_4x3_sse41
31356FUNCTION(_sk_matrix_4x3_sse41)
31357_sk_matrix_4x3_sse41:
31358  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
31359  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
31360  .byte  72,173                              // lods          %ds:(%rsi),%rax
31361  .byte  243,15,16,0                         // movss         (%rax),%xmm0
31362  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
31363  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
31364  .byte  243,15,16,80,16                     // movss         0x10(%rax),%xmm2
31365  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
31366  .byte  243,15,16,88,32                     // movss         0x20(%rax),%xmm3
31367  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
31368  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
31369  .byte  15,88,211                           // addps         %xmm3,%xmm2
31370  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
31371  .byte  15,88,194                           // addps         %xmm2,%xmm0
31372  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
31373  .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
31374  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
31375  .byte  243,15,16,88,36                     // movss         0x24(%rax),%xmm3
31376  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
31377  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
31378  .byte  15,88,211                           // addps         %xmm3,%xmm2
31379  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
31380  .byte  15,88,202                           // addps         %xmm2,%xmm1
31381  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
31382  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
31383  .byte  243,15,16,88,24                     // movss         0x18(%rax),%xmm3
31384  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
31385  .byte  243,68,15,16,80,40                  // movss         0x28(%rax),%xmm10
31386  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31387  .byte  65,15,89,217                        // mulps         %xmm9,%xmm3
31388  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
31389  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
31390  .byte  15,88,211                           // addps         %xmm3,%xmm2
31391  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
31392  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
31393  .byte  243,68,15,16,80,28                  // movss         0x1c(%rax),%xmm10
31394  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31395  .byte  243,68,15,16,88,44                  // movss         0x2c(%rax),%xmm11
31396  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31397  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
31398  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
31399  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
31400  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
31401  .byte  72,173                              // lods          %ds:(%rsi),%rax
31402  .byte  255,224                             // jmpq          *%rax
31403
31404HIDDEN _sk_matrix_perspective_sse41
31405.globl _sk_matrix_perspective_sse41
31406FUNCTION(_sk_matrix_perspective_sse41)
31407_sk_matrix_perspective_sse41:
31408  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
31409  .byte  72,173                              // lods          %ds:(%rsi),%rax
31410  .byte  243,15,16,0                         // movss         (%rax),%xmm0
31411  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
31412  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
31413  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31414  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
31415  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31416  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
31417  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
31418  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
31419  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
31420  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
31421  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31422  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
31423  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31424  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
31425  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31426  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
31427  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
31428  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
31429  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
31430  .byte  243,68,15,16,80,24                  // movss         0x18(%rax),%xmm10
31431  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31432  .byte  243,68,15,16,88,28                  // movss         0x1c(%rax),%xmm11
31433  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31434  .byte  243,68,15,16,96,32                  // movss         0x20(%rax),%xmm12
31435  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
31436  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
31437  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
31438  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
31439  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
31440  .byte  65,15,83,202                        // rcpps         %xmm10,%xmm1
31441  .byte  15,89,193                           // mulps         %xmm1,%xmm0
31442  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
31443  .byte  72,173                              // lods          %ds:(%rsi),%rax
31444  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
31445  .byte  255,224                             // jmpq          *%rax
31446
31447HIDDEN _sk_evenly_spaced_gradient_sse41
31448.globl _sk_evenly_spaced_gradient_sse41
31449FUNCTION(_sk_evenly_spaced_gradient_sse41)
31450_sk_evenly_spaced_gradient_sse41:
31451  .byte  65,87                               // push          %r15
31452  .byte  65,86                               // push          %r14
31453  .byte  83                                  // push          %rbx
31454  .byte  72,173                              // lods          %ds:(%rsi),%rax
31455  .byte  72,139,24                           // mov           (%rax),%rbx
31456  .byte  76,139,112,8                        // mov           0x8(%rax),%r14
31457  .byte  72,255,203                          // dec           %rbx
31458  .byte  120,7                               // js            514a <_sk_evenly_spaced_gradient_sse41+0x1a>
31459  .byte  243,72,15,42,203                    // cvtsi2ss      %rbx,%xmm1
31460  .byte  235,21                              // jmp           515f <_sk_evenly_spaced_gradient_sse41+0x2f>
31461  .byte  73,137,217                          // mov           %rbx,%r9
31462  .byte  73,209,233                          // shr           %r9
31463  .byte  131,227,1                           // and           $0x1,%ebx
31464  .byte  76,9,203                            // or            %r9,%rbx
31465  .byte  243,72,15,42,203                    // cvtsi2ss      %rbx,%xmm1
31466  .byte  243,15,88,201                       // addss         %xmm1,%xmm1
31467  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
31468  .byte  15,89,200                           // mulps         %xmm0,%xmm1
31469  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
31470  .byte  102,73,15,58,22,201,1               // pextrq        $0x1,%xmm1,%r9
31471  .byte  69,137,202                          // mov           %r9d,%r10d
31472  .byte  73,193,233,32                       // shr           $0x20,%r9
31473  .byte  102,73,15,126,203                   // movq          %xmm1,%r11
31474  .byte  69,137,223                          // mov           %r11d,%r15d
31475  .byte  73,193,235,32                       // shr           $0x20,%r11
31476  .byte  243,71,15,16,4,190                  // movss         (%r14,%r15,4),%xmm8
31477  .byte  102,71,15,58,33,4,158,16            // insertps      $0x10,(%r14,%r11,4),%xmm8
31478  .byte  243,67,15,16,12,150                 // movss         (%r14,%r10,4),%xmm1
31479  .byte  102,68,15,58,33,193,32              // insertps      $0x20,%xmm1,%xmm8
31480  .byte  243,67,15,16,12,142                 // movss         (%r14,%r9,4),%xmm1
31481  .byte  102,68,15,58,33,193,48              // insertps      $0x30,%xmm1,%xmm8
31482  .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
31483  .byte  243,70,15,16,12,187                 // movss         (%rbx,%r15,4),%xmm9
31484  .byte  102,70,15,58,33,12,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm9
31485  .byte  243,66,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm1
31486  .byte  102,68,15,58,33,201,32              // insertps      $0x20,%xmm1,%xmm9
31487  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
31488  .byte  102,68,15,58,33,201,48              // insertps      $0x30,%xmm1,%xmm9
31489  .byte  72,139,88,16                        // mov           0x10(%rax),%rbx
31490  .byte  243,66,15,16,12,187                 // movss         (%rbx,%r15,4),%xmm1
31491  .byte  102,66,15,58,33,12,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm1
31492  .byte  243,66,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm2
31493  .byte  102,15,58,33,202,32                 // insertps      $0x20,%xmm2,%xmm1
31494  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
31495  .byte  102,15,58,33,202,48                 // insertps      $0x30,%xmm2,%xmm1
31496  .byte  72,139,88,48                        // mov           0x30(%rax),%rbx
31497  .byte  243,70,15,16,20,187                 // movss         (%rbx,%r15,4),%xmm10
31498  .byte  102,70,15,58,33,20,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm10
31499  .byte  243,66,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm2
31500  .byte  102,68,15,58,33,210,32              // insertps      $0x20,%xmm2,%xmm10
31501  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
31502  .byte  102,68,15,58,33,210,48              // insertps      $0x30,%xmm2,%xmm10
31503  .byte  72,139,88,24                        // mov           0x18(%rax),%rbx
31504  .byte  243,66,15,16,20,187                 // movss         (%rbx,%r15,4),%xmm2
31505  .byte  102,66,15,58,33,20,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm2
31506  .byte  243,66,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm3
31507  .byte  102,15,58,33,211,32                 // insertps      $0x20,%xmm3,%xmm2
31508  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
31509  .byte  102,15,58,33,211,48                 // insertps      $0x30,%xmm3,%xmm2
31510  .byte  72,139,88,56                        // mov           0x38(%rax),%rbx
31511  .byte  243,70,15,16,28,187                 // movss         (%rbx,%r15,4),%xmm11
31512  .byte  102,70,15,58,33,28,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm11
31513  .byte  243,66,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm3
31514  .byte  102,68,15,58,33,219,32              // insertps      $0x20,%xmm3,%xmm11
31515  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
31516  .byte  102,68,15,58,33,219,48              // insertps      $0x30,%xmm3,%xmm11
31517  .byte  72,139,88,32                        // mov           0x20(%rax),%rbx
31518  .byte  243,66,15,16,28,187                 // movss         (%rbx,%r15,4),%xmm3
31519  .byte  102,66,15,58,33,28,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm3
31520  .byte  243,70,15,16,36,147                 // movss         (%rbx,%r10,4),%xmm12
31521  .byte  102,65,15,58,33,220,32              // insertps      $0x20,%xmm12,%xmm3
31522  .byte  243,70,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm12
31523  .byte  102,65,15,58,33,220,48              // insertps      $0x30,%xmm12,%xmm3
31524  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
31525  .byte  243,70,15,16,36,184                 // movss         (%rax,%r15,4),%xmm12
31526  .byte  102,70,15,58,33,36,152,16           // insertps      $0x10,(%rax,%r11,4),%xmm12
31527  .byte  243,70,15,16,44,144                 // movss         (%rax,%r10,4),%xmm13
31528  .byte  102,69,15,58,33,229,32              // insertps      $0x20,%xmm13,%xmm12
31529  .byte  243,70,15,16,44,136                 // movss         (%rax,%r9,4),%xmm13
31530  .byte  102,69,15,58,33,229,48              // insertps      $0x30,%xmm13,%xmm12
31531  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
31532  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
31533  .byte  15,89,200                           // mulps         %xmm0,%xmm1
31534  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
31535  .byte  15,89,208                           // mulps         %xmm0,%xmm2
31536  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
31537  .byte  15,89,216                           // mulps         %xmm0,%xmm3
31538  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
31539  .byte  72,173                              // lods          %ds:(%rsi),%rax
31540  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
31541  .byte  91                                  // pop           %rbx
31542  .byte  65,94                               // pop           %r14
31543  .byte  65,95                               // pop           %r15
31544  .byte  255,224                             // jmpq          *%rax
31545
31546HIDDEN _sk_gauss_a_to_rgba_sse41
31547.globl _sk_gauss_a_to_rgba_sse41
31548FUNCTION(_sk_gauss_a_to_rgba_sse41)
31549_sk_gauss_a_to_rgba_sse41:
31550  .byte  15,40,5,35,27,0,0                   // movaps        0x1b23(%rip),%xmm0        # 6e30 <_sk_callback_sse41+0x1282>
31551  .byte  15,89,195                           // mulps         %xmm3,%xmm0
31552  .byte  15,88,5,41,27,0,0                   // addps         0x1b29(%rip),%xmm0        # 6e40 <_sk_callback_sse41+0x1292>
31553  .byte  15,89,195                           // mulps         %xmm3,%xmm0
31554  .byte  15,88,5,47,27,0,0                   // addps         0x1b2f(%rip),%xmm0        # 6e50 <_sk_callback_sse41+0x12a2>
31555  .byte  15,89,195                           // mulps         %xmm3,%xmm0
31556  .byte  15,88,5,53,27,0,0                   // addps         0x1b35(%rip),%xmm0        # 6e60 <_sk_callback_sse41+0x12b2>
31557  .byte  15,89,195                           // mulps         %xmm3,%xmm0
31558  .byte  15,88,5,59,27,0,0                   // addps         0x1b3b(%rip),%xmm0        # 6e70 <_sk_callback_sse41+0x12c2>
31559  .byte  72,173                              // lods          %ds:(%rsi),%rax
31560  .byte  15,40,200                           // movaps        %xmm0,%xmm1
31561  .byte  15,40,208                           // movaps        %xmm0,%xmm2
31562  .byte  15,40,216                           // movaps        %xmm0,%xmm3
31563  .byte  255,224                             // jmpq          *%rax
31564
31565HIDDEN _sk_gradient_sse41
31566.globl _sk_gradient_sse41
31567FUNCTION(_sk_gradient_sse41)
31568_sk_gradient_sse41:
31569  .byte  65,87                               // push          %r15
31570  .byte  65,86                               // push          %r14
31571  .byte  83                                  // push          %rbx
31572  .byte  72,173                              // lods          %ds:(%rsi),%rax
31573  .byte  76,139,8                            // mov           (%rax),%r9
31574  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
31575  .byte  73,131,249,2                        // cmp           $0x2,%r9
31576  .byte  114,50                              // jb            5388 <_sk_gradient_sse41+0x46>
31577  .byte  72,139,88,72                        // mov           0x48(%rax),%rbx
31578  .byte  73,255,201                          // dec           %r9
31579  .byte  72,131,195,4                        // add           $0x4,%rbx
31580  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
31581  .byte  15,40,21,20,27,0,0                  // movaps        0x1b14(%rip),%xmm2        # 6e80 <_sk_callback_sse41+0x12d2>
31582  .byte  243,15,16,27                        // movss         (%rbx),%xmm3
31583  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
31584  .byte  15,194,216,2                        // cmpleps       %xmm0,%xmm3
31585  .byte  15,84,218                           // andps         %xmm2,%xmm3
31586  .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
31587  .byte  72,131,195,4                        // add           $0x4,%rbx
31588  .byte  73,255,201                          // dec           %r9
31589  .byte  117,228                             // jne           536c <_sk_gradient_sse41+0x2a>
31590  .byte  102,73,15,58,22,201,1               // pextrq        $0x1,%xmm1,%r9
31591  .byte  69,137,202                          // mov           %r9d,%r10d
31592  .byte  73,193,233,32                       // shr           $0x20,%r9
31593  .byte  102,73,15,126,203                   // movq          %xmm1,%r11
31594  .byte  69,137,222                          // mov           %r11d,%r14d
31595  .byte  73,193,235,32                       // shr           $0x20,%r11
31596  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
31597  .byte  76,139,120,16                       // mov           0x10(%rax),%r15
31598  .byte  243,70,15,16,4,179                  // movss         (%rbx,%r14,4),%xmm8
31599  .byte  102,70,15,58,33,4,155,16            // insertps      $0x10,(%rbx,%r11,4),%xmm8
31600  .byte  243,66,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm1
31601  .byte  102,68,15,58,33,193,32              // insertps      $0x20,%xmm1,%xmm8
31602  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
31603  .byte  102,68,15,58,33,193,48              // insertps      $0x30,%xmm1,%xmm8
31604  .byte  72,139,88,40                        // mov           0x28(%rax),%rbx
31605  .byte  243,70,15,16,12,179                 // movss         (%rbx,%r14,4),%xmm9
31606  .byte  102,70,15,58,33,12,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm9
31607  .byte  243,66,15,16,12,147                 // movss         (%rbx,%r10,4),%xmm1
31608  .byte  102,68,15,58,33,201,32              // insertps      $0x20,%xmm1,%xmm9
31609  .byte  243,66,15,16,12,139                 // movss         (%rbx,%r9,4),%xmm1
31610  .byte  102,68,15,58,33,201,48              // insertps      $0x30,%xmm1,%xmm9
31611  .byte  243,67,15,16,12,183                 // movss         (%r15,%r14,4),%xmm1
31612  .byte  102,67,15,58,33,12,159,16           // insertps      $0x10,(%r15,%r11,4),%xmm1
31613  .byte  243,67,15,16,20,151                 // movss         (%r15,%r10,4),%xmm2
31614  .byte  102,15,58,33,202,32                 // insertps      $0x20,%xmm2,%xmm1
31615  .byte  243,67,15,16,20,143                 // movss         (%r15,%r9,4),%xmm2
31616  .byte  102,15,58,33,202,48                 // insertps      $0x30,%xmm2,%xmm1
31617  .byte  72,139,88,48                        // mov           0x30(%rax),%rbx
31618  .byte  243,70,15,16,20,179                 // movss         (%rbx,%r14,4),%xmm10
31619  .byte  102,70,15,58,33,20,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm10
31620  .byte  243,66,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm2
31621  .byte  102,68,15,58,33,210,32              // insertps      $0x20,%xmm2,%xmm10
31622  .byte  243,66,15,16,20,139                 // movss         (%rbx,%r9,4),%xmm2
31623  .byte  102,68,15,58,33,210,48              // insertps      $0x30,%xmm2,%xmm10
31624  .byte  72,139,88,24                        // mov           0x18(%rax),%rbx
31625  .byte  243,66,15,16,20,179                 // movss         (%rbx,%r14,4),%xmm2
31626  .byte  102,66,15,58,33,20,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm2
31627  .byte  243,66,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm3
31628  .byte  102,15,58,33,211,32                 // insertps      $0x20,%xmm3,%xmm2
31629  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
31630  .byte  102,15,58,33,211,48                 // insertps      $0x30,%xmm3,%xmm2
31631  .byte  72,139,88,56                        // mov           0x38(%rax),%rbx
31632  .byte  243,70,15,16,28,179                 // movss         (%rbx,%r14,4),%xmm11
31633  .byte  102,70,15,58,33,28,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm11
31634  .byte  243,66,15,16,28,147                 // movss         (%rbx,%r10,4),%xmm3
31635  .byte  102,68,15,58,33,219,32              // insertps      $0x20,%xmm3,%xmm11
31636  .byte  243,66,15,16,28,139                 // movss         (%rbx,%r9,4),%xmm3
31637  .byte  102,68,15,58,33,219,48              // insertps      $0x30,%xmm3,%xmm11
31638  .byte  72,139,88,32                        // mov           0x20(%rax),%rbx
31639  .byte  243,66,15,16,28,179                 // movss         (%rbx,%r14,4),%xmm3
31640  .byte  102,66,15,58,33,28,155,16           // insertps      $0x10,(%rbx,%r11,4),%xmm3
31641  .byte  243,70,15,16,36,147                 // movss         (%rbx,%r10,4),%xmm12
31642  .byte  102,65,15,58,33,220,32              // insertps      $0x20,%xmm12,%xmm3
31643  .byte  243,70,15,16,36,139                 // movss         (%rbx,%r9,4),%xmm12
31644  .byte  102,65,15,58,33,220,48              // insertps      $0x30,%xmm12,%xmm3
31645  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
31646  .byte  243,70,15,16,36,176                 // movss         (%rax,%r14,4),%xmm12
31647  .byte  102,70,15,58,33,36,152,16           // insertps      $0x10,(%rax,%r11,4),%xmm12
31648  .byte  243,70,15,16,44,144                 // movss         (%rax,%r10,4),%xmm13
31649  .byte  102,69,15,58,33,229,32              // insertps      $0x20,%xmm13,%xmm12
31650  .byte  243,70,15,16,44,136                 // movss         (%rax,%r9,4),%xmm13
31651  .byte  102,69,15,58,33,229,48              // insertps      $0x30,%xmm13,%xmm12
31652  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
31653  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
31654  .byte  15,89,200                           // mulps         %xmm0,%xmm1
31655  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
31656  .byte  15,89,208                           // mulps         %xmm0,%xmm2
31657  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
31658  .byte  15,89,216                           // mulps         %xmm0,%xmm3
31659  .byte  65,15,88,220                        // addps         %xmm12,%xmm3
31660  .byte  72,173                              // lods          %ds:(%rsi),%rax
31661  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
31662  .byte  91                                  // pop           %rbx
31663  .byte  65,94                               // pop           %r14
31664  .byte  65,95                               // pop           %r15
31665  .byte  255,224                             // jmpq          *%rax
31666
31667HIDDEN _sk_evenly_spaced_2_stop_gradient_sse41
31668.globl _sk_evenly_spaced_2_stop_gradient_sse41
31669FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse41)
31670_sk_evenly_spaced_2_stop_gradient_sse41:
31671  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
31672  .byte  72,173                              // lods          %ds:(%rsi),%rax
31673  .byte  243,15,16,0                         // movss         (%rax),%xmm0
31674  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
31675  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
31676  .byte  243,15,16,80,16                     // movss         0x10(%rax),%xmm2
31677  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
31678  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
31679  .byte  15,88,194                           // addps         %xmm2,%xmm0
31680  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
31681  .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
31682  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
31683  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
31684  .byte  15,88,202                           // addps         %xmm2,%xmm1
31685  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
31686  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
31687  .byte  243,15,16,88,24                     // movss         0x18(%rax),%xmm3
31688  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
31689  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
31690  .byte  15,88,211                           // addps         %xmm3,%xmm2
31691  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
31692  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
31693  .byte  243,68,15,16,72,28                  // movss         0x1c(%rax),%xmm9
31694  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31695  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
31696  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
31697  .byte  72,173                              // lods          %ds:(%rsi),%rax
31698  .byte  255,224                             // jmpq          *%rax
31699
31700HIDDEN _sk_xy_to_unit_angle_sse41
31701.globl _sk_xy_to_unit_angle_sse41
31702FUNCTION(_sk_xy_to_unit_angle_sse41)
31703_sk_xy_to_unit_angle_sse41:
31704  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
31705  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
31706  .byte  15,87,192                           // xorps         %xmm0,%xmm0
31707  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
31708  .byte  65,15,84,193                        // andps         %xmm9,%xmm0
31709  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
31710  .byte  68,15,92,217                        // subps         %xmm1,%xmm11
31711  .byte  68,15,84,217                        // andps         %xmm1,%xmm11
31712  .byte  68,15,40,224                        // movaps        %xmm0,%xmm12
31713  .byte  69,15,93,227                        // minps         %xmm11,%xmm12
31714  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
31715  .byte  69,15,95,211                        // maxps         %xmm11,%xmm10
31716  .byte  69,15,94,226                        // divps         %xmm10,%xmm12
31717  .byte  69,15,40,236                        // movaps        %xmm12,%xmm13
31718  .byte  69,15,89,237                        // mulps         %xmm13,%xmm13
31719  .byte  68,15,40,21,181,24,0,0              // movaps        0x18b5(%rip),%xmm10        # 6e90 <_sk_callback_sse41+0x12e2>
31720  .byte  69,15,89,213                        // mulps         %xmm13,%xmm10
31721  .byte  68,15,88,21,185,24,0,0              // addps         0x18b9(%rip),%xmm10        # 6ea0 <_sk_callback_sse41+0x12f2>
31722  .byte  69,15,89,213                        // mulps         %xmm13,%xmm10
31723  .byte  68,15,88,21,189,24,0,0              // addps         0x18bd(%rip),%xmm10        # 6eb0 <_sk_callback_sse41+0x1302>
31724  .byte  69,15,89,213                        // mulps         %xmm13,%xmm10
31725  .byte  68,15,88,21,193,24,0,0              // addps         0x18c1(%rip),%xmm10        # 6ec0 <_sk_callback_sse41+0x1312>
31726  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
31727  .byte  65,15,194,195,1                     // cmpltps       %xmm11,%xmm0
31728  .byte  68,15,40,29,192,24,0,0              // movaps        0x18c0(%rip),%xmm11        # 6ed0 <_sk_callback_sse41+0x1322>
31729  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
31730  .byte  102,69,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm10
31731  .byte  69,15,194,200,1                     // cmpltps       %xmm8,%xmm9
31732  .byte  68,15,40,29,185,24,0,0              // movaps        0x18b9(%rip),%xmm11        # 6ee0 <_sk_callback_sse41+0x1332>
31733  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
31734  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
31735  .byte  102,69,15,56,20,211                 // blendvps      %xmm0,%xmm11,%xmm10
31736  .byte  15,40,193                           // movaps        %xmm1,%xmm0
31737  .byte  65,15,194,192,1                     // cmpltps       %xmm8,%xmm0
31738  .byte  68,15,40,13,171,24,0,0              // movaps        0x18ab(%rip),%xmm9        # 6ef0 <_sk_callback_sse41+0x1342>
31739  .byte  69,15,92,202                        // subps         %xmm10,%xmm9
31740  .byte  102,69,15,56,20,209                 // blendvps      %xmm0,%xmm9,%xmm10
31741  .byte  69,15,194,194,7                     // cmpordps      %xmm10,%xmm8
31742  .byte  69,15,84,194                        // andps         %xmm10,%xmm8
31743  .byte  72,173                              // lods          %ds:(%rsi),%rax
31744  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
31745  .byte  255,224                             // jmpq          *%rax
31746
31747HIDDEN _sk_xy_to_radius_sse41
31748.globl _sk_xy_to_radius_sse41
31749FUNCTION(_sk_xy_to_radius_sse41)
31750_sk_xy_to_radius_sse41:
31751  .byte  15,89,192                           // mulps         %xmm0,%xmm0
31752  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
31753  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
31754  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
31755  .byte  65,15,81,192                        // sqrtps        %xmm8,%xmm0
31756  .byte  72,173                              // lods          %ds:(%rsi),%rax
31757  .byte  255,224                             // jmpq          *%rax
31758
31759HIDDEN _sk_xy_to_2pt_conical_quadratic_max_sse41
31760.globl _sk_xy_to_2pt_conical_quadratic_max_sse41
31761FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_sse41)
31762_sk_xy_to_2pt_conical_quadratic_max_sse41:
31763  .byte  72,173                              // lods          %ds:(%rsi),%rax
31764  .byte  243,68,15,16,80,32                  // movss         0x20(%rax),%xmm10
31765  .byte  243,68,15,16,64,36                  // movss         0x24(%rax),%xmm8
31766  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31767  .byte  243,68,15,16,88,40                  // movss         0x28(%rax),%xmm11
31768  .byte  243,68,15,16,72,44                  // movss         0x2c(%rax),%xmm9
31769  .byte  243,69,15,89,203                    // mulss         %xmm11,%xmm9
31770  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31771  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
31772  .byte  68,15,89,13,84,24,0,0               // mulps         0x1854(%rip),%xmm9        # 6f00 <_sk_callback_sse41+0x1352>
31773  .byte  15,89,192                           // mulps         %xmm0,%xmm0
31774  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
31775  .byte  69,15,89,228                        // mulps         %xmm12,%xmm12
31776  .byte  68,15,88,224                        // addps         %xmm0,%xmm12
31777  .byte  243,69,15,89,219                    // mulss         %xmm11,%xmm11
31778  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31779  .byte  69,15,92,227                        // subps         %xmm11,%xmm12
31780  .byte  68,15,89,21,63,24,0,0               // mulps         0x183f(%rip),%xmm10        # 6f10 <_sk_callback_sse41+0x1362>
31781  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
31782  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
31783  .byte  15,89,192                           // mulps         %xmm0,%xmm0
31784  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
31785  .byte  68,15,81,208                        // sqrtps        %xmm0,%xmm10
31786  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
31787  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
31788  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
31789  .byte  68,15,87,13,39,24,0,0               // xorps         0x1827(%rip),%xmm9        # 6f20 <_sk_callback_sse41+0x1372>
31790  .byte  68,15,89,5,47,24,0,0                // mulps         0x182f(%rip),%xmm8        # 6f30 <_sk_callback_sse41+0x1382>
31791  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
31792  .byte  69,15,92,202                        // subps         %xmm10,%xmm9
31793  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
31794  .byte  65,15,95,193                        // maxps         %xmm9,%xmm0
31795  .byte  72,173                              // lods          %ds:(%rsi),%rax
31796  .byte  255,224                             // jmpq          *%rax
31797
31798HIDDEN _sk_xy_to_2pt_conical_quadratic_min_sse41
31799.globl _sk_xy_to_2pt_conical_quadratic_min_sse41
31800FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_sse41)
31801_sk_xy_to_2pt_conical_quadratic_min_sse41:
31802  .byte  72,173                              // lods          %ds:(%rsi),%rax
31803  .byte  243,68,15,16,80,32                  // movss         0x20(%rax),%xmm10
31804  .byte  243,68,15,16,64,36                  // movss         0x24(%rax),%xmm8
31805  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
31806  .byte  243,68,15,16,88,40                  // movss         0x28(%rax),%xmm11
31807  .byte  243,68,15,16,72,44                  // movss         0x2c(%rax),%xmm9
31808  .byte  243,69,15,89,203                    // mulss         %xmm11,%xmm9
31809  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31810  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
31811  .byte  68,15,89,13,246,23,0,0              // mulps         0x17f6(%rip),%xmm9        # 6f40 <_sk_callback_sse41+0x1392>
31812  .byte  15,89,192                           // mulps         %xmm0,%xmm0
31813  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
31814  .byte  69,15,89,228                        // mulps         %xmm12,%xmm12
31815  .byte  68,15,88,224                        // addps         %xmm0,%xmm12
31816  .byte  243,69,15,89,219                    // mulss         %xmm11,%xmm11
31817  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
31818  .byte  69,15,92,227                        // subps         %xmm11,%xmm12
31819  .byte  68,15,89,21,225,23,0,0              // mulps         0x17e1(%rip),%xmm10        # 6f50 <_sk_callback_sse41+0x13a2>
31820  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
31821  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
31822  .byte  15,89,192                           // mulps         %xmm0,%xmm0
31823  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
31824  .byte  68,15,81,208                        // sqrtps        %xmm0,%xmm10
31825  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
31826  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
31827  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
31828  .byte  68,15,87,13,201,23,0,0              // xorps         0x17c9(%rip),%xmm9        # 6f60 <_sk_callback_sse41+0x13b2>
31829  .byte  68,15,89,5,209,23,0,0               // mulps         0x17d1(%rip),%xmm8        # 6f70 <_sk_callback_sse41+0x13c2>
31830  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
31831  .byte  69,15,92,202                        // subps         %xmm10,%xmm9
31832  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
31833  .byte  65,15,93,193                        // minps         %xmm9,%xmm0
31834  .byte  72,173                              // lods          %ds:(%rsi),%rax
31835  .byte  255,224                             // jmpq          *%rax
31836
31837HIDDEN _sk_xy_to_2pt_conical_linear_sse41
31838.globl _sk_xy_to_2pt_conical_linear_sse41
31839FUNCTION(_sk_xy_to_2pt_conical_linear_sse41)
31840_sk_xy_to_2pt_conical_linear_sse41:
31841  .byte  72,173                              // lods          %ds:(%rsi),%rax
31842  .byte  243,68,15,16,64,40                  // movss         0x28(%rax),%xmm8
31843  .byte  243,68,15,16,72,44                  // movss         0x2c(%rax),%xmm9
31844  .byte  243,69,15,89,200                    // mulss         %xmm8,%xmm9
31845  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31846  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
31847  .byte  68,15,89,13,169,23,0,0              // mulps         0x17a9(%rip),%xmm9        # 6f80 <_sk_callback_sse41+0x13d2>
31848  .byte  15,89,192                           // mulps         %xmm0,%xmm0
31849  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
31850  .byte  69,15,89,210                        // mulps         %xmm10,%xmm10
31851  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
31852  .byte  243,69,15,89,192                    // mulss         %xmm8,%xmm8
31853  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
31854  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
31855  .byte  15,87,5,149,23,0,0                  // xorps         0x1795(%rip),%xmm0        # 6f90 <_sk_callback_sse41+0x13e2>
31856  .byte  65,15,94,193                        // divps         %xmm9,%xmm0
31857  .byte  72,173                              // lods          %ds:(%rsi),%rax
31858  .byte  255,224                             // jmpq          *%rax
31859
31860HIDDEN _sk_mask_2pt_conical_degenerates_sse41
31861.globl _sk_mask_2pt_conical_degenerates_sse41
31862FUNCTION(_sk_mask_2pt_conical_degenerates_sse41)
31863_sk_mask_2pt_conical_degenerates_sse41:
31864  .byte  72,173                              // lods          %ds:(%rsi),%rax
31865  .byte  243,68,15,16,64,40                  // movss         0x28(%rax),%xmm8
31866  .byte  243,68,15,16,72,44                  // movss         0x2c(%rax),%xmm9
31867  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
31868  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
31869  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
31870  .byte  69,15,88,200                        // addps         %xmm8,%xmm9
31871  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
31872  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
31873  .byte  69,15,194,208,7                     // cmpordps      %xmm8,%xmm10
31874  .byte  69,15,194,193,2                     // cmpleps       %xmm9,%xmm8
31875  .byte  69,15,84,194                        // andps         %xmm10,%xmm8
31876  .byte  68,15,17,0                          // movups        %xmm8,(%rax)
31877  .byte  72,173                              // lods          %ds:(%rsi),%rax
31878  .byte  255,224                             // jmpq          *%rax
31879
31880HIDDEN _sk_apply_vector_mask_sse41
31881.globl _sk_apply_vector_mask_sse41
31882FUNCTION(_sk_apply_vector_mask_sse41)
31883_sk_apply_vector_mask_sse41:
31884  .byte  72,173                              // lods          %ds:(%rsi),%rax
31885  .byte  68,15,16,0                          // movups        (%rax),%xmm8
31886  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
31887  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
31888  .byte  65,15,84,208                        // andps         %xmm8,%xmm2
31889  .byte  65,15,84,216                        // andps         %xmm8,%xmm3
31890  .byte  72,173                              // lods          %ds:(%rsi),%rax
31891  .byte  255,224                             // jmpq          *%rax
31892
31893HIDDEN _sk_save_xy_sse41
31894.globl _sk_save_xy_sse41
31895FUNCTION(_sk_save_xy_sse41)
31896_sk_save_xy_sse41:
31897  .byte  72,173                              // lods          %ds:(%rsi),%rax
31898  .byte  68,15,40,5,59,23,0,0                // movaps        0x173b(%rip),%xmm8        # 6fa0 <_sk_callback_sse41+0x13f2>
31899  .byte  15,17,0                             // movups        %xmm0,(%rax)
31900  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
31901  .byte  69,15,88,200                        // addps         %xmm8,%xmm9
31902  .byte  102,69,15,58,8,209,1                // roundps       $0x1,%xmm9,%xmm10
31903  .byte  69,15,92,202                        // subps         %xmm10,%xmm9
31904  .byte  68,15,88,193                        // addps         %xmm1,%xmm8
31905  .byte  102,69,15,58,8,208,1                // roundps       $0x1,%xmm8,%xmm10
31906  .byte  69,15,92,194                        // subps         %xmm10,%xmm8
31907  .byte  15,17,72,32                         // movups        %xmm1,0x20(%rax)
31908  .byte  68,15,17,72,64                      // movups        %xmm9,0x40(%rax)
31909  .byte  68,15,17,64,96                      // movups        %xmm8,0x60(%rax)
31910  .byte  72,173                              // lods          %ds:(%rsi),%rax
31911  .byte  255,224                             // jmpq          *%rax
31912
31913HIDDEN _sk_accumulate_sse41
31914.globl _sk_accumulate_sse41
31915FUNCTION(_sk_accumulate_sse41)
31916_sk_accumulate_sse41:
31917  .byte  72,173                              // lods          %ds:(%rsi),%rax
31918  .byte  68,15,16,128,128,0,0,0              // movups        0x80(%rax),%xmm8
31919  .byte  68,15,16,136,160,0,0,0              // movups        0xa0(%rax),%xmm9
31920  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
31921  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
31922  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
31923  .byte  65,15,88,224                        // addps         %xmm8,%xmm4
31924  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
31925  .byte  68,15,89,193                        // mulps         %xmm1,%xmm8
31926  .byte  65,15,88,232                        // addps         %xmm8,%xmm5
31927  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
31928  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
31929  .byte  65,15,88,240                        // addps         %xmm8,%xmm6
31930  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
31931  .byte  65,15,88,249                        // addps         %xmm9,%xmm7
31932  .byte  72,173                              // lods          %ds:(%rsi),%rax
31933  .byte  255,224                             // jmpq          *%rax
31934
31935HIDDEN _sk_bilinear_nx_sse41
31936.globl _sk_bilinear_nx_sse41
31937FUNCTION(_sk_bilinear_nx_sse41)
31938_sk_bilinear_nx_sse41:
31939  .byte  72,173                              // lods          %ds:(%rsi),%rax
31940  .byte  15,16,0                             // movups        (%rax),%xmm0
31941  .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
31942  .byte  15,88,5,189,22,0,0                  // addps         0x16bd(%rip),%xmm0        # 6fb0 <_sk_callback_sse41+0x1402>
31943  .byte  68,15,40,13,197,22,0,0              // movaps        0x16c5(%rip),%xmm9        # 6fc0 <_sk_callback_sse41+0x1412>
31944  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
31945  .byte  68,15,17,136,128,0,0,0              // movups        %xmm9,0x80(%rax)
31946  .byte  72,173                              // lods          %ds:(%rsi),%rax
31947  .byte  255,224                             // jmpq          *%rax
31948
31949HIDDEN _sk_bilinear_px_sse41
31950.globl _sk_bilinear_px_sse41
31951FUNCTION(_sk_bilinear_px_sse41)
31952_sk_bilinear_px_sse41:
31953  .byte  72,173                              // lods          %ds:(%rsi),%rax
31954  .byte  15,16,0                             // movups        (%rax),%xmm0
31955  .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
31956  .byte  15,88,5,180,22,0,0                  // addps         0x16b4(%rip),%xmm0        # 6fd0 <_sk_callback_sse41+0x1422>
31957  .byte  68,15,17,128,128,0,0,0              // movups        %xmm8,0x80(%rax)
31958  .byte  72,173                              // lods          %ds:(%rsi),%rax
31959  .byte  255,224                             // jmpq          *%rax
31960
31961HIDDEN _sk_bilinear_ny_sse41
31962.globl _sk_bilinear_ny_sse41
31963FUNCTION(_sk_bilinear_ny_sse41)
31964_sk_bilinear_ny_sse41:
31965  .byte  72,173                              // lods          %ds:(%rsi),%rax
31966  .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
31967  .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
31968  .byte  15,88,13,166,22,0,0                 // addps         0x16a6(%rip),%xmm1        # 6fe0 <_sk_callback_sse41+0x1432>
31969  .byte  68,15,40,13,174,22,0,0              // movaps        0x16ae(%rip),%xmm9        # 6ff0 <_sk_callback_sse41+0x1442>
31970  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
31971  .byte  68,15,17,136,160,0,0,0              // movups        %xmm9,0xa0(%rax)
31972  .byte  72,173                              // lods          %ds:(%rsi),%rax
31973  .byte  255,224                             // jmpq          *%rax
31974
31975HIDDEN _sk_bilinear_py_sse41
31976.globl _sk_bilinear_py_sse41
31977FUNCTION(_sk_bilinear_py_sse41)
31978_sk_bilinear_py_sse41:
31979  .byte  72,173                              // lods          %ds:(%rsi),%rax
31980  .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
31981  .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
31982  .byte  15,88,13,156,22,0,0                 // addps         0x169c(%rip),%xmm1        # 7000 <_sk_callback_sse41+0x1452>
31983  .byte  68,15,17,128,160,0,0,0              // movups        %xmm8,0xa0(%rax)
31984  .byte  72,173                              // lods          %ds:(%rsi),%rax
31985  .byte  255,224                             // jmpq          *%rax
31986
31987HIDDEN _sk_bicubic_n3x_sse41
31988.globl _sk_bicubic_n3x_sse41
31989FUNCTION(_sk_bicubic_n3x_sse41)
31990_sk_bicubic_n3x_sse41:
31991  .byte  72,173                              // lods          %ds:(%rsi),%rax
31992  .byte  15,16,0                             // movups        (%rax),%xmm0
31993  .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
31994  .byte  15,88,5,143,22,0,0                  // addps         0x168f(%rip),%xmm0        # 7010 <_sk_callback_sse41+0x1462>
31995  .byte  68,15,40,13,151,22,0,0              // movaps        0x1697(%rip),%xmm9        # 7020 <_sk_callback_sse41+0x1472>
31996  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
31997  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
31998  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
31999  .byte  68,15,89,13,147,22,0,0              // mulps         0x1693(%rip),%xmm9        # 7030 <_sk_callback_sse41+0x1482>
32000  .byte  68,15,88,13,155,22,0,0              // addps         0x169b(%rip),%xmm9        # 7040 <_sk_callback_sse41+0x1492>
32001  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
32002  .byte  68,15,17,136,128,0,0,0              // movups        %xmm9,0x80(%rax)
32003  .byte  72,173                              // lods          %ds:(%rsi),%rax
32004  .byte  255,224                             // jmpq          *%rax
32005
32006HIDDEN _sk_bicubic_n1x_sse41
32007.globl _sk_bicubic_n1x_sse41
32008FUNCTION(_sk_bicubic_n1x_sse41)
32009_sk_bicubic_n1x_sse41:
32010  .byte  72,173                              // lods          %ds:(%rsi),%rax
32011  .byte  15,16,0                             // movups        (%rax),%xmm0
32012  .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
32013  .byte  15,88,5,138,22,0,0                  // addps         0x168a(%rip),%xmm0        # 7050 <_sk_callback_sse41+0x14a2>
32014  .byte  68,15,40,13,146,22,0,0              // movaps        0x1692(%rip),%xmm9        # 7060 <_sk_callback_sse41+0x14b2>
32015  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
32016  .byte  68,15,40,5,150,22,0,0               // movaps        0x1696(%rip),%xmm8        # 7070 <_sk_callback_sse41+0x14c2>
32017  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
32018  .byte  68,15,88,5,154,22,0,0               // addps         0x169a(%rip),%xmm8        # 7080 <_sk_callback_sse41+0x14d2>
32019  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
32020  .byte  68,15,88,5,158,22,0,0               // addps         0x169e(%rip),%xmm8        # 7090 <_sk_callback_sse41+0x14e2>
32021  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
32022  .byte  68,15,88,5,162,22,0,0               // addps         0x16a2(%rip),%xmm8        # 70a0 <_sk_callback_sse41+0x14f2>
32023  .byte  68,15,17,128,128,0,0,0              // movups        %xmm8,0x80(%rax)
32024  .byte  72,173                              // lods          %ds:(%rsi),%rax
32025  .byte  255,224                             // jmpq          *%rax
32026
32027HIDDEN _sk_bicubic_p1x_sse41
32028.globl _sk_bicubic_p1x_sse41
32029FUNCTION(_sk_bicubic_p1x_sse41)
32030_sk_bicubic_p1x_sse41:
32031  .byte  72,173                              // lods          %ds:(%rsi),%rax
32032  .byte  68,15,40,5,156,22,0,0               // movaps        0x169c(%rip),%xmm8        # 70b0 <_sk_callback_sse41+0x1502>
32033  .byte  15,16,0                             // movups        (%rax),%xmm0
32034  .byte  68,15,16,72,64                      // movups        0x40(%rax),%xmm9
32035  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
32036  .byte  68,15,40,21,152,22,0,0              // movaps        0x1698(%rip),%xmm10        # 70c0 <_sk_callback_sse41+0x1512>
32037  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
32038  .byte  68,15,88,21,156,22,0,0              // addps         0x169c(%rip),%xmm10        # 70d0 <_sk_callback_sse41+0x1522>
32039  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
32040  .byte  69,15,88,208                        // addps         %xmm8,%xmm10
32041  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
32042  .byte  68,15,88,21,152,22,0,0              // addps         0x1698(%rip),%xmm10        # 70e0 <_sk_callback_sse41+0x1532>
32043  .byte  68,15,17,144,128,0,0,0              // movups        %xmm10,0x80(%rax)
32044  .byte  72,173                              // lods          %ds:(%rsi),%rax
32045  .byte  255,224                             // jmpq          *%rax
32046
32047HIDDEN _sk_bicubic_p3x_sse41
32048.globl _sk_bicubic_p3x_sse41
32049FUNCTION(_sk_bicubic_p3x_sse41)
32050_sk_bicubic_p3x_sse41:
32051  .byte  72,173                              // lods          %ds:(%rsi),%rax
32052  .byte  15,16,0                             // movups        (%rax),%xmm0
32053  .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
32054  .byte  15,88,5,139,22,0,0                  // addps         0x168b(%rip),%xmm0        # 70f0 <_sk_callback_sse41+0x1542>
32055  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
32056  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
32057  .byte  68,15,89,5,139,22,0,0               // mulps         0x168b(%rip),%xmm8        # 7100 <_sk_callback_sse41+0x1552>
32058  .byte  68,15,88,5,147,22,0,0               // addps         0x1693(%rip),%xmm8        # 7110 <_sk_callback_sse41+0x1562>
32059  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
32060  .byte  68,15,17,128,128,0,0,0              // movups        %xmm8,0x80(%rax)
32061  .byte  72,173                              // lods          %ds:(%rsi),%rax
32062  .byte  255,224                             // jmpq          *%rax
32063
32064HIDDEN _sk_bicubic_n3y_sse41
32065.globl _sk_bicubic_n3y_sse41
32066FUNCTION(_sk_bicubic_n3y_sse41)
32067_sk_bicubic_n3y_sse41:
32068  .byte  72,173                              // lods          %ds:(%rsi),%rax
32069  .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
32070  .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
32071  .byte  15,88,13,129,22,0,0                 // addps         0x1681(%rip),%xmm1        # 7120 <_sk_callback_sse41+0x1572>
32072  .byte  68,15,40,13,137,22,0,0              // movaps        0x1689(%rip),%xmm9        # 7130 <_sk_callback_sse41+0x1582>
32073  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
32074  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
32075  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
32076  .byte  68,15,89,13,133,22,0,0              // mulps         0x1685(%rip),%xmm9        # 7140 <_sk_callback_sse41+0x1592>
32077  .byte  68,15,88,13,141,22,0,0              // addps         0x168d(%rip),%xmm9        # 7150 <_sk_callback_sse41+0x15a2>
32078  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
32079  .byte  68,15,17,136,160,0,0,0              // movups        %xmm9,0xa0(%rax)
32080  .byte  72,173                              // lods          %ds:(%rsi),%rax
32081  .byte  255,224                             // jmpq          *%rax
32082
32083HIDDEN _sk_bicubic_n1y_sse41
32084.globl _sk_bicubic_n1y_sse41
32085FUNCTION(_sk_bicubic_n1y_sse41)
32086_sk_bicubic_n1y_sse41:
32087  .byte  72,173                              // lods          %ds:(%rsi),%rax
32088  .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
32089  .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
32090  .byte  15,88,13,123,22,0,0                 // addps         0x167b(%rip),%xmm1        # 7160 <_sk_callback_sse41+0x15b2>
32091  .byte  68,15,40,13,131,22,0,0              // movaps        0x1683(%rip),%xmm9        # 7170 <_sk_callback_sse41+0x15c2>
32092  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
32093  .byte  68,15,40,5,135,22,0,0               // movaps        0x1687(%rip),%xmm8        # 7180 <_sk_callback_sse41+0x15d2>
32094  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
32095  .byte  68,15,88,5,139,22,0,0               // addps         0x168b(%rip),%xmm8        # 7190 <_sk_callback_sse41+0x15e2>
32096  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
32097  .byte  68,15,88,5,143,22,0,0               // addps         0x168f(%rip),%xmm8        # 71a0 <_sk_callback_sse41+0x15f2>
32098  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
32099  .byte  68,15,88,5,147,22,0,0               // addps         0x1693(%rip),%xmm8        # 71b0 <_sk_callback_sse41+0x1602>
32100  .byte  68,15,17,128,160,0,0,0              // movups        %xmm8,0xa0(%rax)
32101  .byte  72,173                              // lods          %ds:(%rsi),%rax
32102  .byte  255,224                             // jmpq          *%rax
32103
32104HIDDEN _sk_bicubic_p1y_sse41
32105.globl _sk_bicubic_p1y_sse41
32106FUNCTION(_sk_bicubic_p1y_sse41)
32107_sk_bicubic_p1y_sse41:
32108  .byte  72,173                              // lods          %ds:(%rsi),%rax
32109  .byte  68,15,40,5,141,22,0,0               // movaps        0x168d(%rip),%xmm8        # 71c0 <_sk_callback_sse41+0x1612>
32110  .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
32111  .byte  68,15,16,72,96                      // movups        0x60(%rax),%xmm9
32112  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
32113  .byte  68,15,40,21,136,22,0,0              // movaps        0x1688(%rip),%xmm10        # 71d0 <_sk_callback_sse41+0x1622>
32114  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
32115  .byte  68,15,88,21,140,22,0,0              // addps         0x168c(%rip),%xmm10        # 71e0 <_sk_callback_sse41+0x1632>
32116  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
32117  .byte  69,15,88,208                        // addps         %xmm8,%xmm10
32118  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
32119  .byte  68,15,88,21,136,22,0,0              // addps         0x1688(%rip),%xmm10        # 71f0 <_sk_callback_sse41+0x1642>
32120  .byte  68,15,17,144,160,0,0,0              // movups        %xmm10,0xa0(%rax)
32121  .byte  72,173                              // lods          %ds:(%rsi),%rax
32122  .byte  255,224                             // jmpq          *%rax
32123
32124HIDDEN _sk_bicubic_p3y_sse41
32125.globl _sk_bicubic_p3y_sse41
32126FUNCTION(_sk_bicubic_p3y_sse41)
32127_sk_bicubic_p3y_sse41:
32128  .byte  72,173                              // lods          %ds:(%rsi),%rax
32129  .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
32130  .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
32131  .byte  15,88,13,122,22,0,0                 // addps         0x167a(%rip),%xmm1        # 7200 <_sk_callback_sse41+0x1652>
32132  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
32133  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
32134  .byte  68,15,89,5,122,22,0,0               // mulps         0x167a(%rip),%xmm8        # 7210 <_sk_callback_sse41+0x1662>
32135  .byte  68,15,88,5,130,22,0,0               // addps         0x1682(%rip),%xmm8        # 7220 <_sk_callback_sse41+0x1672>
32136  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
32137  .byte  68,15,17,128,160,0,0,0              // movups        %xmm8,0xa0(%rax)
32138  .byte  72,173                              // lods          %ds:(%rsi),%rax
32139  .byte  255,224                             // jmpq          *%rax
32140
32141HIDDEN _sk_callback_sse41
32142.globl _sk_callback_sse41
32143FUNCTION(_sk_callback_sse41)
32144_sk_callback_sse41:
32145  .byte  85                                  // push          %rbp
32146  .byte  72,137,229                          // mov           %rsp,%rbp
32147  .byte  65,87                               // push          %r15
32148  .byte  65,86                               // push          %r14
32149  .byte  65,85                               // push          %r13
32150  .byte  65,84                               // push          %r12
32151  .byte  83                                  // push          %rbx
32152  .byte  72,131,236,72                       // sub           $0x48,%rsp
32153  .byte  15,41,125,144                       // movaps        %xmm7,-0x70(%rbp)
32154  .byte  15,41,117,160                       // movaps        %xmm6,-0x60(%rbp)
32155  .byte  15,41,109,176                       // movaps        %xmm5,-0x50(%rbp)
32156  .byte  15,41,101,192                       // movaps        %xmm4,-0x40(%rbp)
32157  .byte  76,137,195                          // mov           %r8,%rbx
32158  .byte  72,137,77,208                       // mov           %rcx,-0x30(%rbp)
32159  .byte  73,137,215                          // mov           %rdx,%r15
32160  .byte  73,137,252                          // mov           %rdi,%r12
32161  .byte  72,173                              // lods          %ds:(%rsi),%rax
32162  .byte  73,137,198                          // mov           %rax,%r14
32163  .byte  73,137,245                          // mov           %rsi,%r13
32164  .byte  15,40,224                           // movaps        %xmm0,%xmm4
32165  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
32166  .byte  15,40,234                           // movaps        %xmm2,%xmm5
32167  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
32168  .byte  15,21,193                           // unpckhps      %xmm1,%xmm0
32169  .byte  15,21,211                           // unpckhps      %xmm3,%xmm2
32170  .byte  15,40,204                           // movaps        %xmm4,%xmm1
32171  .byte  102,15,20,205                       // unpcklpd      %xmm5,%xmm1
32172  .byte  15,18,236                           // movhlps       %xmm4,%xmm5
32173  .byte  15,40,216                           // movaps        %xmm0,%xmm3
32174  .byte  102,15,20,218                       // unpcklpd      %xmm2,%xmm3
32175  .byte  102,65,15,17,78,8                   // movupd        %xmm1,0x8(%r14)
32176  .byte  15,18,208                           // movhlps       %xmm0,%xmm2
32177  .byte  65,15,17,110,24                     // movups        %xmm5,0x18(%r14)
32178  .byte  102,65,15,17,94,40                  // movupd        %xmm3,0x28(%r14)
32179  .byte  65,15,17,86,56                      // movups        %xmm2,0x38(%r14)
32180  .byte  72,133,219                          // test          %rbx,%rbx
32181  .byte  190,4,0,0,0                         // mov           $0x4,%esi
32182  .byte  15,69,243                           // cmovne        %ebx,%esi
32183  .byte  76,137,247                          // mov           %r14,%rdi
32184  .byte  65,255,22                           // callq         *(%r14)
32185  .byte  73,139,134,136,0,0,0                // mov           0x88(%r14),%rax
32186  .byte  15,16,32                            // movups        (%rax),%xmm4
32187  .byte  15,16,64,16                         // movups        0x10(%rax),%xmm0
32188  .byte  15,16,88,32                         // movups        0x20(%rax),%xmm3
32189  .byte  15,16,80,48                         // movups        0x30(%rax),%xmm2
32190  .byte  15,40,236                           // movaps        %xmm4,%xmm5
32191  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
32192  .byte  15,40,203                           // movaps        %xmm3,%xmm1
32193  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
32194  .byte  15,21,224                           // unpckhps      %xmm0,%xmm4
32195  .byte  15,21,218                           // unpckhps      %xmm2,%xmm3
32196  .byte  15,40,197                           // movaps        %xmm5,%xmm0
32197  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
32198  .byte  15,18,205                           // movhlps       %xmm5,%xmm1
32199  .byte  15,40,212                           // movaps        %xmm4,%xmm2
32200  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
32201  .byte  15,18,220                           // movhlps       %xmm4,%xmm3
32202  .byte  76,137,238                          // mov           %r13,%rsi
32203  .byte  72,173                              // lods          %ds:(%rsi),%rax
32204  .byte  76,137,231                          // mov           %r12,%rdi
32205  .byte  76,137,250                          // mov           %r15,%rdx
32206  .byte  72,139,77,208                       // mov           -0x30(%rbp),%rcx
32207  .byte  73,137,216                          // mov           %rbx,%r8
32208  .byte  15,40,101,192                       // movaps        -0x40(%rbp),%xmm4
32209  .byte  15,40,109,176                       // movaps        -0x50(%rbp),%xmm5
32210  .byte  15,40,117,160                       // movaps        -0x60(%rbp),%xmm6
32211  .byte  15,40,125,144                       // movaps        -0x70(%rbp),%xmm7
32212  .byte  72,131,196,72                       // add           $0x48,%rsp
32213  .byte  91                                  // pop           %rbx
32214  .byte  65,92                               // pop           %r12
32215  .byte  65,93                               // pop           %r13
32216  .byte  65,94                               // pop           %r14
32217  .byte  65,95                               // pop           %r15
32218  .byte  93                                  // pop           %rbp
32219  .byte  255,224                             // jmpq          *%rax
32220
32221BALIGN16
32222  .byte  0,0                                 // add           %al,(%rax)
32223  .byte  0,63                                // add           %bh,(%rdi)
32224  .byte  0,0                                 // add           %al,(%rax)
32225  .byte  0,63                                // add           %bh,(%rdi)
32226  .byte  0,0                                 // add           %al,(%rax)
32227  .byte  0,63                                // add           %bh,(%rdi)
32228  .byte  0,0                                 // add           %al,(%rax)
32229  .byte  0,63                                // add           %bh,(%rdi)
32230  .byte  0,0                                 // add           %al,(%rax)
32231  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32232  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32233  .byte  63                                  // (bad)
32234  .byte  0,0                                 // add           %al,(%rax)
32235  .byte  128,63,1                            // cmpb          $0x1,(%rdi)
32236  .byte  0,0                                 // add           %al,(%rax)
32237  .byte  0,1                                 // add           %al,(%rcx)
32238  .byte  0,0                                 // add           %al,(%rax)
32239  .byte  0,1                                 // add           %al,(%rcx)
32240  .byte  0,0                                 // add           %al,(%rax)
32241  .byte  0,1                                 // add           %al,(%rcx)
32242  .byte  0,0                                 // add           %al,(%rax)
32243  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
32244  .byte  0,0                                 // add           %al,(%rax)
32245  .byte  4,0                                 // add           $0x0,%al
32246  .byte  0,0                                 // add           %al,(%rax)
32247  .byte  4,0                                 // add           $0x0,%al
32248  .byte  0,0                                 // add           %al,(%rax)
32249  .byte  4,0                                 // add           $0x0,%al
32250  .byte  0,0                                 // add           %al,(%rax)
32251  .byte  2,0                                 // add           (%rax),%al
32252  .byte  0,0                                 // add           %al,(%rax)
32253  .byte  2,0                                 // add           (%rax),%al
32254  .byte  0,0                                 // add           %al,(%rax)
32255  .byte  2,0                                 // add           (%rax),%al
32256  .byte  0,0                                 // add           %al,(%rax)
32257  .byte  2,0                                 // add           (%rax),%al
32258  .byte  0,0                                 // add           %al,(%rax)
32259  .byte  0,0                                 // add           %al,(%rax)
32260  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
32261  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
32262  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
32263  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
32264  .byte  252                                 // cld
32265  .byte  190,0,0,252,190                     // mov           $0xbefc0000,%esi
32266  .byte  0,0                                 // add           %al,(%rax)
32267  .byte  252                                 // cld
32268  .byte  190,0,0,252,190                     // mov           $0xbefc0000,%esi
32269  .byte  0,0                                 // add           %al,(%rax)
32270  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32271  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32272  .byte  63                                  // (bad)
32273  .byte  0,0                                 // add           %al,(%rax)
32274  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32275  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32276  .byte  63                                  // (bad)
32277  .byte  0,0                                 // add           %al,(%rax)
32278  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32279  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32280  .byte  63                                  // (bad)
32281  .byte  0,0                                 // add           %al,(%rax)
32282  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32283  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32284  .byte  63                                  // (bad)
32285  .byte  0,0                                 // add           %al,(%rax)
32286  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32287  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32288  .byte  63                                  // (bad)
32289  .byte  0,0                                 // add           %al,(%rax)
32290  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32291  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32292  .byte  63                                  // (bad)
32293  .byte  0,0                                 // add           %al,(%rax)
32294  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32295  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32296  .byte  63                                  // (bad)
32297  .byte  0,0                                 // add           %al,(%rax)
32298  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32299  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32300  .byte  63                                  // (bad)
32301  .byte  0,0                                 // add           %al,(%rax)
32302  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32303  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32304  .byte  63                                  // (bad)
32305  .byte  0,0                                 // add           %al,(%rax)
32306  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32307  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32308  .byte  63                                  // (bad)
32309  .byte  0,0                                 // add           %al,(%rax)
32310  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32311  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32312  .byte  63                                  // (bad)
32313  .byte  0,0                                 // add           %al,(%rax)
32314  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32315  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32316  .byte  63                                  // (bad)
32317  .byte  0,0                                 // add           %al,(%rax)
32318  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32319  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32320  .byte  63                                  // (bad)
32321  .byte  0,0                                 // add           %al,(%rax)
32322  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32323  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32324  .byte  63                                  // (bad)
32325  .byte  0,0                                 // add           %al,(%rax)
32326  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32327  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32328  .byte  63                                  // (bad)
32329  .byte  0,0                                 // add           %al,(%rax)
32330  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32331  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32332  .byte  63                                  // (bad)
32333  .byte  0,0                                 // add           %al,(%rax)
32334  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32335  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32336  .byte  63                                  // (bad)
32337  .byte  0,0                                 // add           %al,(%rax)
32338  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32339  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32340  .byte  63                                  // (bad)
32341  .byte  0,0                                 // add           %al,(%rax)
32342  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32343  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32344  .byte  63                                  // (bad)
32345  .byte  0,0                                 // add           %al,(%rax)
32346  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32347  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32348  .byte  63                                  // (bad)
32349  .byte  0,0                                 // add           %al,(%rax)
32350  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32351  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32352  .byte  63                                  // (bad)
32353  .byte  0,0                                 // add           %al,(%rax)
32354  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32355  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32356  .byte  63                                  // (bad)
32357  .byte  0,0                                 // add           %al,(%rax)
32358  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32359  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32360  .byte  63                                  // (bad)
32361  .byte  0,0                                 // add           %al,(%rax)
32362  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32363  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32364  .byte  63                                  // (bad)
32365  .byte  0,0                                 // add           %al,(%rax)
32366  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32367  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32368  .byte  63                                  // (bad)
32369  .byte  0,0                                 // add           %al,(%rax)
32370  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32371  .byte  0,128,191,0,0,128                   // add           %al,-0x7fffff41(%rax)
32372  .byte  191,0,0,128,191                     // mov           $0xbf800000,%edi
32373  .byte  0,0                                 // add           %al,(%rax)
32374  .byte  128,191,0,0,224,64,0                // cmpb          $0x0,0x40e00000(%rdi)
32375  .byte  0,224                               // add           %ah,%al
32376  .byte  64,0,0                              // add           %al,(%rax)
32377  .byte  224,64                              // loopne        5e9c <.literal16+0x1fc>
32378  .byte  0,0                                 // add           %al,(%rax)
32379  .byte  224,64                              // loopne        5ea0 <.literal16+0x200>
32380  .byte  154                                 // (bad)
32381  .byte  153                                 // cltd
32382  .byte  153                                 // cltd
32383  .byte  62,154                              // ds            (bad)
32384  .byte  153                                 // cltd
32385  .byte  153                                 // cltd
32386  .byte  62,154                              // ds            (bad)
32387  .byte  153                                 // cltd
32388  .byte  153                                 // cltd
32389  .byte  62,154                              // ds            (bad)
32390  .byte  153                                 // cltd
32391  .byte  153                                 // cltd
32392  .byte  62,61,10,23,63,61                   // ds            cmp $0x3d3f170a,%eax
32393  .byte  10,23                               // or            (%rdi),%dl
32394  .byte  63                                  // (bad)
32395  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
32396  .byte  10,23                               // or            (%rdi),%dl
32397  .byte  63                                  // (bad)
32398  .byte  174                                 // scas          %es:(%rdi),%al
32399  .byte  71,225,61                           // rex.RXB       loope 5ec1 <.literal16+0x221>
32400  .byte  174                                 // scas          %es:(%rdi),%al
32401  .byte  71,225,61                           // rex.RXB       loope 5ec5 <.literal16+0x225>
32402  .byte  174                                 // scas          %es:(%rdi),%al
32403  .byte  71,225,61                           // rex.RXB       loope 5ec9 <.literal16+0x229>
32404  .byte  174                                 // scas          %es:(%rdi),%al
32405  .byte  71,225,61                           // rex.RXB       loope 5ecd <.literal16+0x22d>
32406  .byte  0,0                                 // add           %al,(%rax)
32407  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32408  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32409  .byte  63                                  // (bad)
32410  .byte  0,0                                 // add           %al,(%rax)
32411  .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
32412  .byte  153                                 // cltd
32413  .byte  153                                 // cltd
32414  .byte  62,154                              // ds            (bad)
32415  .byte  153                                 // cltd
32416  .byte  153                                 // cltd
32417  .byte  62,154                              // ds            (bad)
32418  .byte  153                                 // cltd
32419  .byte  153                                 // cltd
32420  .byte  62,154                              // ds            (bad)
32421  .byte  153                                 // cltd
32422  .byte  153                                 // cltd
32423  .byte  62,61,10,23,63,61                   // ds            cmp $0x3d3f170a,%eax
32424  .byte  10,23                               // or            (%rdi),%dl
32425  .byte  63                                  // (bad)
32426  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
32427  .byte  10,23                               // or            (%rdi),%dl
32428  .byte  63                                  // (bad)
32429  .byte  174                                 // scas          %es:(%rdi),%al
32430  .byte  71,225,61                           // rex.RXB       loope 5f01 <.literal16+0x261>
32431  .byte  174                                 // scas          %es:(%rdi),%al
32432  .byte  71,225,61                           // rex.RXB       loope 5f05 <.literal16+0x265>
32433  .byte  174                                 // scas          %es:(%rdi),%al
32434  .byte  71,225,61                           // rex.RXB       loope 5f09 <.literal16+0x269>
32435  .byte  174                                 // scas          %es:(%rdi),%al
32436  .byte  71,225,61                           // rex.RXB       loope 5f0d <.literal16+0x26d>
32437  .byte  0,0                                 // add           %al,(%rax)
32438  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32439  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32440  .byte  63                                  // (bad)
32441  .byte  0,0                                 // add           %al,(%rax)
32442  .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
32443  .byte  153                                 // cltd
32444  .byte  153                                 // cltd
32445  .byte  62,154                              // ds            (bad)
32446  .byte  153                                 // cltd
32447  .byte  153                                 // cltd
32448  .byte  62,154                              // ds            (bad)
32449  .byte  153                                 // cltd
32450  .byte  153                                 // cltd
32451  .byte  62,154                              // ds            (bad)
32452  .byte  153                                 // cltd
32453  .byte  153                                 // cltd
32454  .byte  62,61,10,23,63,61                   // ds            cmp $0x3d3f170a,%eax
32455  .byte  10,23                               // or            (%rdi),%dl
32456  .byte  63                                  // (bad)
32457  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
32458  .byte  10,23                               // or            (%rdi),%dl
32459  .byte  63                                  // (bad)
32460  .byte  174                                 // scas          %es:(%rdi),%al
32461  .byte  71,225,61                           // rex.RXB       loope 5f41 <.literal16+0x2a1>
32462  .byte  174                                 // scas          %es:(%rdi),%al
32463  .byte  71,225,61                           // rex.RXB       loope 5f45 <.literal16+0x2a5>
32464  .byte  174                                 // scas          %es:(%rdi),%al
32465  .byte  71,225,61                           // rex.RXB       loope 5f49 <.literal16+0x2a9>
32466  .byte  174                                 // scas          %es:(%rdi),%al
32467  .byte  71,225,61                           // rex.RXB       loope 5f4d <.literal16+0x2ad>
32468  .byte  0,0                                 // add           %al,(%rax)
32469  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32470  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32471  .byte  63                                  // (bad)
32472  .byte  0,0                                 // add           %al,(%rax)
32473  .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
32474  .byte  153                                 // cltd
32475  .byte  153                                 // cltd
32476  .byte  62,154                              // ds            (bad)
32477  .byte  153                                 // cltd
32478  .byte  153                                 // cltd
32479  .byte  62,154                              // ds            (bad)
32480  .byte  153                                 // cltd
32481  .byte  153                                 // cltd
32482  .byte  62,154                              // ds            (bad)
32483  .byte  153                                 // cltd
32484  .byte  153                                 // cltd
32485  .byte  62,61,10,23,63,61                   // ds            cmp $0x3d3f170a,%eax
32486  .byte  10,23                               // or            (%rdi),%dl
32487  .byte  63                                  // (bad)
32488  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
32489  .byte  10,23                               // or            (%rdi),%dl
32490  .byte  63                                  // (bad)
32491  .byte  174                                 // scas          %es:(%rdi),%al
32492  .byte  71,225,61                           // rex.RXB       loope 5f81 <.literal16+0x2e1>
32493  .byte  174                                 // scas          %es:(%rdi),%al
32494  .byte  71,225,61                           // rex.RXB       loope 5f85 <.literal16+0x2e5>
32495  .byte  174                                 // scas          %es:(%rdi),%al
32496  .byte  71,225,61                           // rex.RXB       loope 5f89 <.literal16+0x2e9>
32497  .byte  174                                 // scas          %es:(%rdi),%al
32498  .byte  71,225,61                           // rex.RXB       loope 5f8d <.literal16+0x2ed>
32499  .byte  0,0                                 // add           %al,(%rax)
32500  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32501  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32502  .byte  63                                  // (bad)
32503  .byte  0,0                                 // add           %al,(%rax)
32504  .byte  128,63,255                          // cmpb          $0xff,(%rdi)
32505  .byte  0,0                                 // add           %al,(%rax)
32506  .byte  0,255                               // add           %bh,%bh
32507  .byte  0,0                                 // add           %al,(%rax)
32508  .byte  0,255                               // add           %bh,%bh
32509  .byte  0,0                                 // add           %al,(%rax)
32510  .byte  0,255                               // add           %bh,%bh
32511  .byte  0,0                                 // add           %al,(%rax)
32512  .byte  0,1                                 // add           %al,(%rcx)
32513  .byte  255                                 // (bad)
32514  .byte  255                                 // (bad)
32515  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a005f78 <_sk_callback_sse41+0xa0003ca>
32516  .byte  255                                 // (bad)
32517  .byte  255                                 // (bad)
32518  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3005f80 <_sk_callback_sse41+0x30003d2>
32519  .byte  255                                 // (bad)
32520  .byte  255                                 // (bad)
32521  .byte  255,6                               // incl          (%rsi)
32522  .byte  255                                 // (bad)
32523  .byte  255                                 // (bad)
32524  .byte  255,10                              // decl          (%rdx)
32525  .byte  255                                 // (bad)
32526  .byte  255                                 // (bad)
32527  .byte  255,14                              // decl          (%rsi)
32528  .byte  255                                 // (bad)
32529  .byte  255                                 // (bad)
32530  .byte  255,0                               // incl          (%rax)
32531  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32532  .byte  63                                  // (bad)
32533  .byte  0,0                                 // add           %al,(%rax)
32534  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32535  .byte  0,128,63,0,0,127                    // add           %al,0x7f00003f(%rax)
32536  .byte  67,0,0                              // rex.XB        add %al,(%r8)
32537  .byte  127,67                              // jg            5feb <.literal16+0x34b>
32538  .byte  0,0                                 // add           %al,(%rax)
32539  .byte  127,67                              // jg            5fef <.literal16+0x34f>
32540  .byte  0,0                                 // add           %al,(%rax)
32541  .byte  127,67                              // jg            5ff3 <.literal16+0x353>
32542  .byte  0,0                                 // add           %al,(%rax)
32543  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32544  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32545  .byte  63                                  // (bad)
32546  .byte  0,0                                 // add           %al,(%rax)
32547  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32548  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32549  .byte  63                                  // (bad)
32550  .byte  0,0                                 // add           %al,(%rax)
32551  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32552  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32553  .byte  63                                  // (bad)
32554  .byte  0,0                                 // add           %al,(%rax)
32555  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32556  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32557  .byte  63                                  // (bad)
32558  .byte  0,0                                 // add           %al,(%rax)
32559  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32560  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32561  .byte  63                                  // (bad)
32562  .byte  0,0                                 // add           %al,(%rax)
32563  .byte  128,63,145                          // cmpb          $0x91,(%rdi)
32564  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
32565  .byte  145                                 // xchg          %eax,%ecx
32566  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
32567  .byte  154                                 // (bad)
32568  .byte  153                                 // cltd
32569  .byte  153                                 // cltd
32570  .byte  62,154                              // ds            (bad)
32571  .byte  153                                 // cltd
32572  .byte  153                                 // cltd
32573  .byte  62,154                              // ds            (bad)
32574  .byte  153                                 // cltd
32575  .byte  153                                 // cltd
32576  .byte  62,154                              // ds            (bad)
32577  .byte  153                                 // cltd
32578  .byte  153                                 // cltd
32579  .byte  62,92                               // ds            pop %rsp
32580  .byte  143                                 // (bad)
32581  .byte  50,63                               // xor           (%rdi),%bh
32582  .byte  92                                  // pop           %rsp
32583  .byte  143                                 // (bad)
32584  .byte  50,63                               // xor           (%rdi),%bh
32585  .byte  92                                  // pop           %rsp
32586  .byte  143                                 // (bad)
32587  .byte  50,63                               // xor           (%rdi),%bh
32588  .byte  92                                  // pop           %rsp
32589  .byte  143                                 // (bad)
32590  .byte  50,63                               // xor           (%rdi),%bh
32591  .byte  10,215                              // or            %bh,%dl
32592  .byte  35,59                               // and           (%rbx),%edi
32593  .byte  10,215                              // or            %bh,%dl
32594  .byte  35,59                               // and           (%rbx),%edi
32595  .byte  10,215                              // or            %bh,%dl
32596  .byte  35,59                               // and           (%rbx),%edi
32597  .byte  10,215                              // or            %bh,%dl
32598  .byte  35,59                               // and           (%rbx),%edi
32599  .byte  174                                 // scas          %es:(%rdi),%al
32600  .byte  71,97                               // rex.RXB       (bad)
32601  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
32602  .byte  174                                 // scas          %es:(%rdi),%al
32603  .byte  71,97                               // rex.RXB       (bad)
32604  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
32605  .byte  145                                 // xchg          %eax,%ecx
32606  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
32607  .byte  145                                 // xchg          %eax,%ecx
32608  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
32609  .byte  154                                 // (bad)
32610  .byte  153                                 // cltd
32611  .byte  153                                 // cltd
32612  .byte  62,154                              // ds            (bad)
32613  .byte  153                                 // cltd
32614  .byte  153                                 // cltd
32615  .byte  62,154                              // ds            (bad)
32616  .byte  153                                 // cltd
32617  .byte  153                                 // cltd
32618  .byte  62,154                              // ds            (bad)
32619  .byte  153                                 // cltd
32620  .byte  153                                 // cltd
32621  .byte  62,92                               // ds            pop %rsp
32622  .byte  143                                 // (bad)
32623  .byte  50,63                               // xor           (%rdi),%bh
32624  .byte  92                                  // pop           %rsp
32625  .byte  143                                 // (bad)
32626  .byte  50,63                               // xor           (%rdi),%bh
32627  .byte  92                                  // pop           %rsp
32628  .byte  143                                 // (bad)
32629  .byte  50,63                               // xor           (%rdi),%bh
32630  .byte  92                                  // pop           %rsp
32631  .byte  143                                 // (bad)
32632  .byte  50,63                               // xor           (%rdi),%bh
32633  .byte  10,215                              // or            %bh,%dl
32634  .byte  35,59                               // and           (%rbx),%edi
32635  .byte  10,215                              // or            %bh,%dl
32636  .byte  35,59                               // and           (%rbx),%edi
32637  .byte  10,215                              // or            %bh,%dl
32638  .byte  35,59                               // and           (%rbx),%edi
32639  .byte  10,215                              // or            %bh,%dl
32640  .byte  35,59                               // and           (%rbx),%edi
32641  .byte  174                                 // scas          %es:(%rdi),%al
32642  .byte  71,97                               // rex.RXB       (bad)
32643  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
32644  .byte  174                                 // scas          %es:(%rdi),%al
32645  .byte  71,97                               // rex.RXB       (bad)
32646  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
32647  .byte  82                                  // push          %rdx
32648  .byte  184,78,65,82,184                    // mov           $0xb852414e,%eax
32649  .byte  78                                  // rex.WRX
32650  .byte  65,82                               // push          %r10
32651  .byte  184,78,65,82,184                    // mov           $0xb852414e,%eax
32652  .byte  78                                  // rex.WRX
32653  .byte  65,57,215                           // cmp           %edx,%r15d
32654  .byte  32,187,57,215,32,187                // and           %bh,-0x44df28c7(%rbx)
32655  .byte  57,215                              // cmp           %edx,%edi
32656  .byte  32,187,57,215,32,187                // and           %bh,-0x44df28c7(%rbx)
32657  .byte  186,159,98,60,186                   // mov           $0xba3c629f,%edx
32658  .byte  159                                 // lahf
32659  .byte  98                                  // (bad)
32660  .byte  60,186                              // cmp           $0xba,%al
32661  .byte  159                                 // lahf
32662  .byte  98                                  // (bad)
32663  .byte  60,186                              // cmp           $0xba,%al
32664  .byte  159                                 // lahf
32665  .byte  98                                  // (bad)
32666  .byte  60,109                              // cmp           $0x6d,%al
32667  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
32668  .byte  144                                 // nop
32669  .byte  63                                  // (bad)
32670  .byte  109                                 // insl          (%dx),%es:(%rdi)
32671  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
32672  .byte  144                                 // nop
32673  .byte  63                                  // (bad)
32674  .byte  109                                 // insl          (%dx),%es:(%rdi)
32675  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
32676  .byte  144                                 // nop
32677  .byte  63                                  // (bad)
32678  .byte  109                                 // insl          (%dx),%es:(%rdi)
32679  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
32680  .byte  144                                 // nop
32681  .byte  63                                  // (bad)
32682  .byte  252                                 // cld
32683  .byte  191,16,62,252,191                   // mov           $0xbffc3e10,%edi
32684  .byte  16,62                               // adc           %bh,(%rsi)
32685  .byte  252                                 // cld
32686  .byte  191,16,62,252,191                   // mov           $0xbffc3e10,%edi
32687  .byte  16,62                               // adc           %bh,(%rsi)
32688  .byte  168,177                             // test          $0xb1,%al
32689  .byte  152                                 // cwtl
32690  .byte  59,168,177,152,59,168               // cmp           -0x57c4674f(%rax),%ebp
32691  .byte  177,152                             // mov           $0x98,%cl
32692  .byte  59,168,177,152,59,0                 // cmp           0x3b98b1(%rax),%ebp
32693  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32694  .byte  63                                  // (bad)
32695  .byte  0,0                                 // add           %al,(%rax)
32696  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32697  .byte  0,128,63,0,0,192                    // add           %al,-0x3fffffc1(%rax)
32698  .byte  64,0,0                              // add           %al,(%rax)
32699  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
32700  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
32701  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
32702  .byte  0,64,0                              // add           %al,0x0(%rax)
32703  .byte  0,0                                 // add           %al,(%rax)
32704  .byte  64,0,0                              // add           %al,(%rax)
32705  .byte  0,64,0                              // add           %al,0x0(%rax)
32706  .byte  0,0                                 // add           %al,(%rax)
32707  .byte  64,0,0                              // add           %al,(%rax)
32708  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
32709  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
32710  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
32711  .byte  128,64,171,170                      // addb          $0xaa,-0x55(%rax)
32712  .byte  42,62                               // sub           (%rsi),%bh
32713  .byte  171                                 // stos          %eax,%es:(%rdi)
32714  .byte  170                                 // stos          %al,%es:(%rdi)
32715  .byte  42,62                               // sub           (%rsi),%bh
32716  .byte  171                                 // stos          %eax,%es:(%rdi)
32717  .byte  170                                 // stos          %al,%es:(%rdi)
32718  .byte  42,62                               // sub           (%rsi),%bh
32719  .byte  171                                 // stos          %eax,%es:(%rdi)
32720  .byte  170                                 // stos          %al,%es:(%rdi)
32721  .byte  42,62                               // sub           (%rsi),%bh
32722  .byte  0,0                                 // add           %al,(%rax)
32723  .byte  0,63                                // add           %bh,(%rdi)
32724  .byte  0,0                                 // add           %al,(%rax)
32725  .byte  0,63                                // add           %bh,(%rdi)
32726  .byte  0,0                                 // add           %al,(%rax)
32727  .byte  0,63                                // add           %bh,(%rdi)
32728  .byte  0,0                                 // add           %al,(%rax)
32729  .byte  0,63                                // add           %bh,(%rdi)
32730  .byte  0,0                                 // add           %al,(%rax)
32731  .byte  0,63                                // add           %bh,(%rdi)
32732  .byte  0,0                                 // add           %al,(%rax)
32733  .byte  0,63                                // add           %bh,(%rdi)
32734  .byte  0,0                                 // add           %al,(%rax)
32735  .byte  0,63                                // add           %bh,(%rdi)
32736  .byte  0,0                                 // add           %al,(%rax)
32737  .byte  0,63                                // add           %bh,(%rdi)
32738  .byte  171                                 // stos          %eax,%es:(%rdi)
32739  .byte  170                                 // stos          %al,%es:(%rdi)
32740  .byte  170                                 // stos          %al,%es:(%rdi)
32741  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
32742  .byte  170                                 // stos          %al,%es:(%rdi)
32743  .byte  170                                 // stos          %al,%es:(%rdi)
32744  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
32745  .byte  170                                 // stos          %al,%es:(%rdi)
32746  .byte  170                                 // stos          %al,%es:(%rdi)
32747  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
32748  .byte  170                                 // stos          %al,%es:(%rdi)
32749  .byte  170                                 // stos          %al,%es:(%rdi)
32750  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
32751  .byte  170                                 // stos          %al,%es:(%rdi)
32752  .byte  42,63                               // sub           (%rdi),%bh
32753  .byte  171                                 // stos          %eax,%es:(%rdi)
32754  .byte  170                                 // stos          %al,%es:(%rdi)
32755  .byte  42,63                               // sub           (%rdi),%bh
32756  .byte  171                                 // stos          %eax,%es:(%rdi)
32757  .byte  170                                 // stos          %al,%es:(%rdi)
32758  .byte  42,63                               // sub           (%rdi),%bh
32759  .byte  171                                 // stos          %eax,%es:(%rdi)
32760  .byte  170                                 // stos          %al,%es:(%rdi)
32761  .byte  42,63                               // sub           (%rdi),%bh
32762  .byte  0,0                                 // add           %al,(%rax)
32763  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
32764  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
32765  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
32766  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
32767  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
32768  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
32769  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
32770  .byte  128,64,171,170                      // addb          $0xaa,-0x55(%rax)
32771  .byte  42,62                               // sub           (%rsi),%bh
32772  .byte  171                                 // stos          %eax,%es:(%rdi)
32773  .byte  170                                 // stos          %al,%es:(%rdi)
32774  .byte  42,62                               // sub           (%rsi),%bh
32775  .byte  171                                 // stos          %eax,%es:(%rdi)
32776  .byte  170                                 // stos          %al,%es:(%rdi)
32777  .byte  42,62                               // sub           (%rsi),%bh
32778  .byte  171                                 // stos          %eax,%es:(%rdi)
32779  .byte  170                                 // stos          %al,%es:(%rdi)
32780  .byte  42,62                               // sub           (%rsi),%bh
32781  .byte  171                                 // stos          %eax,%es:(%rdi)
32782  .byte  170                                 // stos          %al,%es:(%rdi)
32783  .byte  170                                 // stos          %al,%es:(%rdi)
32784  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
32785  .byte  171                                 // stos          %eax,%es:(%rdi)
32786  .byte  170                                 // stos          %al,%es:(%rdi)
32787  .byte  170                                 // stos          %al,%es:(%rdi)
32788  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
32789  .byte  255,0                               // incl          (%rax)
32790  .byte  0,0                                 // add           %al,(%rax)
32791  .byte  255,0                               // incl          (%rax)
32792  .byte  0,0                                 // add           %al,(%rax)
32793  .byte  255,0                               // incl          (%rax)
32794  .byte  0,0                                 // add           %al,(%rax)
32795  .byte  255,0                               // incl          (%rax)
32796  .byte  0,0                                 // add           %al,(%rax)
32797  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
32798  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
32799  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%rax)
32800  .byte  255,0                               // incl          (%rax)
32801  .byte  0,0                                 // add           %al,(%rax)
32802  .byte  255,0                               // incl          (%rax)
32803  .byte  0,0                                 // add           %al,(%rax)
32804  .byte  255,0                               // incl          (%rax)
32805  .byte  0,0                                 // add           %al,(%rax)
32806  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
32807  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
32808  .byte  128,128,59,0,248,0,0                // addb          $0x0,0xf8003b(%rax)
32809  .byte  0,248                               // add           %bh,%al
32810  .byte  0,0                                 // add           %al,(%rax)
32811  .byte  0,248                               // add           %bh,%al
32812  .byte  0,0                                 // add           %al,(%rax)
32813  .byte  0,248                               // add           %bh,%al
32814  .byte  0,0                                 // add           %al,(%rax)
32815  .byte  8,33                                // or            %ah,(%rcx)
32816  .byte  132,55                              // test          %dh,(%rdi)
32817  .byte  8,33                                // or            %ah,(%rcx)
32818  .byte  132,55                              // test          %dh,(%rdi)
32819  .byte  8,33                                // or            %ah,(%rcx)
32820  .byte  132,55                              // test          %dh,(%rdi)
32821  .byte  8,33                                // or            %ah,(%rcx)
32822  .byte  132,55                              // test          %dh,(%rdi)
32823  .byte  224,7                               // loopne        6229 <.literal16+0x589>
32824  .byte  0,0                                 // add           %al,(%rax)
32825  .byte  224,7                               // loopne        622d <.literal16+0x58d>
32826  .byte  0,0                                 // add           %al,(%rax)
32827  .byte  224,7                               // loopne        6231 <.literal16+0x591>
32828  .byte  0,0                                 // add           %al,(%rax)
32829  .byte  224,7                               // loopne        6235 <.literal16+0x595>
32830  .byte  0,0                                 // add           %al,(%rax)
32831  .byte  33,8                                // and           %ecx,(%rax)
32832  .byte  2,58                                // add           (%rdx),%bh
32833  .byte  33,8                                // and           %ecx,(%rax)
32834  .byte  2,58                                // add           (%rdx),%bh
32835  .byte  33,8                                // and           %ecx,(%rax)
32836  .byte  2,58                                // add           (%rdx),%bh
32837  .byte  33,8                                // and           %ecx,(%rax)
32838  .byte  2,58                                // add           (%rdx),%bh
32839  .byte  31                                  // (bad)
32840  .byte  0,0                                 // add           %al,(%rax)
32841  .byte  0,31                                // add           %bl,(%rdi)
32842  .byte  0,0                                 // add           %al,(%rax)
32843  .byte  0,31                                // add           %bl,(%rdi)
32844  .byte  0,0                                 // add           %al,(%rax)
32845  .byte  0,31                                // add           %bl,(%rdi)
32846  .byte  0,0                                 // add           %al,(%rax)
32847  .byte  0,8                                 // add           %cl,(%rax)
32848  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%rdi,1)
32849  .byte  8,33                                // or            %ah,(%rcx)
32850  .byte  4,61                                // add           $0x3d,%al
32851  .byte  8,33                                // or            %ah,(%rcx)
32852  .byte  4,61                                // add           $0x3d,%al
32853  .byte  255,0                               // incl          (%rax)
32854  .byte  0,0                                 // add           %al,(%rax)
32855  .byte  255,0                               // incl          (%rax)
32856  .byte  0,0                                 // add           %al,(%rax)
32857  .byte  255,0                               // incl          (%rax)
32858  .byte  0,0                                 // add           %al,(%rax)
32859  .byte  255,0                               // incl          (%rax)
32860  .byte  0,0                                 // add           %al,(%rax)
32861  .byte  1,255                               // add           %edi,%edi
32862  .byte  255                                 // (bad)
32863  .byte  255,5,255,255,255,9                 // incl          0x9ffffff(%rip)        # a006278 <_sk_callback_sse41+0xa0006ca>
32864  .byte  255                                 // (bad)
32865  .byte  255                                 // (bad)
32866  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3006280 <_sk_callback_sse41+0x30006d2>
32867  .byte  255                                 // (bad)
32868  .byte  255                                 // (bad)
32869  .byte  255,6                               // incl          (%rsi)
32870  .byte  255                                 // (bad)
32871  .byte  255                                 // (bad)
32872  .byte  255,10                              // decl          (%rdx)
32873  .byte  255                                 // (bad)
32874  .byte  255                                 // (bad)
32875  .byte  255,14                              // decl          (%rsi)
32876  .byte  255                                 // (bad)
32877  .byte  255                                 // (bad)
32878  .byte  255,129,128,128,59,129              // incl          -0x7ec47f80(%rcx)
32879  .byte  128,128,59,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%rax)
32880  .byte  129,128,128,59,255,0,255,0,255,0    // addl          $0xff00ff,0xff3b80(%rax)
32881  .byte  255,0                               // incl          (%rax)
32882  .byte  0,0                                 // add           %al,(%rax)
32883  .byte  0,0                                 // add           %al,(%rax)
32884  .byte  0,0                                 // add           %al,(%rax)
32885  .byte  0,0                                 // add           %al,(%rax)
32886  .byte  8,255                               // or            %bh,%bh
32887  .byte  10,255                              // or            %bh,%bh
32888  .byte  12,255                              // or            $0xff,%al
32889  .byte  14                                  // (bad)
32890  .byte  255,0                               // incl          (%rax)
32891  .byte  0,0                                 // add           %al,(%rax)
32892  .byte  0,0                                 // add           %al,(%rax)
32893  .byte  0,0                                 // add           %al,(%rax)
32894  .byte  0,128,0,128,55,128                  // add           %al,-0x7fc88000(%rax)
32895  .byte  0,128,55,128,0,128                  // add           %al,-0x7fff7fc9(%rax)
32896  .byte  55                                  // (bad)
32897  .byte  128,0,128                           // addb          $0x80,(%rax)
32898  .byte  55                                  // (bad)
32899  .byte  255,0                               // incl          (%rax)
32900  .byte  255,0                               // incl          (%rax)
32901  .byte  255,0                               // incl          (%rax)
32902  .byte  255,0                               // incl          (%rax)
32903  .byte  0,0                                 // add           %al,(%rax)
32904  .byte  0,0                                 // add           %al,(%rax)
32905  .byte  0,0                                 // add           %al,(%rax)
32906  .byte  0,0                                 // add           %al,(%rax)
32907  .byte  8,128,10,128,12,128                 // or            %al,-0x7ff37ff6(%rax)
32908  .byte  14                                  // (bad)
32909  .byte  128,0,0                             // addb          $0x0,(%rax)
32910  .byte  0,0                                 // add           %al,(%rax)
32911  .byte  0,0                                 // add           %al,(%rax)
32912  .byte  0,0                                 // add           %al,(%rax)
32913  .byte  0,0                                 // add           %al,(%rax)
32914  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32915  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
32916  .byte  63                                  // (bad)
32917  .byte  0,0                                 // add           %al,(%rax)
32918  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
32919  .byte  0,127,67                            // add           %bh,0x43(%rdi)
32920  .byte  0,0                                 // add           %al,(%rax)
32921  .byte  127,67                              // jg            634b <.literal16+0x6ab>
32922  .byte  0,0                                 // add           %al,(%rax)
32923  .byte  127,67                              // jg            634f <.literal16+0x6af>
32924  .byte  0,0                                 // add           %al,(%rax)
32925  .byte  127,67                              // jg            6353 <.literal16+0x6b3>
32926  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
32927  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
32928  .byte  128,128,59,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%rax)
32929  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
32930  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
32931  .byte  0,0                                 // add           %al,(%rax)
32932  .byte  52,0                                // xor           $0x0,%al
32933  .byte  0,0                                 // add           %al,(%rax)
32934  .byte  52,0                                // xor           $0x0,%al
32935  .byte  0,0                                 // add           %al,(%rax)
32936  .byte  52,0                                // xor           $0x0,%al
32937  .byte  0,0                                 // add           %al,(%rax)
32938  .byte  52,255                              // xor           $0xff,%al
32939  .byte  255                                 // (bad)
32940  .byte  127,0                               // jg            6344 <.literal16+0x6a4>
32941  .byte  255                                 // (bad)
32942  .byte  255                                 // (bad)
32943  .byte  127,0                               // jg            6348 <.literal16+0x6a8>
32944  .byte  255                                 // (bad)
32945  .byte  255                                 // (bad)
32946  .byte  127,0                               // jg            634c <.literal16+0x6ac>
32947  .byte  255                                 // (bad)
32948  .byte  255                                 // (bad)
32949  .byte  127,0                               // jg            6350 <.literal16+0x6b0>
32950  .byte  0,0                                 // add           %al,(%rax)
32951  .byte  0,63                                // add           %bh,(%rdi)
32952  .byte  0,0                                 // add           %al,(%rax)
32953  .byte  0,63                                // add           %bh,(%rdi)
32954  .byte  0,0                                 // add           %al,(%rax)
32955  .byte  0,63                                // add           %bh,(%rdi)
32956  .byte  0,0                                 // add           %al,(%rax)
32957  .byte  0,63                                // add           %bh,(%rdi)
32958  .byte  119,115                             // ja            63d5 <.literal16+0x735>
32959  .byte  248                                 // clc
32960  .byte  194,119,115                         // retq          $0x7377
32961  .byte  248                                 // clc
32962  .byte  194,119,115                         // retq          $0x7377
32963  .byte  248                                 // clc
32964  .byte  194,119,115                         // retq          $0x7377
32965  .byte  248                                 // clc
32966  .byte  194,117,191                         // retq          $0xbf75
32967  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
32968  .byte  63                                  // (bad)
32969  .byte  117,191                             // jne           6339 <.literal16+0x699>
32970  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
32971  .byte  63                                  // (bad)
32972  .byte  249                                 // stc
32973  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
32974  .byte  249                                 // stc
32975  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
32976  .byte  249                                 // stc
32977  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
32978  .byte  249                                 // stc
32979  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
32980  .byte  163,233,220,63,163,233,220,63,163   // movabs        %eax,0xa33fdce9a33fdce9
32981  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3a37a <_sk_callback_sse41+0xffffffffe9a347cc>
32982  .byte  220,63                              // fdivrl        (%rdi)
32983  .byte  81                                  // push          %rcx
32984  .byte  140,242                             // mov           %?,%edx
32985  .byte  66,81                               // rex.X         push %rcx
32986  .byte  140,242                             // mov           %?,%edx
32987  .byte  66,81                               // rex.X         push %rcx
32988  .byte  140,242                             // mov           %?,%edx
32989  .byte  66,81                               // rex.X         push %rcx
32990  .byte  140,242                             // mov           %?,%edx
32991  .byte  66,141,188,190,63,141,188,190       // lea           -0x414372c1(%rsi,%r15,4),%edi
32992  .byte  63                                  // (bad)
32993  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%rsi,%rdi,4),%edi
32994  .byte  63                                  // (bad)
32995  .byte  248                                 // clc
32996  .byte  245                                 // cmc
32997  .byte  154                                 // (bad)
32998  .byte  64,248                              // rex           clc
32999  .byte  245                                 // cmc
33000  .byte  154                                 // (bad)
33001  .byte  64,248                              // rex           clc
33002  .byte  245                                 // cmc
33003  .byte  154                                 // (bad)
33004  .byte  64,248                              // rex           clc
33005  .byte  245                                 // cmc
33006  .byte  154                                 // (bad)
33007  .byte  64,254                              // rex           (bad)
33008  .byte  210,221                             // rcr           %cl,%ch
33009  .byte  65,254                              // rex.B         (bad)
33010  .byte  210,221                             // rcr           %cl,%ch
33011  .byte  65,254                              // rex.B         (bad)
33012  .byte  210,221                             // rcr           %cl,%ch
33013  .byte  65,254                              // rex.B         (bad)
33014  .byte  210,221                             // rcr           %cl,%ch
33015  .byte  65,0,0                              // add           %al,(%r8)
33016  .byte  0,75,0                              // add           %cl,0x0(%rbx)
33017  .byte  0,0                                 // add           %al,(%rax)
33018  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
33019  .byte  0,75,0                              // add           %cl,0x0(%rbx)
33020  .byte  0,0                                 // add           %al,(%rax)
33021  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
33022  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33023  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
33024  .byte  63                                  // (bad)
33025  .byte  0,0                                 // add           %al,(%rax)
33026  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33027  .byte  0,0                                 // add           %al,(%rax)
33028  .byte  52,0                                // xor           $0x0,%al
33029  .byte  0,0                                 // add           %al,(%rax)
33030  .byte  52,0                                // xor           $0x0,%al
33031  .byte  0,0                                 // add           %al,(%rax)
33032  .byte  52,0                                // xor           $0x0,%al
33033  .byte  0,0                                 // add           %al,(%rax)
33034  .byte  52,255                              // xor           $0xff,%al
33035  .byte  255                                 // (bad)
33036  .byte  127,0                               // jg            6414 <.literal16+0x774>
33037  .byte  255                                 // (bad)
33038  .byte  255                                 // (bad)
33039  .byte  127,0                               // jg            6418 <.literal16+0x778>
33040  .byte  255                                 // (bad)
33041  .byte  255                                 // (bad)
33042  .byte  127,0                               // jg            641c <.literal16+0x77c>
33043  .byte  255                                 // (bad)
33044  .byte  255                                 // (bad)
33045  .byte  127,0                               // jg            6420 <.literal16+0x780>
33046  .byte  0,0                                 // add           %al,(%rax)
33047  .byte  0,63                                // add           %bh,(%rdi)
33048  .byte  0,0                                 // add           %al,(%rax)
33049  .byte  0,63                                // add           %bh,(%rdi)
33050  .byte  0,0                                 // add           %al,(%rax)
33051  .byte  0,63                                // add           %bh,(%rdi)
33052  .byte  0,0                                 // add           %al,(%rax)
33053  .byte  0,63                                // add           %bh,(%rdi)
33054  .byte  119,115                             // ja            64a5 <.literal16+0x805>
33055  .byte  248                                 // clc
33056  .byte  194,119,115                         // retq          $0x7377
33057  .byte  248                                 // clc
33058  .byte  194,119,115                         // retq          $0x7377
33059  .byte  248                                 // clc
33060  .byte  194,119,115                         // retq          $0x7377
33061  .byte  248                                 // clc
33062  .byte  194,117,191                         // retq          $0xbf75
33063  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
33064  .byte  63                                  // (bad)
33065  .byte  117,191                             // jne           6409 <.literal16+0x769>
33066  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
33067  .byte  63                                  // (bad)
33068  .byte  249                                 // stc
33069  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
33070  .byte  249                                 // stc
33071  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
33072  .byte  249                                 // stc
33073  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
33074  .byte  249                                 // stc
33075  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
33076  .byte  163,233,220,63,163,233,220,63,163   // movabs        %eax,0xa33fdce9a33fdce9
33077  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3a44a <_sk_callback_sse41+0xffffffffe9a3489c>
33078  .byte  220,63                              // fdivrl        (%rdi)
33079  .byte  81                                  // push          %rcx
33080  .byte  140,242                             // mov           %?,%edx
33081  .byte  66,81                               // rex.X         push %rcx
33082  .byte  140,242                             // mov           %?,%edx
33083  .byte  66,81                               // rex.X         push %rcx
33084  .byte  140,242                             // mov           %?,%edx
33085  .byte  66,81                               // rex.X         push %rcx
33086  .byte  140,242                             // mov           %?,%edx
33087  .byte  66,141,188,190,63,141,188,190       // lea           -0x414372c1(%rsi,%r15,4),%edi
33088  .byte  63                                  // (bad)
33089  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%rsi,%rdi,4),%edi
33090  .byte  63                                  // (bad)
33091  .byte  248                                 // clc
33092  .byte  245                                 // cmc
33093  .byte  154                                 // (bad)
33094  .byte  64,248                              // rex           clc
33095  .byte  245                                 // cmc
33096  .byte  154                                 // (bad)
33097  .byte  64,248                              // rex           clc
33098  .byte  245                                 // cmc
33099  .byte  154                                 // (bad)
33100  .byte  64,248                              // rex           clc
33101  .byte  245                                 // cmc
33102  .byte  154                                 // (bad)
33103  .byte  64,254                              // rex           (bad)
33104  .byte  210,221                             // rcr           %cl,%ch
33105  .byte  65,254                              // rex.B         (bad)
33106  .byte  210,221                             // rcr           %cl,%ch
33107  .byte  65,254                              // rex.B         (bad)
33108  .byte  210,221                             // rcr           %cl,%ch
33109  .byte  65,254                              // rex.B         (bad)
33110  .byte  210,221                             // rcr           %cl,%ch
33111  .byte  65,0,0                              // add           %al,(%r8)
33112  .byte  0,75,0                              // add           %cl,0x0(%rbx)
33113  .byte  0,0                                 // add           %al,(%rax)
33114  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
33115  .byte  0,75,0                              // add           %cl,0x0(%rbx)
33116  .byte  0,0                                 // add           %al,(%rax)
33117  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
33118  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33119  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
33120  .byte  63                                  // (bad)
33121  .byte  0,0                                 // add           %al,(%rax)
33122  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33123  .byte  0,0                                 // add           %al,(%rax)
33124  .byte  52,0                                // xor           $0x0,%al
33125  .byte  0,0                                 // add           %al,(%rax)
33126  .byte  52,0                                // xor           $0x0,%al
33127  .byte  0,0                                 // add           %al,(%rax)
33128  .byte  52,0                                // xor           $0x0,%al
33129  .byte  0,0                                 // add           %al,(%rax)
33130  .byte  52,255                              // xor           $0xff,%al
33131  .byte  255                                 // (bad)
33132  .byte  127,0                               // jg            64e4 <.literal16+0x844>
33133  .byte  255                                 // (bad)
33134  .byte  255                                 // (bad)
33135  .byte  127,0                               // jg            64e8 <.literal16+0x848>
33136  .byte  255                                 // (bad)
33137  .byte  255                                 // (bad)
33138  .byte  127,0                               // jg            64ec <.literal16+0x84c>
33139  .byte  255                                 // (bad)
33140  .byte  255                                 // (bad)
33141  .byte  127,0                               // jg            64f0 <.literal16+0x850>
33142  .byte  0,0                                 // add           %al,(%rax)
33143  .byte  0,63                                // add           %bh,(%rdi)
33144  .byte  0,0                                 // add           %al,(%rax)
33145  .byte  0,63                                // add           %bh,(%rdi)
33146  .byte  0,0                                 // add           %al,(%rax)
33147  .byte  0,63                                // add           %bh,(%rdi)
33148  .byte  0,0                                 // add           %al,(%rax)
33149  .byte  0,63                                // add           %bh,(%rdi)
33150  .byte  119,115                             // ja            6575 <.literal16+0x8d5>
33151  .byte  248                                 // clc
33152  .byte  194,119,115                         // retq          $0x7377
33153  .byte  248                                 // clc
33154  .byte  194,119,115                         // retq          $0x7377
33155  .byte  248                                 // clc
33156  .byte  194,119,115                         // retq          $0x7377
33157  .byte  248                                 // clc
33158  .byte  194,117,191                         // retq          $0xbf75
33159  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
33160  .byte  63                                  // (bad)
33161  .byte  117,191                             // jne           64d9 <.literal16+0x839>
33162  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
33163  .byte  63                                  // (bad)
33164  .byte  249                                 // stc
33165  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
33166  .byte  249                                 // stc
33167  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
33168  .byte  249                                 // stc
33169  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
33170  .byte  249                                 // stc
33171  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
33172  .byte  163,233,220,63,163,233,220,63,163   // movabs        %eax,0xa33fdce9a33fdce9
33173  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3a51a <_sk_callback_sse41+0xffffffffe9a3496c>
33174  .byte  220,63                              // fdivrl        (%rdi)
33175  .byte  81                                  // push          %rcx
33176  .byte  140,242                             // mov           %?,%edx
33177  .byte  66,81                               // rex.X         push %rcx
33178  .byte  140,242                             // mov           %?,%edx
33179  .byte  66,81                               // rex.X         push %rcx
33180  .byte  140,242                             // mov           %?,%edx
33181  .byte  66,81                               // rex.X         push %rcx
33182  .byte  140,242                             // mov           %?,%edx
33183  .byte  66,141,188,190,63,141,188,190       // lea           -0x414372c1(%rsi,%r15,4),%edi
33184  .byte  63                                  // (bad)
33185  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%rsi,%rdi,4),%edi
33186  .byte  63                                  // (bad)
33187  .byte  248                                 // clc
33188  .byte  245                                 // cmc
33189  .byte  154                                 // (bad)
33190  .byte  64,248                              // rex           clc
33191  .byte  245                                 // cmc
33192  .byte  154                                 // (bad)
33193  .byte  64,248                              // rex           clc
33194  .byte  245                                 // cmc
33195  .byte  154                                 // (bad)
33196  .byte  64,248                              // rex           clc
33197  .byte  245                                 // cmc
33198  .byte  154                                 // (bad)
33199  .byte  64,254                              // rex           (bad)
33200  .byte  210,221                             // rcr           %cl,%ch
33201  .byte  65,254                              // rex.B         (bad)
33202  .byte  210,221                             // rcr           %cl,%ch
33203  .byte  65,254                              // rex.B         (bad)
33204  .byte  210,221                             // rcr           %cl,%ch
33205  .byte  65,254                              // rex.B         (bad)
33206  .byte  210,221                             // rcr           %cl,%ch
33207  .byte  65,0,0                              // add           %al,(%r8)
33208  .byte  0,75,0                              // add           %cl,0x0(%rbx)
33209  .byte  0,0                                 // add           %al,(%rax)
33210  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
33211  .byte  0,75,0                              // add           %cl,0x0(%rbx)
33212  .byte  0,0                                 // add           %al,(%rax)
33213  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
33214  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33215  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
33216  .byte  63                                  // (bad)
33217  .byte  0,0                                 // add           %al,(%rax)
33218  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33219  .byte  0,0                                 // add           %al,(%rax)
33220  .byte  52,0                                // xor           $0x0,%al
33221  .byte  0,0                                 // add           %al,(%rax)
33222  .byte  52,0                                // xor           $0x0,%al
33223  .byte  0,0                                 // add           %al,(%rax)
33224  .byte  52,0                                // xor           $0x0,%al
33225  .byte  0,0                                 // add           %al,(%rax)
33226  .byte  52,255                              // xor           $0xff,%al
33227  .byte  255                                 // (bad)
33228  .byte  127,0                               // jg            65b4 <.literal16+0x914>
33229  .byte  255                                 // (bad)
33230  .byte  255                                 // (bad)
33231  .byte  127,0                               // jg            65b8 <.literal16+0x918>
33232  .byte  255                                 // (bad)
33233  .byte  255                                 // (bad)
33234  .byte  127,0                               // jg            65bc <.literal16+0x91c>
33235  .byte  255                                 // (bad)
33236  .byte  255                                 // (bad)
33237  .byte  127,0                               // jg            65c0 <.literal16+0x920>
33238  .byte  0,0                                 // add           %al,(%rax)
33239  .byte  0,63                                // add           %bh,(%rdi)
33240  .byte  0,0                                 // add           %al,(%rax)
33241  .byte  0,63                                // add           %bh,(%rdi)
33242  .byte  0,0                                 // add           %al,(%rax)
33243  .byte  0,63                                // add           %bh,(%rdi)
33244  .byte  0,0                                 // add           %al,(%rax)
33245  .byte  0,63                                // add           %bh,(%rdi)
33246  .byte  119,115                             // ja            6645 <.literal16+0x9a5>
33247  .byte  248                                 // clc
33248  .byte  194,119,115                         // retq          $0x7377
33249  .byte  248                                 // clc
33250  .byte  194,119,115                         // retq          $0x7377
33251  .byte  248                                 // clc
33252  .byte  194,119,115                         // retq          $0x7377
33253  .byte  248                                 // clc
33254  .byte  194,117,191                         // retq          $0xbf75
33255  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
33256  .byte  63                                  // (bad)
33257  .byte  117,191                             // jne           65a9 <.literal16+0x909>
33258  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
33259  .byte  63                                  // (bad)
33260  .byte  249                                 // stc
33261  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
33262  .byte  249                                 // stc
33263  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
33264  .byte  249                                 // stc
33265  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
33266  .byte  249                                 // stc
33267  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
33268  .byte  163,233,220,63,163,233,220,63,163   // movabs        %eax,0xa33fdce9a33fdce9
33269  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3a5ea <_sk_callback_sse41+0xffffffffe9a34a3c>
33270  .byte  220,63                              // fdivrl        (%rdi)
33271  .byte  81                                  // push          %rcx
33272  .byte  140,242                             // mov           %?,%edx
33273  .byte  66,81                               // rex.X         push %rcx
33274  .byte  140,242                             // mov           %?,%edx
33275  .byte  66,81                               // rex.X         push %rcx
33276  .byte  140,242                             // mov           %?,%edx
33277  .byte  66,81                               // rex.X         push %rcx
33278  .byte  140,242                             // mov           %?,%edx
33279  .byte  66,141,188,190,63,141,188,190       // lea           -0x414372c1(%rsi,%r15,4),%edi
33280  .byte  63                                  // (bad)
33281  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%rsi,%rdi,4),%edi
33282  .byte  63                                  // (bad)
33283  .byte  248                                 // clc
33284  .byte  245                                 // cmc
33285  .byte  154                                 // (bad)
33286  .byte  64,248                              // rex           clc
33287  .byte  245                                 // cmc
33288  .byte  154                                 // (bad)
33289  .byte  64,248                              // rex           clc
33290  .byte  245                                 // cmc
33291  .byte  154                                 // (bad)
33292  .byte  64,248                              // rex           clc
33293  .byte  245                                 // cmc
33294  .byte  154                                 // (bad)
33295  .byte  64,254                              // rex           (bad)
33296  .byte  210,221                             // rcr           %cl,%ch
33297  .byte  65,254                              // rex.B         (bad)
33298  .byte  210,221                             // rcr           %cl,%ch
33299  .byte  65,254                              // rex.B         (bad)
33300  .byte  210,221                             // rcr           %cl,%ch
33301  .byte  65,254                              // rex.B         (bad)
33302  .byte  210,221                             // rcr           %cl,%ch
33303  .byte  65,0,0                              // add           %al,(%r8)
33304  .byte  0,75,0                              // add           %cl,0x0(%rbx)
33305  .byte  0,0                                 // add           %al,(%rax)
33306  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
33307  .byte  0,75,0                              // add           %cl,0x0(%rbx)
33308  .byte  0,0                                 // add           %al,(%rax)
33309  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
33310  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33311  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
33312  .byte  63                                  // (bad)
33313  .byte  0,0                                 // add           %al,(%rax)
33314  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33315  .byte  0,200                               // add           %cl,%al
33316  .byte  66,0,0                              // rex.X         add %al,(%rax)
33317  .byte  200,66,0,0                          // enterq        $0x42,$0x0
33318  .byte  200,66,0,0                          // enterq        $0x42,$0x0
33319  .byte  200,66,0,0                          // enterq        $0x42,$0x0
33320  .byte  127,67                              // jg            66c7 <.literal16+0xa27>
33321  .byte  0,0                                 // add           %al,(%rax)
33322  .byte  127,67                              // jg            66cb <.literal16+0xa2b>
33323  .byte  0,0                                 // add           %al,(%rax)
33324  .byte  127,67                              // jg            66cf <.literal16+0xa2f>
33325  .byte  0,0                                 // add           %al,(%rax)
33326  .byte  127,67                              // jg            66d3 <.literal16+0xa33>
33327  .byte  0,0                                 // add           %al,(%rax)
33328  .byte  0,195                               // add           %al,%bl
33329  .byte  0,0                                 // add           %al,(%rax)
33330  .byte  0,195                               // add           %al,%bl
33331  .byte  0,0                                 // add           %al,(%rax)
33332  .byte  0,195                               // add           %al,%bl
33333  .byte  0,0                                 // add           %al,(%rax)
33334  .byte  0,195                               // add           %al,%bl
33335  .byte  0,0                                 // add           %al,(%rax)
33336  .byte  128,65,0,0                          // addb          $0x0,0x0(%rcx)
33337  .byte  128,65,0,0                          // addb          $0x0,0x0(%rcx)
33338  .byte  128,65,0,0                          // addb          $0x0,0x0(%rcx)
33339  .byte  128,65,203,61                       // addb          $0x3d,-0x35(%rcx)
33340  .byte  13,60,203,61,13                     // or            $0xd3dcb3c,%eax
33341  .byte  60,203                              // cmp           $0xcb,%al
33342  .byte  61,13,60,203,61                     // cmp           $0x3dcb3c0d,%eax
33343  .byte  13,60,111,18,3                      // or            $0x3126f3c,%eax
33344  .byte  59,111,18                           // cmp           0x12(%rdi),%ebp
33345  .byte  3,59                                // add           (%rbx),%edi
33346  .byte  111                                 // outsl         %ds:(%rsi),(%dx)
33347  .byte  18,3                                // adc           (%rbx),%al
33348  .byte  59,111,18                           // cmp           0x12(%rdi),%ebp
33349  .byte  3,59                                // add           (%rbx),%edi
33350  .byte  10,215                              // or            %bh,%dl
33351  .byte  163,59,10,215,163,59,10,215,163     // movabs        %eax,0xa3d70a3ba3d70a3b
33352  .byte  59,10                               // cmp           (%rdx),%ecx
33353  .byte  215                                 // xlat          %ds:(%rbx)
33354  .byte  163,59,194,24,17,60,194,24,17       // movabs        %eax,0x1118c23c1118c23b
33355  .byte  60,194                              // cmp           $0xc2,%al
33356  .byte  24,17                               // sbb           %dl,(%rcx)
33357  .byte  60,194                              // cmp           $0xc2,%al
33358  .byte  24,17                               // sbb           %dl,(%rcx)
33359  .byte  60,203                              // cmp           $0xcb,%al
33360  .byte  61,13,190,203,61                    // cmp           $0x3dcbbe0d,%eax
33361  .byte  13,190,203,61,13                    // or            $0xd3dcbbe,%eax
33362  .byte  190,203,61,13,190                   // mov           $0xbe0d3dcb,%esi
33363  .byte  80                                  // push          %rax
33364  .byte  128,3,62                            // addb          $0x3e,(%rbx)
33365  .byte  80                                  // push          %rax
33366  .byte  128,3,62                            // addb          $0x3e,(%rbx)
33367  .byte  80                                  // push          %rax
33368  .byte  128,3,62                            // addb          $0x3e,(%rbx)
33369  .byte  80                                  // push          %rax
33370  .byte  128,3,62                            // addb          $0x3e,(%rbx)
33371  .byte  31                                  // (bad)
33372  .byte  215                                 // xlat          %ds:(%rbx)
33373  .byte  118,63                              // jbe           6753 <.literal16+0xab3>
33374  .byte  31                                  // (bad)
33375  .byte  215                                 // xlat          %ds:(%rbx)
33376  .byte  118,63                              // jbe           6757 <.literal16+0xab7>
33377  .byte  31                                  // (bad)
33378  .byte  215                                 // xlat          %ds:(%rbx)
33379  .byte  118,63                              // jbe           675b <.literal16+0xabb>
33380  .byte  31                                  // (bad)
33381  .byte  215                                 // xlat          %ds:(%rbx)
33382  .byte  118,63                              // jbe           675f <.literal16+0xabf>
33383  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
33384  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
33385  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
33386  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
33387  .byte  255,0                               // incl          (%rax)
33388  .byte  0,0                                 // add           %al,(%rax)
33389  .byte  255,0                               // incl          (%rax)
33390  .byte  0,0                                 // add           %al,(%rax)
33391  .byte  255,0                               // incl          (%rax)
33392  .byte  0,0                                 // add           %al,(%rax)
33393  .byte  255,0                               // incl          (%rax)
33394  .byte  0,0                                 // add           %al,(%rax)
33395  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
33396  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
33397  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%rax)
33398  .byte  255,0                               // incl          (%rax)
33399  .byte  0,0                                 // add           %al,(%rax)
33400  .byte  255,0                               // incl          (%rax)
33401  .byte  0,0                                 // add           %al,(%rax)
33402  .byte  255,0                               // incl          (%rax)
33403  .byte  0,0                                 // add           %al,(%rax)
33404  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
33405  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
33406  .byte  128,128,59,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%rax)
33407  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
33408  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
33409  .byte  0,127,67                            // add           %bh,0x43(%rdi)
33410  .byte  0,0                                 // add           %al,(%rax)
33411  .byte  127,67                              // jg            67cb <.literal16+0xb2b>
33412  .byte  0,0                                 // add           %al,(%rax)
33413  .byte  127,67                              // jg            67cf <.literal16+0xb2f>
33414  .byte  0,0                                 // add           %al,(%rax)
33415  .byte  127,67                              // jg            67d3 <.literal16+0xb33>
33416  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
33417  .byte  0,0                                 // add           %al,(%rax)
33418  .byte  0,0                                 // add           %al,(%rax)
33419  .byte  0,0                                 // add           %al,(%rax)
33420  .byte  0,0                                 // add           %al,(%rax)
33421  .byte  0,0                                 // add           %al,(%rax)
33422  .byte  0,0                                 // add           %al,(%rax)
33423  .byte  0,255                               // add           %bh,%bh
33424  .byte  0,0                                 // add           %al,(%rax)
33425  .byte  0,255                               // add           %bh,%bh
33426  .byte  0,0                                 // add           %al,(%rax)
33427  .byte  0,255                               // add           %bh,%bh
33428  .byte  0,0                                 // add           %al,(%rax)
33429  .byte  0,255                               // add           %bh,%bh
33430  .byte  0,0                                 // add           %al,(%rax)
33431  .byte  0,129,128,128,59,129                // add           %al,-0x7ec47f80(%rcx)
33432  .byte  128,128,59,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%rax)
33433  .byte  129,128,128,59,0,0,128,63,0,0       // addl          $0x3f80,0x3b80(%rax)
33434  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33435  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
33436  .byte  63                                  // (bad)
33437  .byte  255,0                               // incl          (%rax)
33438  .byte  0,0                                 // add           %al,(%rax)
33439  .byte  255,0                               // incl          (%rax)
33440  .byte  0,0                                 // add           %al,(%rax)
33441  .byte  255,0                               // incl          (%rax)
33442  .byte  0,0                                 // add           %al,(%rax)
33443  .byte  255,0                               // incl          (%rax)
33444  .byte  0,0                                 // add           %al,(%rax)
33445  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
33446  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
33447  .byte  128,128,59,0,0,128,63               // addb          $0x3f,-0x7fffffc5(%rax)
33448  .byte  0,0                                 // add           %al,(%rax)
33449  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33450  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
33451  .byte  63                                  // (bad)
33452  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
33453  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
33454  .byte  128,128,59,0,0,128,63               // addb          $0x3f,-0x7fffffc5(%rax)
33455  .byte  0,0                                 // add           %al,(%rax)
33456  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33457  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
33458  .byte  63                                  // (bad)
33459  .byte  0,248                               // add           %bh,%al
33460  .byte  0,0                                 // add           %al,(%rax)
33461  .byte  0,248                               // add           %bh,%al
33462  .byte  0,0                                 // add           %al,(%rax)
33463  .byte  0,248                               // add           %bh,%al
33464  .byte  0,0                                 // add           %al,(%rax)
33465  .byte  0,248                               // add           %bh,%al
33466  .byte  0,0                                 // add           %al,(%rax)
33467  .byte  8,33                                // or            %ah,(%rcx)
33468  .byte  132,55                              // test          %dh,(%rdi)
33469  .byte  8,33                                // or            %ah,(%rcx)
33470  .byte  132,55                              // test          %dh,(%rdi)
33471  .byte  8,33                                // or            %ah,(%rcx)
33472  .byte  132,55                              // test          %dh,(%rdi)
33473  .byte  8,33                                // or            %ah,(%rcx)
33474  .byte  132,55                              // test          %dh,(%rdi)
33475  .byte  224,7                               // loopne        6849 <.literal16+0xba9>
33476  .byte  0,0                                 // add           %al,(%rax)
33477  .byte  224,7                               // loopne        684d <.literal16+0xbad>
33478  .byte  0,0                                 // add           %al,(%rax)
33479  .byte  224,7                               // loopne        6851 <.literal16+0xbb1>
33480  .byte  0,0                                 // add           %al,(%rax)
33481  .byte  224,7                               // loopne        6855 <.literal16+0xbb5>
33482  .byte  0,0                                 // add           %al,(%rax)
33483  .byte  33,8                                // and           %ecx,(%rax)
33484  .byte  2,58                                // add           (%rdx),%bh
33485  .byte  33,8                                // and           %ecx,(%rax)
33486  .byte  2,58                                // add           (%rdx),%bh
33487  .byte  33,8                                // and           %ecx,(%rax)
33488  .byte  2,58                                // add           (%rdx),%bh
33489  .byte  33,8                                // and           %ecx,(%rax)
33490  .byte  2,58                                // add           (%rdx),%bh
33491  .byte  31                                  // (bad)
33492  .byte  0,0                                 // add           %al,(%rax)
33493  .byte  0,31                                // add           %bl,(%rdi)
33494  .byte  0,0                                 // add           %al,(%rax)
33495  .byte  0,31                                // add           %bl,(%rdi)
33496  .byte  0,0                                 // add           %al,(%rax)
33497  .byte  0,31                                // add           %bl,(%rdi)
33498  .byte  0,0                                 // add           %al,(%rax)
33499  .byte  0,8                                 // add           %cl,(%rax)
33500  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%rdi,1)
33501  .byte  8,33                                // or            %ah,(%rcx)
33502  .byte  4,61                                // add           $0x3d,%al
33503  .byte  8,33                                // or            %ah,(%rcx)
33504  .byte  4,61                                // add           $0x3d,%al
33505  .byte  0,0                                 // add           %al,(%rax)
33506  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33507  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
33508  .byte  63                                  // (bad)
33509  .byte  0,0                                 // add           %al,(%rax)
33510  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33511  .byte  248                                 // clc
33512  .byte  0,0                                 // add           %al,(%rax)
33513  .byte  0,248                               // add           %bh,%al
33514  .byte  0,0                                 // add           %al,(%rax)
33515  .byte  0,248                               // add           %bh,%al
33516  .byte  0,0                                 // add           %al,(%rax)
33517  .byte  0,248                               // add           %bh,%al
33518  .byte  0,0                                 // add           %al,(%rax)
33519  .byte  8,33                                // or            %ah,(%rcx)
33520  .byte  132,55                              // test          %dh,(%rdi)
33521  .byte  8,33                                // or            %ah,(%rcx)
33522  .byte  132,55                              // test          %dh,(%rdi)
33523  .byte  8,33                                // or            %ah,(%rcx)
33524  .byte  132,55                              // test          %dh,(%rdi)
33525  .byte  8,33                                // or            %ah,(%rcx)
33526  .byte  132,55                              // test          %dh,(%rdi)
33527  .byte  224,7                               // loopne        68b9 <.literal16+0xc19>
33528  .byte  0,0                                 // add           %al,(%rax)
33529  .byte  224,7                               // loopne        68bd <.literal16+0xc1d>
33530  .byte  0,0                                 // add           %al,(%rax)
33531  .byte  224,7                               // loopne        68c1 <.literal16+0xc21>
33532  .byte  0,0                                 // add           %al,(%rax)
33533  .byte  224,7                               // loopne        68c5 <.literal16+0xc25>
33534  .byte  0,0                                 // add           %al,(%rax)
33535  .byte  33,8                                // and           %ecx,(%rax)
33536  .byte  2,58                                // add           (%rdx),%bh
33537  .byte  33,8                                // and           %ecx,(%rax)
33538  .byte  2,58                                // add           (%rdx),%bh
33539  .byte  33,8                                // and           %ecx,(%rax)
33540  .byte  2,58                                // add           (%rdx),%bh
33541  .byte  33,8                                // and           %ecx,(%rax)
33542  .byte  2,58                                // add           (%rdx),%bh
33543  .byte  31                                  // (bad)
33544  .byte  0,0                                 // add           %al,(%rax)
33545  .byte  0,31                                // add           %bl,(%rdi)
33546  .byte  0,0                                 // add           %al,(%rax)
33547  .byte  0,31                                // add           %bl,(%rdi)
33548  .byte  0,0                                 // add           %al,(%rax)
33549  .byte  0,31                                // add           %bl,(%rdi)
33550  .byte  0,0                                 // add           %al,(%rax)
33551  .byte  0,8                                 // add           %cl,(%rax)
33552  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%rdi,1)
33553  .byte  8,33                                // or            %ah,(%rcx)
33554  .byte  4,61                                // add           $0x3d,%al
33555  .byte  8,33                                // or            %ah,(%rcx)
33556  .byte  4,61                                // add           $0x3d,%al
33557  .byte  0,0                                 // add           %al,(%rax)
33558  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33559  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
33560  .byte  63                                  // (bad)
33561  .byte  0,0                                 // add           %al,(%rax)
33562  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33563  .byte  248                                 // clc
33564  .byte  0,0                                 // add           %al,(%rax)
33565  .byte  0,248                               // add           %bh,%al
33566  .byte  0,0                                 // add           %al,(%rax)
33567  .byte  0,248                               // add           %bh,%al
33568  .byte  0,0                                 // add           %al,(%rax)
33569  .byte  0,248                               // add           %bh,%al
33570  .byte  0,0                                 // add           %al,(%rax)
33571  .byte  8,33                                // or            %ah,(%rcx)
33572  .byte  132,55                              // test          %dh,(%rdi)
33573  .byte  8,33                                // or            %ah,(%rcx)
33574  .byte  132,55                              // test          %dh,(%rdi)
33575  .byte  8,33                                // or            %ah,(%rcx)
33576  .byte  132,55                              // test          %dh,(%rdi)
33577  .byte  8,33                                // or            %ah,(%rcx)
33578  .byte  132,55                              // test          %dh,(%rdi)
33579  .byte  224,7                               // loopne        6929 <.literal16+0xc89>
33580  .byte  0,0                                 // add           %al,(%rax)
33581  .byte  224,7                               // loopne        692d <.literal16+0xc8d>
33582  .byte  0,0                                 // add           %al,(%rax)
33583  .byte  224,7                               // loopne        6931 <.literal16+0xc91>
33584  .byte  0,0                                 // add           %al,(%rax)
33585  .byte  224,7                               // loopne        6935 <.literal16+0xc95>
33586  .byte  0,0                                 // add           %al,(%rax)
33587  .byte  33,8                                // and           %ecx,(%rax)
33588  .byte  2,58                                // add           (%rdx),%bh
33589  .byte  33,8                                // and           %ecx,(%rax)
33590  .byte  2,58                                // add           (%rdx),%bh
33591  .byte  33,8                                // and           %ecx,(%rax)
33592  .byte  2,58                                // add           (%rdx),%bh
33593  .byte  33,8                                // and           %ecx,(%rax)
33594  .byte  2,58                                // add           (%rdx),%bh
33595  .byte  31                                  // (bad)
33596  .byte  0,0                                 // add           %al,(%rax)
33597  .byte  0,31                                // add           %bl,(%rdi)
33598  .byte  0,0                                 // add           %al,(%rax)
33599  .byte  0,31                                // add           %bl,(%rdi)
33600  .byte  0,0                                 // add           %al,(%rax)
33601  .byte  0,31                                // add           %bl,(%rdi)
33602  .byte  0,0                                 // add           %al,(%rax)
33603  .byte  0,8                                 // add           %cl,(%rax)
33604  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%rdi,1)
33605  .byte  8,33                                // or            %ah,(%rcx)
33606  .byte  4,61                                // add           $0x3d,%al
33607  .byte  8,33                                // or            %ah,(%rcx)
33608  .byte  4,61                                // add           $0x3d,%al
33609  .byte  0,0                                 // add           %al,(%rax)
33610  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33611  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
33612  .byte  63                                  // (bad)
33613  .byte  0,0                                 // add           %al,(%rax)
33614  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
33615  .byte  0,248                               // add           %bh,%al
33616  .byte  65,0,0                              // add           %al,(%r8)
33617  .byte  248                                 // clc
33618  .byte  65,0,0                              // add           %al,(%r8)
33619  .byte  248                                 // clc
33620  .byte  65,0,0                              // add           %al,(%r8)
33621  .byte  248                                 // clc
33622  .byte  65,0,0                              // add           %al,(%r8)
33623  .byte  124,66                              // jl            69c6 <.literal16+0xd26>
33624  .byte  0,0                                 // add           %al,(%rax)
33625  .byte  124,66                              // jl            69ca <.literal16+0xd2a>
33626  .byte  0,0                                 // add           %al,(%rax)
33627  .byte  124,66                              // jl            69ce <.literal16+0xd2e>
33628  .byte  0,0                                 // add           %al,(%rax)
33629  .byte  124,66                              // jl            69d2 <.literal16+0xd32>
33630  .byte  0,240                               // add           %dh,%al
33631  .byte  0,0                                 // add           %al,(%rax)
33632  .byte  0,240                               // add           %dh,%al
33633  .byte  0,0                                 // add           %al,(%rax)
33634  .byte  0,240                               // add           %dh,%al
33635  .byte  0,0                                 // add           %al,(%rax)
33636  .byte  0,240                               // add           %dh,%al
33637  .byte  0,0                                 // add           %al,(%rax)
33638  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
33639  .byte  136,55                              // mov           %dh,(%rdi)
33640  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
33641  .byte  136,55                              // mov           %dh,(%rdi)
33642  .byte  0,15                                // add           %cl,(%rdi)
33643  .byte  0,0                                 // add           %al,(%rax)
33644  .byte  0,15                                // add           %cl,(%rdi)
33645  .byte  0,0                                 // add           %al,(%rax)
33646  .byte  0,15                                // add           %cl,(%rdi)
33647  .byte  0,0                                 // add           %al,(%rax)
33648  .byte  0,15                                // add           %cl,(%rdi)
33649  .byte  0,0                                 // add           %al,(%rax)
33650  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
33651  .byte  136,57                              // mov           %bh,(%rcx)
33652  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
33653  .byte  136,57                              // mov           %bh,(%rcx)
33654  .byte  240,0,0                             // lock          add %al,(%rax)
33655  .byte  0,240                               // add           %dh,%al
33656  .byte  0,0                                 // add           %al,(%rax)
33657  .byte  0,240                               // add           %dh,%al
33658  .byte  0,0                                 // add           %al,(%rax)
33659  .byte  0,240                               // add           %dh,%al
33660  .byte  0,0                                 // add           %al,(%rax)
33661  .byte  0,137,136,136,59,137                // add           %cl,-0x76c47778(%rcx)
33662  .byte  136,136,59,137,136,136              // mov           %cl,-0x777776c5(%rax)
33663  .byte  59,137,136,136,59,15                // cmp           0xf3b8888(%rcx),%ecx
33664  .byte  0,0                                 // add           %al,(%rax)
33665  .byte  0,15                                // add           %cl,(%rdi)
33666  .byte  0,0                                 // add           %al,(%rax)
33667  .byte  0,15                                // add           %cl,(%rdi)
33668  .byte  0,0                                 // add           %al,(%rax)
33669  .byte  0,15                                // add           %cl,(%rdi)
33670  .byte  0,0                                 // add           %al,(%rax)
33671  .byte  0,137,136,136,61,137                // add           %cl,-0x76c27778(%rcx)
33672  .byte  136,136,61,137,136,136              // mov           %cl,-0x777776c3(%rax)
33673  .byte  61,137,136,136,61                   // cmp           $0x3d888889,%eax
33674  .byte  0,240                               // add           %dh,%al
33675  .byte  0,0                                 // add           %al,(%rax)
33676  .byte  0,240                               // add           %dh,%al
33677  .byte  0,0                                 // add           %al,(%rax)
33678  .byte  0,240                               // add           %dh,%al
33679  .byte  0,0                                 // add           %al,(%rax)
33680  .byte  0,240                               // add           %dh,%al
33681  .byte  0,0                                 // add           %al,(%rax)
33682  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
33683  .byte  136,55                              // mov           %dh,(%rdi)
33684  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
33685  .byte  136,55                              // mov           %dh,(%rdi)
33686  .byte  0,15                                // add           %cl,(%rdi)
33687  .byte  0,0                                 // add           %al,(%rax)
33688  .byte  0,15                                // add           %cl,(%rdi)
33689  .byte  0,0                                 // add           %al,(%rax)
33690  .byte  0,15                                // add           %cl,(%rdi)
33691  .byte  0,0                                 // add           %al,(%rax)
33692  .byte  0,15                                // add           %cl,(%rdi)
33693  .byte  0,0                                 // add           %al,(%rax)
33694  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
33695  .byte  136,57                              // mov           %bh,(%rcx)
33696  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
33697  .byte  136,57                              // mov           %bh,(%rcx)
33698  .byte  240,0,0                             // lock          add %al,(%rax)
33699  .byte  0,240                               // add           %dh,%al
33700  .byte  0,0                                 // add           %al,(%rax)
33701  .byte  0,240                               // add           %dh,%al
33702  .byte  0,0                                 // add           %al,(%rax)
33703  .byte  0,240                               // add           %dh,%al
33704  .byte  0,0                                 // add           %al,(%rax)
33705  .byte  0,137,136,136,59,137                // add           %cl,-0x76c47778(%rcx)
33706  .byte  136,136,59,137,136,136              // mov           %cl,-0x777776c5(%rax)
33707  .byte  59,137,136,136,59,15                // cmp           0xf3b8888(%rcx),%ecx
33708  .byte  0,0                                 // add           %al,(%rax)
33709  .byte  0,15                                // add           %cl,(%rdi)
33710  .byte  0,0                                 // add           %al,(%rax)
33711  .byte  0,15                                // add           %cl,(%rdi)
33712  .byte  0,0                                 // add           %al,(%rax)
33713  .byte  0,15                                // add           %cl,(%rdi)
33714  .byte  0,0                                 // add           %al,(%rax)
33715  .byte  0,137,136,136,61,137                // add           %cl,-0x76c27778(%rcx)
33716  .byte  136,136,61,137,136,136              // mov           %cl,-0x777776c3(%rax)
33717  .byte  61,137,136,136,61                   // cmp           $0x3d888889,%eax
33718  .byte  0,240                               // add           %dh,%al
33719  .byte  0,0                                 // add           %al,(%rax)
33720  .byte  0,240                               // add           %dh,%al
33721  .byte  0,0                                 // add           %al,(%rax)
33722  .byte  0,240                               // add           %dh,%al
33723  .byte  0,0                                 // add           %al,(%rax)
33724  .byte  0,240                               // add           %dh,%al
33725  .byte  0,0                                 // add           %al,(%rax)
33726  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
33727  .byte  136,55                              // mov           %dh,(%rdi)
33728  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
33729  .byte  136,55                              // mov           %dh,(%rdi)
33730  .byte  0,15                                // add           %cl,(%rdi)
33731  .byte  0,0                                 // add           %al,(%rax)
33732  .byte  0,15                                // add           %cl,(%rdi)
33733  .byte  0,0                                 // add           %al,(%rax)
33734  .byte  0,15                                // add           %cl,(%rdi)
33735  .byte  0,0                                 // add           %al,(%rax)
33736  .byte  0,15                                // add           %cl,(%rdi)
33737  .byte  0,0                                 // add           %al,(%rax)
33738  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
33739  .byte  136,57                              // mov           %bh,(%rcx)
33740  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
33741  .byte  136,57                              // mov           %bh,(%rcx)
33742  .byte  240,0,0                             // lock          add %al,(%rax)
33743  .byte  0,240                               // add           %dh,%al
33744  .byte  0,0                                 // add           %al,(%rax)
33745  .byte  0,240                               // add           %dh,%al
33746  .byte  0,0                                 // add           %al,(%rax)
33747  .byte  0,240                               // add           %dh,%al
33748  .byte  0,0                                 // add           %al,(%rax)
33749  .byte  0,137,136,136,59,137                // add           %cl,-0x76c47778(%rcx)
33750  .byte  136,136,59,137,136,136              // mov           %cl,-0x777776c5(%rax)
33751  .byte  59,137,136,136,59,15                // cmp           0xf3b8888(%rcx),%ecx
33752  .byte  0,0                                 // add           %al,(%rax)
33753  .byte  0,15                                // add           %cl,(%rdi)
33754  .byte  0,0                                 // add           %al,(%rax)
33755  .byte  0,15                                // add           %cl,(%rdi)
33756  .byte  0,0                                 // add           %al,(%rax)
33757  .byte  0,15                                // add           %cl,(%rdi)
33758  .byte  0,0                                 // add           %al,(%rax)
33759  .byte  0,137,136,136,61,137                // add           %cl,-0x76c27778(%rcx)
33760  .byte  136,136,61,137,136,136              // mov           %cl,-0x777776c3(%rax)
33761  .byte  61,137,136,136,61                   // cmp           $0x3d888889,%eax
33762  .byte  0,0                                 // add           %al,(%rax)
33763  .byte  112,65                              // jo            6b55 <.literal16+0xeb5>
33764  .byte  0,0                                 // add           %al,(%rax)
33765  .byte  112,65                              // jo            6b59 <.literal16+0xeb9>
33766  .byte  0,0                                 // add           %al,(%rax)
33767  .byte  112,65                              // jo            6b5d <.literal16+0xebd>
33768  .byte  0,0                                 // add           %al,(%rax)
33769  .byte  112,65                              // jo            6b61 <.literal16+0xec1>
33770  .byte  255,0                               // incl          (%rax)
33771  .byte  0,0                                 // add           %al,(%rax)
33772  .byte  255,0                               // incl          (%rax)
33773  .byte  0,0                                 // add           %al,(%rax)
33774  .byte  255,0                               // incl          (%rax)
33775  .byte  0,0                                 // add           %al,(%rax)
33776  .byte  255,0                               // incl          (%rax)
33777  .byte  0,0                                 // add           %al,(%rax)
33778  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
33779  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
33780  .byte  128,128,59,1,255,255,255            // addb          $0xff,-0xfec5(%rax)
33781  .byte  5,255,255,255,9                     // add           $0x9ffffff,%eax
33782  .byte  255                                 // (bad)
33783  .byte  255                                 // (bad)
33784  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3006b50 <_sk_callback_sse41+0x3000fa2>
33785  .byte  255                                 // (bad)
33786  .byte  255                                 // (bad)
33787  .byte  255,6                               // incl          (%rsi)
33788  .byte  255                                 // (bad)
33789  .byte  255                                 // (bad)
33790  .byte  255,10                              // decl          (%rdx)
33791  .byte  255                                 // (bad)
33792  .byte  255                                 // (bad)
33793  .byte  255,14                              // decl          (%rsi)
33794  .byte  255                                 // (bad)
33795  .byte  255                                 // (bad)
33796  .byte  255                                 // (bad)
33797  .byte  255,0                               // incl          (%rax)
33798  .byte  0,0                                 // add           %al,(%rax)
33799  .byte  255,0                               // incl          (%rax)
33800  .byte  0,0                                 // add           %al,(%rax)
33801  .byte  255,0                               // incl          (%rax)
33802  .byte  0,0                                 // add           %al,(%rax)
33803  .byte  255,0                               // incl          (%rax)
33804  .byte  0,0                                 // add           %al,(%rax)
33805  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
33806  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
33807  .byte  128,128,59,1,255,255,255            // addb          $0xff,-0xfec5(%rax)
33808  .byte  5,255,255,255,9                     // add           $0x9ffffff,%eax
33809  .byte  255                                 // (bad)
33810  .byte  255                                 // (bad)
33811  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3006b90 <_sk_callback_sse41+0x3000fe2>
33812  .byte  255                                 // (bad)
33813  .byte  255                                 // (bad)
33814  .byte  255,6                               // incl          (%rsi)
33815  .byte  255                                 // (bad)
33816  .byte  255                                 // (bad)
33817  .byte  255,10                              // decl          (%rdx)
33818  .byte  255                                 // (bad)
33819  .byte  255                                 // (bad)
33820  .byte  255,14                              // decl          (%rsi)
33821  .byte  255                                 // (bad)
33822  .byte  255                                 // (bad)
33823  .byte  255                                 // (bad)
33824  .byte  255,0                               // incl          (%rax)
33825  .byte  0,0                                 // add           %al,(%rax)
33826  .byte  255,0                               // incl          (%rax)
33827  .byte  0,0                                 // add           %al,(%rax)
33828  .byte  255,0                               // incl          (%rax)
33829  .byte  0,0                                 // add           %al,(%rax)
33830  .byte  255,0                               // incl          (%rax)
33831  .byte  0,0                                 // add           %al,(%rax)
33832  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
33833  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
33834  .byte  128,128,59,1,255,255,255            // addb          $0xff,-0xfec5(%rax)
33835  .byte  5,255,255,255,9                     // add           $0x9ffffff,%eax
33836  .byte  255                                 // (bad)
33837  .byte  255                                 // (bad)
33838  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3006bd0 <_sk_callback_sse41+0x3001022>
33839  .byte  255                                 // (bad)
33840  .byte  255                                 // (bad)
33841  .byte  255,6                               // incl          (%rsi)
33842  .byte  255                                 // (bad)
33843  .byte  255                                 // (bad)
33844  .byte  255,10                              // decl          (%rdx)
33845  .byte  255                                 // (bad)
33846  .byte  255                                 // (bad)
33847  .byte  255,14                              // decl          (%rsi)
33848  .byte  255                                 // (bad)
33849  .byte  255                                 // (bad)
33850  .byte  255,0                               // incl          (%rax)
33851  .byte  0,127,67                            // add           %bh,0x43(%rdi)
33852  .byte  0,0                                 // add           %al,(%rax)
33853  .byte  127,67                              // jg            6c2b <.literal16+0xf8b>
33854  .byte  0,0                                 // add           %al,(%rax)
33855  .byte  127,67                              // jg            6c2f <.literal16+0xf8f>
33856  .byte  0,0                                 // add           %al,(%rax)
33857  .byte  127,67                              // jg            6c33 <.literal16+0xf93>
33858  .byte  0,0                                 // add           %al,(%rax)
33859  .byte  127,67                              // jg            6c37 <.literal16+0xf97>
33860  .byte  0,0                                 // add           %al,(%rax)
33861  .byte  127,67                              // jg            6c3b <.literal16+0xf9b>
33862  .byte  0,0                                 // add           %al,(%rax)
33863  .byte  127,67                              // jg            6c3f <.literal16+0xf9f>
33864  .byte  0,0                                 // add           %al,(%rax)
33865  .byte  127,67                              // jg            6c43 <.literal16+0xfa3>
33866  .byte  255,0                               // incl          (%rax)
33867  .byte  0,0                                 // add           %al,(%rax)
33868  .byte  255,0                               // incl          (%rax)
33869  .byte  0,0                                 // add           %al,(%rax)
33870  .byte  255,0                               // incl          (%rax)
33871  .byte  0,0                                 // add           %al,(%rax)
33872  .byte  255,0                               // incl          (%rax)
33873  .byte  0,0                                 // add           %al,(%rax)
33874  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
33875  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
33876  .byte  128,128,59,1,255,255,255            // addb          $0xff,-0xfec5(%rax)
33877  .byte  5,255,255,255,9                     // add           $0x9ffffff,%eax
33878  .byte  255                                 // (bad)
33879  .byte  255                                 // (bad)
33880  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3006c30 <_sk_callback_sse41+0x3001082>
33881  .byte  255                                 // (bad)
33882  .byte  255                                 // (bad)
33883  .byte  255,6                               // incl          (%rsi)
33884  .byte  255                                 // (bad)
33885  .byte  255                                 // (bad)
33886  .byte  255,10                              // decl          (%rdx)
33887  .byte  255                                 // (bad)
33888  .byte  255                                 // (bad)
33889  .byte  255,14                              // decl          (%rsi)
33890  .byte  255                                 // (bad)
33891  .byte  255                                 // (bad)
33892  .byte  255                                 // (bad)
33893  .byte  255,0                               // incl          (%rax)
33894  .byte  0,0                                 // add           %al,(%rax)
33895  .byte  255,0                               // incl          (%rax)
33896  .byte  0,0                                 // add           %al,(%rax)
33897  .byte  255,0                               // incl          (%rax)
33898  .byte  0,0                                 // add           %al,(%rax)
33899  .byte  255,0                               // incl          (%rax)
33900  .byte  0,0                                 // add           %al,(%rax)
33901  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
33902  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
33903  .byte  128,128,59,1,255,255,255            // addb          $0xff,-0xfec5(%rax)
33904  .byte  5,255,255,255,9                     // add           $0x9ffffff,%eax
33905  .byte  255                                 // (bad)
33906  .byte  255                                 // (bad)
33907  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3006c70 <_sk_callback_sse41+0x30010c2>
33908  .byte  255                                 // (bad)
33909  .byte  255                                 // (bad)
33910  .byte  255,6                               // incl          (%rsi)
33911  .byte  255                                 // (bad)
33912  .byte  255                                 // (bad)
33913  .byte  255,10                              // decl          (%rdx)
33914  .byte  255                                 // (bad)
33915  .byte  255                                 // (bad)
33916  .byte  255,14                              // decl          (%rsi)
33917  .byte  255                                 // (bad)
33918  .byte  255                                 // (bad)
33919  .byte  255                                 // (bad)
33920  .byte  255,0                               // incl          (%rax)
33921  .byte  0,0                                 // add           %al,(%rax)
33922  .byte  255,0                               // incl          (%rax)
33923  .byte  0,0                                 // add           %al,(%rax)
33924  .byte  255,0                               // incl          (%rax)
33925  .byte  0,0                                 // add           %al,(%rax)
33926  .byte  255,0                               // incl          (%rax)
33927  .byte  0,0                                 // add           %al,(%rax)
33928  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
33929  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
33930  .byte  128,128,59,1,255,255,255            // addb          $0xff,-0xfec5(%rax)
33931  .byte  5,255,255,255,9                     // add           $0x9ffffff,%eax
33932  .byte  255                                 // (bad)
33933  .byte  255                                 // (bad)
33934  .byte  255,13,255,255,255,2                // decl          0x2ffffff(%rip)        # 3006cb0 <_sk_callback_sse41+0x3001102>
33935  .byte  255                                 // (bad)
33936  .byte  255                                 // (bad)
33937  .byte  255,6                               // incl          (%rsi)
33938  .byte  255                                 // (bad)
33939  .byte  255                                 // (bad)
33940  .byte  255,10                              // decl          (%rdx)
33941  .byte  255                                 // (bad)
33942  .byte  255                                 // (bad)
33943  .byte  255,14                              // decl          (%rsi)
33944  .byte  255                                 // (bad)
33945  .byte  255                                 // (bad)
33946  .byte  255,0                               // incl          (%rax)
33947  .byte  0,127,67                            // add           %bh,0x43(%rdi)
33948  .byte  0,0                                 // add           %al,(%rax)
33949  .byte  127,67                              // jg            6d0b <.literal16+0x106b>
33950  .byte  0,0                                 // add           %al,(%rax)
33951  .byte  127,67                              // jg            6d0f <.literal16+0x106f>
33952  .byte  0,0                                 // add           %al,(%rax)
33953  .byte  127,67                              // jg            6d13 <.literal16+0x1073>
33954  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
33955  .byte  0,0                                 // add           %al,(%rax)
33956  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
33957  .byte  0,0                                 // add           %al,(%rax)
33958  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
33959  .byte  0,0                                 // add           %al,(%rax)
33960  .byte  4,0                                 // add           $0x0,%al
33961  .byte  0,0                                 // add           %al,(%rax)
33962  .byte  4,0                                 // add           $0x0,%al
33963  .byte  0,0                                 // add           %al,(%rax)
33964  .byte  4,0                                 // add           $0x0,%al
33965  .byte  0,0                                 // add           %al,(%rax)
33966  .byte  0,0                                 // add           %al,(%rax)
33967  .byte  56,0                                // cmp           %al,(%rax)
33968  .byte  0,0                                 // add           %al,(%rax)
33969  .byte  56,0                                // cmp           %al,(%rax)
33970  .byte  0,0                                 // add           %al,(%rax)
33971  .byte  56,0                                // cmp           %al,(%rax)
33972  .byte  0,0                                 // add           %al,(%rax)
33973  .byte  56,0                                // cmp           %al,(%rax)
33974  .byte  128,0,0                             // addb          $0x0,(%rax)
33975  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
33976  .byte  0,0                                 // add           %al,(%rax)
33977  .byte  0,128,0,0,0,4                       // add           %al,0x4000000(%rax)
33978  .byte  0,0                                 // add           %al,(%rax)
33979  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
33980  .byte  0,0                                 // add           %al,(%rax)
33981  .byte  4,0                                 // add           $0x0,%al
33982  .byte  0,0                                 // add           %al,(%rax)
33983  .byte  4,0                                 // add           $0x0,%al
33984  .byte  0,0                                 // add           %al,(%rax)
33985  .byte  0,0                                 // add           %al,(%rax)
33986  .byte  56,0                                // cmp           %al,(%rax)
33987  .byte  0,0                                 // add           %al,(%rax)
33988  .byte  56,0                                // cmp           %al,(%rax)
33989  .byte  0,0                                 // add           %al,(%rax)
33990  .byte  56,0                                // cmp           %al,(%rax)
33991  .byte  0,0                                 // add           %al,(%rax)
33992  .byte  56,0                                // cmp           %al,(%rax)
33993  .byte  128,0,0                             // addb          $0x0,(%rax)
33994  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
33995  .byte  0,0                                 // add           %al,(%rax)
33996  .byte  0,128,0,0,0,4                       // add           %al,0x4000000(%rax)
33997  .byte  0,0                                 // add           %al,(%rax)
33998  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
33999  .byte  0,0                                 // add           %al,(%rax)
34000  .byte  4,0                                 // add           $0x0,%al
34001  .byte  0,0                                 // add           %al,(%rax)
34002  .byte  4,0                                 // add           $0x0,%al
34003  .byte  0,0                                 // add           %al,(%rax)
34004  .byte  0,0                                 // add           %al,(%rax)
34005  .byte  56,0                                // cmp           %al,(%rax)
34006  .byte  0,0                                 // add           %al,(%rax)
34007  .byte  56,0                                // cmp           %al,(%rax)
34008  .byte  0,0                                 // add           %al,(%rax)
34009  .byte  56,0                                // cmp           %al,(%rax)
34010  .byte  0,0                                 // add           %al,(%rax)
34011  .byte  56,0                                // cmp           %al,(%rax)
34012  .byte  0,0                                 // add           %al,(%rax)
34013  .byte  128,0,0                             // addb          $0x0,(%rax)
34014  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
34015  .byte  0,0                                 // add           %al,(%rax)
34016  .byte  0,128,0,0,128,56                    // add           %al,0x38800000(%rax)
34017  .byte  0,0                                 // add           %al,(%rax)
34018  .byte  128,56,0                            // cmpb          $0x0,(%rax)
34019  .byte  0,128,56,0,0,128                    // add           %al,-0x7fffffc8(%rax)
34020  .byte  56,0                                // cmp           %al,(%rax)
34021  .byte  64,254                              // rex           (bad)
34022  .byte  255,0                               // incl          (%rax)
34023  .byte  64,254                              // rex           (bad)
34024  .byte  255,0                               // incl          (%rax)
34025  .byte  64,254                              // rex           (bad)
34026  .byte  255,0                               // incl          (%rax)
34027  .byte  64,254                              // rex           (bad)
34028  .byte  255,128,0,128,55,128                // incl          -0x7fc88000(%rax)
34029  .byte  0,128,55,128,0,128                  // add           %al,-0x7fff7fc9(%rax)
34030  .byte  55                                  // (bad)
34031  .byte  128,0,128                           // addb          $0x80,(%rax)
34032  .byte  55                                  // (bad)
34033  .byte  128,0,128                           // addb          $0x80,(%rax)
34034  .byte  55                                  // (bad)
34035  .byte  128,0,128                           // addb          $0x80,(%rax)
34036  .byte  55                                  // (bad)
34037  .byte  128,0,128                           // addb          $0x80,(%rax)
34038  .byte  55                                  // (bad)
34039  .byte  128,0,128                           // addb          $0x80,(%rax)
34040  .byte  55                                  // (bad)
34041  .byte  0,0                                 // add           %al,(%rax)
34042  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34043  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
34044  .byte  63                                  // (bad)
34045  .byte  0,0                                 // add           %al,(%rax)
34046  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34047  .byte  255                                 // (bad)
34048  .byte  127,71                              // jg            6e0b <.literal16+0x116b>
34049  .byte  0,255                               // add           %bh,%bh
34050  .byte  127,71                              // jg            6e0f <.literal16+0x116f>
34051  .byte  0,255                               // add           %bh,%bh
34052  .byte  127,71                              // jg            6e13 <.literal16+0x1173>
34053  .byte  0,255                               // add           %bh,%bh
34054  .byte  127,71                              // jg            6e17 <.literal16+0x1177>
34055  .byte  0,0                                 // add           %al,(%rax)
34056  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34057  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
34058  .byte  63                                  // (bad)
34059  .byte  0,0                                 // add           %al,(%rax)
34060  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34061  .byte  0,128,191,0,0,128                   // add           %al,-0x7fffff41(%rax)
34062  .byte  191,0,0,128,191                     // mov           $0xbf800000,%edi
34063  .byte  0,0                                 // add           %al,(%rax)
34064  .byte  128,191,0,0,0,63,0                  // cmpb          $0x0,0x3f000000(%rdi)
34065  .byte  0,0                                 // add           %al,(%rax)
34066  .byte  63                                  // (bad)
34067  .byte  0,0                                 // add           %al,(%rax)
34068  .byte  0,63                                // add           %bh,(%rdi)
34069  .byte  0,0                                 // add           %al,(%rax)
34070  .byte  0,63                                // add           %bh,(%rdi)
34071  .byte  208                                 // (bad)
34072  .byte  179,89                              // mov           $0x59,%bl
34073  .byte  62,208                              // ds            (bad)
34074  .byte  179,89                              // mov           $0x59,%bl
34075  .byte  62,208                              // ds            (bad)
34076  .byte  179,89                              // mov           $0x59,%bl
34077  .byte  62,208                              // ds            (bad)
34078  .byte  179,89                              // mov           $0x59,%bl
34079  .byte  62,89                               // ds            pop %rcx
34080  .byte  23                                  // (bad)
34081  .byte  55                                  // (bad)
34082  .byte  63                                  // (bad)
34083  .byte  89                                  // pop           %rcx
34084  .byte  23                                  // (bad)
34085  .byte  55                                  // (bad)
34086  .byte  63                                  // (bad)
34087  .byte  89                                  // pop           %rcx
34088  .byte  23                                  // (bad)
34089  .byte  55                                  // (bad)
34090  .byte  63                                  // (bad)
34091  .byte  89                                  // pop           %rcx
34092  .byte  23                                  // (bad)
34093  .byte  55                                  // (bad)
34094  .byte  63                                  // (bad)
34095  .byte  152                                 // cwtl
34096  .byte  221,147,61,152,221,147              // fstl          -0x6c2267c3(%rbx)
34097  .byte  61,152,221,147,61                   // cmp           $0x3d93dd98,%eax
34098  .byte  152                                 // cwtl
34099  .byte  221,147,61,45,16,17                 // fstl          0x11102d3d(%rbx)
34100  .byte  192,45,16,17,192,45,16              // shrb          $0x10,0x2dc01110(%rip)        # 2dc07f4a <_sk_callback_sse41+0x2dc0239c>
34101  .byte  17,192                              // adc           %eax,%eax
34102  .byte  45,16,17,192,18                     // sub           $0x12c01110,%eax
34103  .byte  120,57                              // js            6e7c <.literal16+0x11dc>
34104  .byte  64,18,120,57                        // adc           0x39(%rax),%dil
34105  .byte  64,18,120,57                        // adc           0x39(%rax),%dil
34106  .byte  64,18,120,57                        // adc           0x39(%rax),%dil
34107  .byte  64,32,148,90,62,32,148,90           // and           %dl,0x5a94203e(%rdx,%rbx,2)
34108  .byte  62,32,148,90,62,32,148,90           // and           %dl,%ds:0x5a94203e(%rdx,%rbx,2)
34109  .byte  62,4,157                            // ds            add $0x9d,%al
34110  .byte  30                                  // (bad)
34111  .byte  62,4,157                            // ds            add $0x9d,%al
34112  .byte  30                                  // (bad)
34113  .byte  62,4,157                            // ds            add $0x9d,%al
34114  .byte  30                                  // (bad)
34115  .byte  62,4,157                            // ds            add $0x9d,%al
34116  .byte  30                                  // (bad)
34117  .byte  62,0,24                             // add           %bl,%ds:(%rax)
34118  .byte  161,57,0,24,161,57,0,24,161         // movabs        0xa1180039a1180039,%eax
34119  .byte  57,0                                // cmp           %eax,(%rax)
34120  .byte  24,161,57,1,0,0                     // sbb           %ah,0x139(%rcx)
34121  .byte  0,1                                 // add           %al,(%rcx)
34122  .byte  0,0                                 // add           %al,(%rax)
34123  .byte  0,1                                 // add           %al,(%rcx)
34124  .byte  0,0                                 // add           %al,(%rax)
34125  .byte  0,1                                 // add           %al,(%rcx)
34126  .byte  0,0                                 // add           %al,(%rax)
34127  .byte  0,111,43                            // add           %ch,0x2b(%rdi)
34128  .byte  231,187                             // out           %eax,$0xbb
34129  .byte  111                                 // outsl         %ds:(%rsi),(%dx)
34130  .byte  43,231                              // sub           %edi,%esp
34131  .byte  187,111,43,231,187                  // mov           $0xbbe72b6f,%ebx
34132  .byte  111                                 // outsl         %ds:(%rsi),(%dx)
34133  .byte  43,231                              // sub           %edi,%esp
34134  .byte  187,159,215,202,60                  // mov           $0x3ccad79f,%ebx
34135  .byte  159                                 // lahf
34136  .byte  215                                 // xlat          %ds:(%rbx)
34137  .byte  202,60,159                          // lret          $0x9f3c
34138  .byte  215                                 // xlat          %ds:(%rbx)
34139  .byte  202,60,159                          // lret          $0x9f3c
34140  .byte  215                                 // xlat          %ds:(%rbx)
34141  .byte  202,60,212                          // lret          $0xd43c
34142  .byte  100,84                              // fs            push %rsp
34143  .byte  189,212,100,84,189                  // mov           $0xbd5464d4,%ebp
34144  .byte  212                                 // (bad)
34145  .byte  100,84                              // fs            push %rsp
34146  .byte  189,212,100,84,189                  // mov           $0xbd5464d4,%ebp
34147  .byte  169,240,34,62,169                   // test          $0xa93e22f0,%eax
34148  .byte  240,34,62                           // lock          and (%rsi),%bh
34149  .byte  169,240,34,62,169                   // test          $0xa93e22f0,%eax
34150  .byte  240,34,62                           // lock          and (%rsi),%bh
34151  .byte  0,0                                 // add           %al,(%rax)
34152  .byte  128,62,0                            // cmpb          $0x0,(%rsi)
34153  .byte  0,128,62,0,0,128                    // add           %al,-0x7fffffc2(%rax)
34154  .byte  62,0,0                              // add           %al,%ds:(%rax)
34155  .byte  128,62,0                            // cmpb          $0x0,(%rsi)
34156  .byte  0,0                                 // add           %al,(%rax)
34157  .byte  63                                  // (bad)
34158  .byte  0,0                                 // add           %al,(%rax)
34159  .byte  0,63                                // add           %bh,(%rdi)
34160  .byte  0,0                                 // add           %al,(%rax)
34161  .byte  0,63                                // add           %bh,(%rdi)
34162  .byte  0,0                                 // add           %al,(%rax)
34163  .byte  0,63                                // add           %bh,(%rdi)
34164  .byte  0,0                                 // add           %al,(%rax)
34165  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34166  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
34167  .byte  63                                  // (bad)
34168  .byte  0,0                                 // add           %al,(%rax)
34169  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34170  .byte  0,0                                 // add           %al,(%rax)
34171  .byte  192,0,0                             // rolb          $0x0,(%rax)
34172  .byte  0,192                               // add           %al,%al
34173  .byte  0,0                                 // add           %al,(%rax)
34174  .byte  0,192                               // add           %al,%al
34175  .byte  0,0                                 // add           %al,(%rax)
34176  .byte  0,192                               // add           %al,%al
34177  .byte  0,0                                 // add           %al,(%rax)
34178  .byte  128,192,0                           // add           $0x0,%al
34179  .byte  0,128,192,0,0,128                   // add           %al,-0x7fffff40(%rax)
34180  .byte  192,0,0                             // rolb          $0x0,(%rax)
34181  .byte  128,192,0                           // add           $0x0,%al
34182  .byte  0,0                                 // add           %al,(%rax)
34183  .byte  128,0,0                             // addb          $0x0,(%rax)
34184  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
34185  .byte  0,0                                 // add           %al,(%rax)
34186  .byte  0,128,0,0,0,63                      // add           %al,0x3f000000(%rax)
34187  .byte  0,0                                 // add           %al,(%rax)
34188  .byte  0,63                                // add           %bh,(%rdi)
34189  .byte  0,0                                 // add           %al,(%rax)
34190  .byte  0,63                                // add           %bh,(%rdi)
34191  .byte  0,0                                 // add           %al,(%rax)
34192  .byte  0,63                                // add           %bh,(%rdi)
34193  .byte  0,0                                 // add           %al,(%rax)
34194  .byte  0,192                               // add           %al,%al
34195  .byte  0,0                                 // add           %al,(%rax)
34196  .byte  0,192                               // add           %al,%al
34197  .byte  0,0                                 // add           %al,(%rax)
34198  .byte  0,192                               // add           %al,%al
34199  .byte  0,0                                 // add           %al,(%rax)
34200  .byte  0,192                               // add           %al,%al
34201  .byte  0,0                                 // add           %al,(%rax)
34202  .byte  128,192,0                           // add           $0x0,%al
34203  .byte  0,128,192,0,0,128                   // add           %al,-0x7fffff40(%rax)
34204  .byte  192,0,0                             // rolb          $0x0,(%rax)
34205  .byte  128,192,0                           // add           $0x0,%al
34206  .byte  0,0                                 // add           %al,(%rax)
34207  .byte  128,0,0                             // addb          $0x0,(%rax)
34208  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
34209  .byte  0,0                                 // add           %al,(%rax)
34210  .byte  0,128,0,0,0,63                      // add           %al,0x3f000000(%rax)
34211  .byte  0,0                                 // add           %al,(%rax)
34212  .byte  0,63                                // add           %bh,(%rdi)
34213  .byte  0,0                                 // add           %al,(%rax)
34214  .byte  0,63                                // add           %bh,(%rdi)
34215  .byte  0,0                                 // add           %al,(%rax)
34216  .byte  0,63                                // add           %bh,(%rdi)
34217  .byte  0,0                                 // add           %al,(%rax)
34218  .byte  0,192                               // add           %al,%al
34219  .byte  0,0                                 // add           %al,(%rax)
34220  .byte  0,192                               // add           %al,%al
34221  .byte  0,0                                 // add           %al,(%rax)
34222  .byte  0,192                               // add           %al,%al
34223  .byte  0,0                                 // add           %al,(%rax)
34224  .byte  0,192                               // add           %al,%al
34225  .byte  0,0                                 // add           %al,(%rax)
34226  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
34227  .byte  0,0                                 // add           %al,(%rax)
34228  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
34229  .byte  0,0                                 // add           %al,(%rax)
34230  .byte  0,63                                // add           %bh,(%rdi)
34231  .byte  0,0                                 // add           %al,(%rax)
34232  .byte  0,63                                // add           %bh,(%rdi)
34233  .byte  0,0                                 // add           %al,(%rax)
34234  .byte  0,63                                // add           %bh,(%rdi)
34235  .byte  0,0                                 // add           %al,(%rax)
34236  .byte  0,63                                // add           %bh,(%rdi)
34237  .byte  0,0                                 // add           %al,(%rax)
34238  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
34239  .byte  0,0                                 // add           %al,(%rax)
34240  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
34241  .byte  0,0                                 // add           %al,(%rax)
34242  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34243  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
34244  .byte  63                                  // (bad)
34245  .byte  0,0                                 // add           %al,(%rax)
34246  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34247  .byte  0,0                                 // add           %al,(%rax)
34248  .byte  63                                  // (bad)
34249  .byte  0,0                                 // add           %al,(%rax)
34250  .byte  0,63                                // add           %bh,(%rdi)
34251  .byte  0,0                                 // add           %al,(%rax)
34252  .byte  0,63                                // add           %bh,(%rdi)
34253  .byte  0,0                                 // add           %al,(%rax)
34254  .byte  0,63                                // add           %bh,(%rdi)
34255  .byte  0,0                                 // add           %al,(%rax)
34256  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
34257  .byte  0,0                                 // add           %al,(%rax)
34258  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
34259  .byte  0,0                                 // add           %al,(%rax)
34260  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34261  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
34262  .byte  63                                  // (bad)
34263  .byte  0,0                                 // add           %al,(%rax)
34264  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34265  .byte  0,0                                 // add           %al,(%rax)
34266  .byte  63                                  // (bad)
34267  .byte  0,0                                 // add           %al,(%rax)
34268  .byte  0,63                                // add           %bh,(%rdi)
34269  .byte  0,0                                 // add           %al,(%rax)
34270  .byte  0,63                                // add           %bh,(%rdi)
34271  .byte  0,0                                 // add           %al,(%rax)
34272  .byte  0,63                                // add           %bh,(%rdi)
34273  .byte  0,0                                 // add           %al,(%rax)
34274  .byte  192,191,0,0,192,191,0               // sarb          $0x0,-0x40400000(%rdi)
34275  .byte  0,192                               // add           %al,%al
34276  .byte  191,0,0,192,191                     // mov           $0xbfc00000,%edi
34277  .byte  0,0                                 // add           %al,(%rax)
34278  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34279  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
34280  .byte  63                                  // (bad)
34281  .byte  0,0                                 // add           %al,(%rax)
34282  .byte  128,63,114                          // cmpb          $0x72,(%rdi)
34283  .byte  28,199                              // sbb           $0xc7,%al
34284  .byte  62,114,28                           // jb,pt         7052 <.literal16+0x13b2>
34285  .byte  199                                 // (bad)
34286  .byte  62,114,28                           // jb,pt         7056 <.literal16+0x13b6>
34287  .byte  199                                 // (bad)
34288  .byte  62,114,28                           // jb,pt         705a <.literal16+0x13ba>
34289  .byte  199                                 // (bad)
34290  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
34291  .byte  170                                 // stos          %al,%es:(%rdi)
34292  .byte  170                                 // stos          %al,%es:(%rdi)
34293  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
34294  .byte  171                                 // stos          %eax,%es:(%rdi)
34295  .byte  170                                 // stos          %al,%es:(%rdi)
34296  .byte  170                                 // stos          %al,%es:(%rdi)
34297  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
34298  .byte  0,0                                 // add           %al,(%rax)
34299  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
34300  .byte  0,0                                 // add           %al,(%rax)
34301  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
34302  .byte  0,0                                 // add           %al,(%rax)
34303  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34304  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
34305  .byte  63                                  // (bad)
34306  .byte  0,0                                 // add           %al,(%rax)
34307  .byte  128,63,85                           // cmpb          $0x55,(%rdi)
34308  .byte  85                                  // push          %rbp
34309  .byte  149                                 // xchg          %eax,%ebp
34310  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
34311  .byte  85                                  // push          %rbp
34312  .byte  85                                  // push          %rbp
34313  .byte  149                                 // xchg          %eax,%ebp
34314  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
34315  .byte  0,0                                 // add           %al,(%rax)
34316  .byte  192,63,0                            // sarb          $0x0,(%rdi)
34317  .byte  0,192                               // add           %al,%al
34318  .byte  63                                  // (bad)
34319  .byte  0,0                                 // add           %al,(%rax)
34320  .byte  192,63,0                            // sarb          $0x0,(%rdi)
34321  .byte  0,192                               // add           %al,%al
34322  .byte  63                                  // (bad)
34323  .byte  0,0                                 // add           %al,(%rax)
34324  .byte  0,63                                // add           %bh,(%rdi)
34325  .byte  0,0                                 // add           %al,(%rax)
34326  .byte  0,63                                // add           %bh,(%rdi)
34327  .byte  0,0                                 // add           %al,(%rax)
34328  .byte  0,63                                // add           %bh,(%rdi)
34329  .byte  0,0                                 // add           %al,(%rax)
34330  .byte  0,63                                // add           %bh,(%rdi)
34331  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
34332  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63fee5 <_sk_callback_sse41+0x3d63a337>
34333  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
34334  .byte  0,63                                // add           %bh,(%rdi)
34335  .byte  0,0                                 // add           %al,(%rax)
34336  .byte  0,63                                // add           %bh,(%rdi)
34337  .byte  0,0                                 // add           %al,(%rax)
34338  .byte  0,63                                // add           %bh,(%rdi)
34339  .byte  0,0                                 // add           %al,(%rax)
34340  .byte  0,63                                // add           %bh,(%rdi)
34341  .byte  85                                  // push          %rbp
34342  .byte  85                                  // push          %rbp
34343  .byte  149                                 // xchg          %eax,%ebp
34344  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
34345  .byte  85                                  // push          %rbp
34346  .byte  85                                  // push          %rbp
34347  .byte  149                                 // xchg          %eax,%ebp
34348  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
34349  .byte  0,0                                 // add           %al,(%rax)
34350  .byte  192,63,0                            // sarb          $0x0,(%rdi)
34351  .byte  0,192                               // add           %al,%al
34352  .byte  63                                  // (bad)
34353  .byte  0,0                                 // add           %al,(%rax)
34354  .byte  192,63,0                            // sarb          $0x0,(%rdi)
34355  .byte  0,192                               // add           %al,%al
34356  .byte  63                                  // (bad)
34357  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
34358  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63ff25 <_sk_callback_sse41+0x3d63a377>
34359  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
34360  .byte  192,63,0                            // sarb          $0x0,(%rdi)
34361  .byte  0,192                               // add           %al,%al
34362  .byte  63                                  // (bad)
34363  .byte  0,0                                 // add           %al,(%rax)
34364  .byte  192,63,0                            // sarb          $0x0,(%rdi)
34365  .byte  0,192                               // add           %al,%al
34366  .byte  63                                  // (bad)
34367  .byte  114,28                              // jb            711e <.literal16+0x147e>
34368  .byte  199                                 // (bad)
34369  .byte  62,114,28                           // jb,pt         7122 <.literal16+0x1482>
34370  .byte  199                                 // (bad)
34371  .byte  62,114,28                           // jb,pt         7126 <.literal16+0x1486>
34372  .byte  199                                 // (bad)
34373  .byte  62,114,28                           // jb,pt         712a <.literal16+0x148a>
34374  .byte  199                                 // (bad)
34375  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
34376  .byte  170                                 // stos          %al,%es:(%rdi)
34377  .byte  170                                 // stos          %al,%es:(%rdi)
34378  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
34379  .byte  171                                 // stos          %eax,%es:(%rdi)
34380  .byte  170                                 // stos          %al,%es:(%rdi)
34381  .byte  170                                 // stos          %al,%es:(%rdi)
34382  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
34383  .byte  0,0                                 // add           %al,(%rax)
34384  .byte  192,191,0,0,192,191,0               // sarb          $0x0,-0x40400000(%rdi)
34385  .byte  0,192                               // add           %al,%al
34386  .byte  191,0,0,192,191                     // mov           $0xbfc00000,%edi
34387  .byte  0,0                                 // add           %al,(%rax)
34388  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34389  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
34390  .byte  63                                  // (bad)
34391  .byte  0,0                                 // add           %al,(%rax)
34392  .byte  128,63,114                          // cmpb          $0x72,(%rdi)
34393  .byte  28,199                              // sbb           $0xc7,%al
34394  .byte  62,114,28                           // jb,pt         7162 <.literal16+0x14c2>
34395  .byte  199                                 // (bad)
34396  .byte  62,114,28                           // jb,pt         7166 <.literal16+0x14c6>
34397  .byte  199                                 // (bad)
34398  .byte  62,114,28                           // jb,pt         716a <.literal16+0x14ca>
34399  .byte  199                                 // (bad)
34400  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
34401  .byte  170                                 // stos          %al,%es:(%rdi)
34402  .byte  170                                 // stos          %al,%es:(%rdi)
34403  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
34404  .byte  171                                 // stos          %eax,%es:(%rdi)
34405  .byte  170                                 // stos          %al,%es:(%rdi)
34406  .byte  170                                 // stos          %al,%es:(%rdi)
34407  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
34408  .byte  0,0                                 // add           %al,(%rax)
34409  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
34410  .byte  0,0                                 // add           %al,(%rax)
34411  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
34412  .byte  0,0                                 // add           %al,(%rax)
34413  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
34414  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
34415  .byte  63                                  // (bad)
34416  .byte  0,0                                 // add           %al,(%rax)
34417  .byte  128,63,85                           // cmpb          $0x55,(%rdi)
34418  .byte  85                                  // push          %rbp
34419  .byte  149                                 // xchg          %eax,%ebp
34420  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
34421  .byte  85                                  // push          %rbp
34422  .byte  85                                  // push          %rbp
34423  .byte  149                                 // xchg          %eax,%ebp
34424  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
34425  .byte  0,0                                 // add           %al,(%rax)
34426  .byte  192,63,0                            // sarb          $0x0,(%rdi)
34427  .byte  0,192                               // add           %al,%al
34428  .byte  63                                  // (bad)
34429  .byte  0,0                                 // add           %al,(%rax)
34430  .byte  192,63,0                            // sarb          $0x0,(%rdi)
34431  .byte  0,192                               // add           %al,%al
34432  .byte  63                                  // (bad)
34433  .byte  0,0                                 // add           %al,(%rax)
34434  .byte  0,63                                // add           %bh,(%rdi)
34435  .byte  0,0                                 // add           %al,(%rax)
34436  .byte  0,63                                // add           %bh,(%rdi)
34437  .byte  0,0                                 // add           %al,(%rax)
34438  .byte  0,63                                // add           %bh,(%rdi)
34439  .byte  0,0                                 // add           %al,(%rax)
34440  .byte  0,63                                // add           %bh,(%rdi)
34441  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
34442  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d63fff5 <_sk_callback_sse41+0x3d63a447>
34443  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
34444  .byte  0,63                                // add           %bh,(%rdi)
34445  .byte  0,0                                 // add           %al,(%rax)
34446  .byte  0,63                                // add           %bh,(%rdi)
34447  .byte  0,0                                 // add           %al,(%rax)
34448  .byte  0,63                                // add           %bh,(%rdi)
34449  .byte  0,0                                 // add           %al,(%rax)
34450  .byte  0,63                                // add           %bh,(%rdi)
34451  .byte  85                                  // push          %rbp
34452  .byte  85                                  // push          %rbp
34453  .byte  149                                 // xchg          %eax,%ebp
34454  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
34455  .byte  85                                  // push          %rbp
34456  .byte  85                                  // push          %rbp
34457  .byte  149                                 // xchg          %eax,%ebp
34458  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
34459  .byte  0,0                                 // add           %al,(%rax)
34460  .byte  192,63,0                            // sarb          $0x0,(%rdi)
34461  .byte  0,192                               // add           %al,%al
34462  .byte  63                                  // (bad)
34463  .byte  0,0                                 // add           %al,(%rax)
34464  .byte  192,63,0                            // sarb          $0x0,(%rdi)
34465  .byte  0,192                               // add           %al,%al
34466  .byte  63                                  // (bad)
34467  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
34468  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d640035 <_sk_callback_sse41+0x3d63a487>
34469  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
34470  .byte  192,63,0                            // sarb          $0x0,(%rdi)
34471  .byte  0,192                               // add           %al,%al
34472  .byte  63                                  // (bad)
34473  .byte  0,0                                 // add           %al,(%rax)
34474  .byte  192,63,0                            // sarb          $0x0,(%rdi)
34475  .byte  0,192                               // add           %al,%al
34476  .byte  63                                  // (bad)
34477  .byte  114,28                              // jb            722e <.literal16+0x158e>
34478  .byte  199                                 // (bad)
34479  .byte  62,114,28                           // jb,pt         7232 <_sk_callback_sse41+0x1684>
34480  .byte  199                                 // (bad)
34481  .byte  62,114,28                           // jb,pt         7236 <_sk_callback_sse41+0x1688>
34482  .byte  199                                 // (bad)
34483  .byte  62,114,28                           // jb,pt         723a <_sk_callback_sse41+0x168c>
34484  .byte  199                                 // (bad)
34485  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
34486  .byte  170                                 // stos          %al,%es:(%rdi)
34487  .byte  170                                 // stos          %al,%es:(%rdi)
34488  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
34489  .byte  171                                 // stos          %eax,%es:(%rdi)
34490  .byte  170                                 // stos          %al,%es:(%rdi)
34491  .byte  170                                 // stos          %al,%es:(%rdi)
34492  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
34493
34494BALIGN4
34495  .byte  0,0                                 // add           %al,(%rax)
34496  .byte  0,63                                // add           %bh,(%rdi)
34497  .byte  0,0                                 // add           %al,(%rax)
34498  .byte  0,63                                // add           %bh,(%rdi)
34499BALIGN32
34500
34501HIDDEN _sk_start_pipeline_sse2
34502.globl _sk_start_pipeline_sse2
34503FUNCTION(_sk_start_pipeline_sse2)
34504_sk_start_pipeline_sse2:
34505  .byte  85                                  // push          %rbp
34506  .byte  72,137,229                          // mov           %rsp,%rbp
34507  .byte  65,87                               // push          %r15
34508  .byte  65,86                               // push          %r14
34509  .byte  65,85                               // push          %r13
34510  .byte  65,84                               // push          %r12
34511  .byte  83                                  // push          %rbx
34512  .byte  80                                  // push          %rax
34513  .byte  77,137,196                          // mov           %r8,%r12
34514  .byte  73,137,208                          // mov           %rdx,%r8
34515  .byte  73,137,247                          // mov           %rsi,%r15
34516  .byte  72,137,251                          // mov           %rdi,%rbx
34517  .byte  72,137,206                          // mov           %rcx,%rsi
34518  .byte  72,173                              // lods          %ds:(%rsi),%rax
34519  .byte  73,137,245                          // mov           %rsi,%r13
34520  .byte  72,141,75,4                         // lea           0x4(%rbx),%rcx
34521  .byte  76,57,193                           // cmp           %r8,%rcx
34522  .byte  118,5                               // jbe           30 <_sk_start_pipeline_sse2+0x30>
34523  .byte  72,137,218                          // mov           %rbx,%rdx
34524  .byte  235,48                              // jmp           60 <_sk_start_pipeline_sse2+0x60>
34525  .byte  76,137,69,208                       // mov           %r8,-0x30(%rbp)
34526  .byte  69,49,192                           // xor           %r8d,%r8d
34527  .byte  76,137,231                          // mov           %r12,%rdi
34528  .byte  76,137,238                          // mov           %r13,%rsi
34529  .byte  72,137,218                          // mov           %rbx,%rdx
34530  .byte  76,137,249                          // mov           %r15,%rcx
34531  .byte  73,137,198                          // mov           %rax,%r14
34532  .byte  65,255,214                          // callq         *%r14
34533  .byte  76,139,69,208                       // mov           -0x30(%rbp),%r8
34534  .byte  76,137,240                          // mov           %r14,%rax
34535  .byte  72,141,83,4                         // lea           0x4(%rbx),%rdx
34536  .byte  72,131,195,8                        // add           $0x8,%rbx
34537  .byte  76,57,195                           // cmp           %r8,%rbx
34538  .byte  72,137,211                          // mov           %rdx,%rbx
34539  .byte  118,212                             // jbe           34 <_sk_start_pipeline_sse2+0x34>
34540  .byte  73,41,208                           // sub           %rdx,%r8
34541  .byte  116,25                              // je            7e <_sk_start_pipeline_sse2+0x7e>
34542  .byte  76,137,231                          // mov           %r12,%rdi
34543  .byte  76,137,238                          // mov           %r13,%rsi
34544  .byte  76,137,249                          // mov           %r15,%rcx
34545  .byte  72,131,196,8                        // add           $0x8,%rsp
34546  .byte  91                                  // pop           %rbx
34547  .byte  65,92                               // pop           %r12
34548  .byte  65,93                               // pop           %r13
34549  .byte  65,94                               // pop           %r14
34550  .byte  65,95                               // pop           %r15
34551  .byte  93                                  // pop           %rbp
34552  .byte  255,224                             // jmpq          *%rax
34553  .byte  72,131,196,8                        // add           $0x8,%rsp
34554  .byte  91                                  // pop           %rbx
34555  .byte  65,92                               // pop           %r12
34556  .byte  65,93                               // pop           %r13
34557  .byte  65,94                               // pop           %r14
34558  .byte  65,95                               // pop           %r15
34559  .byte  93                                  // pop           %rbp
34560  .byte  195                                 // retq
34561
34562HIDDEN _sk_start_pipeline_2d_sse2
34563.globl _sk_start_pipeline_2d_sse2
34564FUNCTION(_sk_start_pipeline_2d_sse2)
34565_sk_start_pipeline_2d_sse2:
34566  .byte  85                                  // push          %rbp
34567  .byte  72,137,229                          // mov           %rsp,%rbp
34568  .byte  65,87                               // push          %r15
34569  .byte  65,86                               // push          %r14
34570  .byte  65,85                               // push          %r13
34571  .byte  65,84                               // push          %r12
34572  .byte  83                                  // push          %rbx
34573  .byte  72,131,236,40                       // sub           $0x28,%rsp
34574  .byte  72,137,211                          // mov           %rdx,%rbx
34575  .byte  73,137,244                          // mov           %rsi,%r12
34576  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
34577  .byte  72,137,77,176                       // mov           %rcx,-0x50(%rbp)
34578  .byte  73,57,204                           // cmp           %rcx,%r12
34579  .byte  115,124                             // jae           12d <_sk_start_pipeline_2d_sse2+0xa0>
34580  .byte  76,137,198                          // mov           %r8,%rsi
34581  .byte  72,173                              // lods          %ds:(%rsi),%rax
34582  .byte  73,137,198                          // mov           %rax,%r14
34583  .byte  73,137,245                          // mov           %rsi,%r13
34584  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
34585  .byte  72,141,64,4                         // lea           0x4(%rax),%rax
34586  .byte  72,137,69,184                       // mov           %rax,-0x48(%rbp)
34587  .byte  76,137,77,192                       // mov           %r9,-0x40(%rbp)
34588  .byte  72,137,93,200                       // mov           %rbx,-0x38(%rbp)
34589  .byte  72,57,93,184                        // cmp           %rbx,-0x48(%rbp)
34590  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
34591  .byte  119,46                              // ja            108 <_sk_start_pipeline_2d_sse2+0x7b>
34592  .byte  76,139,125,208                      // mov           -0x30(%rbp),%r15
34593  .byte  69,49,192                           // xor           %r8d,%r8d
34594  .byte  76,137,207                          // mov           %r9,%rdi
34595  .byte  76,137,238                          // mov           %r13,%rsi
34596  .byte  76,137,250                          // mov           %r15,%rdx
34597  .byte  76,137,225                          // mov           %r12,%rcx
34598  .byte  65,255,214                          // callq         *%r14
34599  .byte  72,139,93,200                       // mov           -0x38(%rbp),%rbx
34600  .byte  76,139,77,192                       // mov           -0x40(%rbp),%r9
34601  .byte  73,141,87,4                         // lea           0x4(%r15),%rdx
34602  .byte  73,131,199,8                        // add           $0x8,%r15
34603  .byte  73,57,223                           // cmp           %rbx,%r15
34604  .byte  73,137,215                          // mov           %rdx,%r15
34605  .byte  118,214                             // jbe           de <_sk_start_pipeline_2d_sse2+0x51>
34606  .byte  73,137,216                          // mov           %rbx,%r8
34607  .byte  73,41,208                           // sub           %rdx,%r8
34608  .byte  116,20                              // je            124 <_sk_start_pipeline_2d_sse2+0x97>
34609  .byte  76,137,207                          // mov           %r9,%rdi
34610  .byte  76,137,238                          // mov           %r13,%rsi
34611  .byte  76,137,225                          // mov           %r12,%rcx
34612  .byte  65,255,214                          // callq         *%r14
34613  .byte  72,139,93,200                       // mov           -0x38(%rbp),%rbx
34614  .byte  76,139,77,192                       // mov           -0x40(%rbp),%r9
34615  .byte  73,255,196                          // inc           %r12
34616  .byte  76,59,101,176                       // cmp           -0x50(%rbp),%r12
34617  .byte  117,163                             // jne           d0 <_sk_start_pipeline_2d_sse2+0x43>
34618  .byte  72,131,196,40                       // add           $0x28,%rsp
34619  .byte  91                                  // pop           %rbx
34620  .byte  65,92                               // pop           %r12
34621  .byte  65,93                               // pop           %r13
34622  .byte  65,94                               // pop           %r14
34623  .byte  65,95                               // pop           %r15
34624  .byte  93                                  // pop           %rbp
34625  .byte  195                                 // retq
34626
34627HIDDEN _sk_just_return_sse2
34628.globl _sk_just_return_sse2
34629FUNCTION(_sk_just_return_sse2)
34630_sk_just_return_sse2:
34631  .byte  195                                 // retq
34632
34633HIDDEN _sk_seed_shader_sse2
34634.globl _sk_seed_shader_sse2
34635FUNCTION(_sk_seed_shader_sse2)
34636_sk_seed_shader_sse2:
34637  .byte  102,15,110,194                      // movd          %edx,%xmm0
34638  .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
34639  .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
34640  .byte  15,40,21,64,96,0,0                  // movaps        0x6040(%rip),%xmm2        # 6190 <_sk_callback_sse2+0xf4>
34641  .byte  15,88,202                           // addps         %xmm2,%xmm1
34642  .byte  15,16,7                             // movups        (%rdi),%xmm0
34643  .byte  15,88,193                           // addps         %xmm1,%xmm0
34644  .byte  102,15,110,201                      // movd          %ecx,%xmm1
34645  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
34646  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
34647  .byte  15,88,202                           // addps         %xmm2,%xmm1
34648  .byte  72,173                              // lods          %ds:(%rsi),%rax
34649  .byte  15,40,21,47,96,0,0                  // movaps        0x602f(%rip),%xmm2        # 61a0 <_sk_callback_sse2+0x104>
34650  .byte  15,87,219                           // xorps         %xmm3,%xmm3
34651  .byte  15,87,228                           // xorps         %xmm4,%xmm4
34652  .byte  15,87,237                           // xorps         %xmm5,%xmm5
34653  .byte  15,87,246                           // xorps         %xmm6,%xmm6
34654  .byte  15,87,255                           // xorps         %xmm7,%xmm7
34655  .byte  255,224                             // jmpq          *%rax
34656
34657HIDDEN _sk_dither_sse2
34658.globl _sk_dither_sse2
34659FUNCTION(_sk_dither_sse2)
34660_sk_dither_sse2:
34661  .byte  72,173                              // lods          %ds:(%rsi),%rax
34662  .byte  102,68,15,110,194                   // movd          %edx,%xmm8
34663  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
34664  .byte  243,68,15,111,79,32                 // movdqu        0x20(%rdi),%xmm9
34665  .byte  102,69,15,254,200                   // paddd         %xmm8,%xmm9
34666  .byte  102,68,15,110,193                   // movd          %ecx,%xmm8
34667  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
34668  .byte  102,69,15,239,193                   // pxor          %xmm9,%xmm8
34669  .byte  102,68,15,111,21,253,95,0,0         // movdqa        0x5ffd(%rip),%xmm10        # 61b0 <_sk_callback_sse2+0x114>
34670  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
34671  .byte  102,69,15,219,218                   // pand          %xmm10,%xmm11
34672  .byte  102,65,15,114,243,5                 // pslld         $0x5,%xmm11
34673  .byte  102,69,15,219,209                   // pand          %xmm9,%xmm10
34674  .byte  102,65,15,114,242,4                 // pslld         $0x4,%xmm10
34675  .byte  102,68,15,111,37,233,95,0,0         // movdqa        0x5fe9(%rip),%xmm12        # 61c0 <_sk_callback_sse2+0x124>
34676  .byte  102,68,15,111,45,240,95,0,0         // movdqa        0x5ff0(%rip),%xmm13        # 61d0 <_sk_callback_sse2+0x134>
34677  .byte  102,69,15,111,240                   // movdqa        %xmm8,%xmm14
34678  .byte  102,69,15,219,245                   // pand          %xmm13,%xmm14
34679  .byte  102,65,15,114,246,2                 // pslld         $0x2,%xmm14
34680  .byte  102,69,15,219,233                   // pand          %xmm9,%xmm13
34681  .byte  102,69,15,254,237                   // paddd         %xmm13,%xmm13
34682  .byte  102,69,15,219,196                   // pand          %xmm12,%xmm8
34683  .byte  102,65,15,114,208,1                 // psrld         $0x1,%xmm8
34684  .byte  102,69,15,219,204                   // pand          %xmm12,%xmm9
34685  .byte  102,65,15,114,209,2                 // psrld         $0x2,%xmm9
34686  .byte  102,69,15,235,234                   // por           %xmm10,%xmm13
34687  .byte  102,69,15,235,233                   // por           %xmm9,%xmm13
34688  .byte  102,69,15,235,243                   // por           %xmm11,%xmm14
34689  .byte  102,69,15,235,245                   // por           %xmm13,%xmm14
34690  .byte  102,69,15,235,240                   // por           %xmm8,%xmm14
34691  .byte  69,15,91,198                        // cvtdq2ps      %xmm14,%xmm8
34692  .byte  68,15,89,5,171,95,0,0               // mulps         0x5fab(%rip),%xmm8        # 61e0 <_sk_callback_sse2+0x144>
34693  .byte  68,15,88,5,179,95,0,0               // addps         0x5fb3(%rip),%xmm8        # 61f0 <_sk_callback_sse2+0x154>
34694  .byte  243,68,15,16,16                     // movss         (%rax),%xmm10
34695  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
34696  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
34697  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
34698  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
34699  .byte  68,15,88,210                        // addps         %xmm2,%xmm10
34700  .byte  15,93,195                           // minps         %xmm3,%xmm0
34701  .byte  15,87,210                           // xorps         %xmm2,%xmm2
34702  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
34703  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
34704  .byte  15,93,203                           // minps         %xmm3,%xmm1
34705  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
34706  .byte  68,15,95,201                        // maxps         %xmm1,%xmm9
34707  .byte  68,15,93,211                        // minps         %xmm3,%xmm10
34708  .byte  65,15,95,210                        // maxps         %xmm10,%xmm2
34709  .byte  72,173                              // lods          %ds:(%rsi),%rax
34710  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
34711  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
34712  .byte  255,224                             // jmpq          *%rax
34713
34714HIDDEN _sk_uniform_color_sse2
34715.globl _sk_uniform_color_sse2
34716FUNCTION(_sk_uniform_color_sse2)
34717_sk_uniform_color_sse2:
34718  .byte  72,173                              // lods          %ds:(%rsi),%rax
34719  .byte  243,15,16,0                         // movss         (%rax),%xmm0
34720  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
34721  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
34722  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
34723  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
34724  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
34725  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
34726  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
34727  .byte  72,173                              // lods          %ds:(%rsi),%rax
34728  .byte  255,224                             // jmpq          *%rax
34729
34730HIDDEN _sk_black_color_sse2
34731.globl _sk_black_color_sse2
34732FUNCTION(_sk_black_color_sse2)
34733_sk_black_color_sse2:
34734  .byte  72,173                              // lods          %ds:(%rsi),%rax
34735  .byte  15,40,29,73,95,0,0                  // movaps        0x5f49(%rip),%xmm3        # 6200 <_sk_callback_sse2+0x164>
34736  .byte  15,87,192                           // xorps         %xmm0,%xmm0
34737  .byte  15,87,201                           // xorps         %xmm1,%xmm1
34738  .byte  15,87,210                           // xorps         %xmm2,%xmm2
34739  .byte  255,224                             // jmpq          *%rax
34740
34741HIDDEN _sk_white_color_sse2
34742.globl _sk_white_color_sse2
34743FUNCTION(_sk_white_color_sse2)
34744_sk_white_color_sse2:
34745  .byte  72,173                              // lods          %ds:(%rsi),%rax
34746  .byte  15,40,5,69,95,0,0                   // movaps        0x5f45(%rip),%xmm0        # 6210 <_sk_callback_sse2+0x174>
34747  .byte  15,40,200                           // movaps        %xmm0,%xmm1
34748  .byte  15,40,208                           // movaps        %xmm0,%xmm2
34749  .byte  15,40,216                           // movaps        %xmm0,%xmm3
34750  .byte  255,224                             // jmpq          *%rax
34751
34752HIDDEN _sk_load_rgba_sse2
34753.globl _sk_load_rgba_sse2
34754FUNCTION(_sk_load_rgba_sse2)
34755_sk_load_rgba_sse2:
34756  .byte  72,173                              // lods          %ds:(%rsi),%rax
34757  .byte  15,16,0                             // movups        (%rax),%xmm0
34758  .byte  15,16,72,16                         // movups        0x10(%rax),%xmm1
34759  .byte  15,16,80,32                         // movups        0x20(%rax),%xmm2
34760  .byte  15,16,88,48                         // movups        0x30(%rax),%xmm3
34761  .byte  72,173                              // lods          %ds:(%rsi),%rax
34762  .byte  255,224                             // jmpq          *%rax
34763
34764HIDDEN _sk_store_rgba_sse2
34765.globl _sk_store_rgba_sse2
34766FUNCTION(_sk_store_rgba_sse2)
34767_sk_store_rgba_sse2:
34768  .byte  72,173                              // lods          %ds:(%rsi),%rax
34769  .byte  15,17,0                             // movups        %xmm0,(%rax)
34770  .byte  15,17,72,16                         // movups        %xmm1,0x10(%rax)
34771  .byte  15,17,80,32                         // movups        %xmm2,0x20(%rax)
34772  .byte  15,17,88,48                         // movups        %xmm3,0x30(%rax)
34773  .byte  72,173                              // lods          %ds:(%rsi),%rax
34774  .byte  255,224                             // jmpq          *%rax
34775
34776HIDDEN _sk_clear_sse2
34777.globl _sk_clear_sse2
34778FUNCTION(_sk_clear_sse2)
34779_sk_clear_sse2:
34780  .byte  72,173                              // lods          %ds:(%rsi),%rax
34781  .byte  15,87,192                           // xorps         %xmm0,%xmm0
34782  .byte  15,87,201                           // xorps         %xmm1,%xmm1
34783  .byte  15,87,210                           // xorps         %xmm2,%xmm2
34784  .byte  15,87,219                           // xorps         %xmm3,%xmm3
34785  .byte  255,224                             // jmpq          *%rax
34786
34787HIDDEN _sk_srcatop_sse2
34788.globl _sk_srcatop_sse2
34789FUNCTION(_sk_srcatop_sse2)
34790_sk_srcatop_sse2:
34791  .byte  15,89,199                           // mulps         %xmm7,%xmm0
34792  .byte  68,15,40,5,5,95,0,0                 // movaps        0x5f05(%rip),%xmm8        # 6220 <_sk_callback_sse2+0x184>
34793  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
34794  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
34795  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
34796  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
34797  .byte  15,89,207                           // mulps         %xmm7,%xmm1
34798  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
34799  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
34800  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
34801  .byte  15,89,215                           // mulps         %xmm7,%xmm2
34802  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
34803  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
34804  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
34805  .byte  15,89,223                           // mulps         %xmm7,%xmm3
34806  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
34807  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
34808  .byte  72,173                              // lods          %ds:(%rsi),%rax
34809  .byte  255,224                             // jmpq          *%rax
34810
34811HIDDEN _sk_dstatop_sse2
34812.globl _sk_dstatop_sse2
34813FUNCTION(_sk_dstatop_sse2)
34814_sk_dstatop_sse2:
34815  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
34816  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
34817  .byte  68,15,40,13,200,94,0,0              // movaps        0x5ec8(%rip),%xmm9        # 6230 <_sk_callback_sse2+0x194>
34818  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
34819  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
34820  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
34821  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
34822  .byte  68,15,89,197                        // mulps         %xmm5,%xmm8
34823  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
34824  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
34825  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
34826  .byte  68,15,89,198                        // mulps         %xmm6,%xmm8
34827  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
34828  .byte  65,15,88,208                        // addps         %xmm8,%xmm2
34829  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
34830  .byte  15,89,223                           // mulps         %xmm7,%xmm3
34831  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
34832  .byte  72,173                              // lods          %ds:(%rsi),%rax
34833  .byte  255,224                             // jmpq          *%rax
34834
34835HIDDEN _sk_srcin_sse2
34836.globl _sk_srcin_sse2
34837FUNCTION(_sk_srcin_sse2)
34838_sk_srcin_sse2:
34839  .byte  15,89,199                           // mulps         %xmm7,%xmm0
34840  .byte  15,89,207                           // mulps         %xmm7,%xmm1
34841  .byte  15,89,215                           // mulps         %xmm7,%xmm2
34842  .byte  15,89,223                           // mulps         %xmm7,%xmm3
34843  .byte  72,173                              // lods          %ds:(%rsi),%rax
34844  .byte  255,224                             // jmpq          *%rax
34845
34846HIDDEN _sk_dstin_sse2
34847.globl _sk_dstin_sse2
34848FUNCTION(_sk_dstin_sse2)
34849_sk_dstin_sse2:
34850  .byte  15,40,195                           // movaps        %xmm3,%xmm0
34851  .byte  15,89,196                           // mulps         %xmm4,%xmm0
34852  .byte  15,40,203                           // movaps        %xmm3,%xmm1
34853  .byte  15,89,205                           // mulps         %xmm5,%xmm1
34854  .byte  15,40,211                           // movaps        %xmm3,%xmm2
34855  .byte  15,89,214                           // mulps         %xmm6,%xmm2
34856  .byte  15,89,223                           // mulps         %xmm7,%xmm3
34857  .byte  72,173                              // lods          %ds:(%rsi),%rax
34858  .byte  255,224                             // jmpq          *%rax
34859
34860HIDDEN _sk_srcout_sse2
34861.globl _sk_srcout_sse2
34862FUNCTION(_sk_srcout_sse2)
34863_sk_srcout_sse2:
34864  .byte  68,15,40,5,108,94,0,0               // movaps        0x5e6c(%rip),%xmm8        # 6240 <_sk_callback_sse2+0x1a4>
34865  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
34866  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
34867  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
34868  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
34869  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
34870  .byte  72,173                              // lods          %ds:(%rsi),%rax
34871  .byte  255,224                             // jmpq          *%rax
34872
34873HIDDEN _sk_dstout_sse2
34874.globl _sk_dstout_sse2
34875FUNCTION(_sk_dstout_sse2)
34876_sk_dstout_sse2:
34877  .byte  68,15,40,5,92,94,0,0                // movaps        0x5e5c(%rip),%xmm8        # 6250 <_sk_callback_sse2+0x1b4>
34878  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
34879  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
34880  .byte  15,89,196                           // mulps         %xmm4,%xmm0
34881  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
34882  .byte  15,89,205                           // mulps         %xmm5,%xmm1
34883  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
34884  .byte  15,89,214                           // mulps         %xmm6,%xmm2
34885  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
34886  .byte  72,173                              // lods          %ds:(%rsi),%rax
34887  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
34888  .byte  255,224                             // jmpq          *%rax
34889
34890HIDDEN _sk_srcover_sse2
34891.globl _sk_srcover_sse2
34892FUNCTION(_sk_srcover_sse2)
34893_sk_srcover_sse2:
34894  .byte  68,15,40,5,63,94,0,0                // movaps        0x5e3f(%rip),%xmm8        # 6260 <_sk_callback_sse2+0x1c4>
34895  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
34896  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
34897  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
34898  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
34899  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
34900  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
34901  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
34902  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
34903  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
34904  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
34905  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
34906  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
34907  .byte  72,173                              // lods          %ds:(%rsi),%rax
34908  .byte  255,224                             // jmpq          *%rax
34909
34910HIDDEN _sk_dstover_sse2
34911.globl _sk_dstover_sse2
34912FUNCTION(_sk_dstover_sse2)
34913_sk_dstover_sse2:
34914  .byte  68,15,40,5,19,94,0,0                // movaps        0x5e13(%rip),%xmm8        # 6270 <_sk_callback_sse2+0x1d4>
34915  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
34916  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
34917  .byte  15,88,196                           // addps         %xmm4,%xmm0
34918  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
34919  .byte  15,88,205                           // addps         %xmm5,%xmm1
34920  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
34921  .byte  15,88,214                           // addps         %xmm6,%xmm2
34922  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
34923  .byte  15,88,223                           // addps         %xmm7,%xmm3
34924  .byte  72,173                              // lods          %ds:(%rsi),%rax
34925  .byte  255,224                             // jmpq          *%rax
34926
34927HIDDEN _sk_modulate_sse2
34928.globl _sk_modulate_sse2
34929FUNCTION(_sk_modulate_sse2)
34930_sk_modulate_sse2:
34931  .byte  15,89,196                           // mulps         %xmm4,%xmm0
34932  .byte  15,89,205                           // mulps         %xmm5,%xmm1
34933  .byte  15,89,214                           // mulps         %xmm6,%xmm2
34934  .byte  15,89,223                           // mulps         %xmm7,%xmm3
34935  .byte  72,173                              // lods          %ds:(%rsi),%rax
34936  .byte  255,224                             // jmpq          *%rax
34937
34938HIDDEN _sk_multiply_sse2
34939.globl _sk_multiply_sse2
34940FUNCTION(_sk_multiply_sse2)
34941_sk_multiply_sse2:
34942  .byte  68,15,40,5,231,93,0,0               // movaps        0x5de7(%rip),%xmm8        # 6280 <_sk_callback_sse2+0x1e4>
34943  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
34944  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
34945  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
34946  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
34947  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
34948  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
34949  .byte  68,15,89,220                        // mulps         %xmm4,%xmm11
34950  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
34951  .byte  15,89,196                           // mulps         %xmm4,%xmm0
34952  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
34953  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
34954  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
34955  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
34956  .byte  68,15,89,221                        // mulps         %xmm5,%xmm11
34957  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
34958  .byte  15,89,205                           // mulps         %xmm5,%xmm1
34959  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
34960  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
34961  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
34962  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
34963  .byte  68,15,89,222                        // mulps         %xmm6,%xmm11
34964  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
34965  .byte  15,89,214                           // mulps         %xmm6,%xmm2
34966  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
34967  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
34968  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
34969  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
34970  .byte  15,89,223                           // mulps         %xmm7,%xmm3
34971  .byte  65,15,88,216                        // addps         %xmm8,%xmm3
34972  .byte  72,173                              // lods          %ds:(%rsi),%rax
34973  .byte  255,224                             // jmpq          *%rax
34974
34975HIDDEN _sk_plus__sse2
34976.globl _sk_plus__sse2
34977FUNCTION(_sk_plus__sse2)
34978_sk_plus__sse2:
34979  .byte  15,88,196                           // addps         %xmm4,%xmm0
34980  .byte  15,88,205                           // addps         %xmm5,%xmm1
34981  .byte  15,88,214                           // addps         %xmm6,%xmm2
34982  .byte  15,88,223                           // addps         %xmm7,%xmm3
34983  .byte  72,173                              // lods          %ds:(%rsi),%rax
34984  .byte  255,224                             // jmpq          *%rax
34985
34986HIDDEN _sk_screen_sse2
34987.globl _sk_screen_sse2
34988FUNCTION(_sk_screen_sse2)
34989_sk_screen_sse2:
34990  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
34991  .byte  15,88,196                           // addps         %xmm4,%xmm0
34992  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
34993  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
34994  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
34995  .byte  68,15,88,197                        // addps         %xmm5,%xmm8
34996  .byte  15,89,205                           // mulps         %xmm5,%xmm1
34997  .byte  68,15,92,193                        // subps         %xmm1,%xmm8
34998  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
34999  .byte  68,15,88,206                        // addps         %xmm6,%xmm9
35000  .byte  15,89,214                           // mulps         %xmm6,%xmm2
35001  .byte  68,15,92,202                        // subps         %xmm2,%xmm9
35002  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
35003  .byte  68,15,88,215                        // addps         %xmm7,%xmm10
35004  .byte  15,89,223                           // mulps         %xmm7,%xmm3
35005  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
35006  .byte  72,173                              // lods          %ds:(%rsi),%rax
35007  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
35008  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
35009  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
35010  .byte  255,224                             // jmpq          *%rax
35011
35012HIDDEN _sk_xor__sse2
35013.globl _sk_xor__sse2
35014FUNCTION(_sk_xor__sse2)
35015_sk_xor__sse2:
35016  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
35017  .byte  15,40,29,28,93,0,0                  // movaps        0x5d1c(%rip),%xmm3        # 6290 <_sk_callback_sse2+0x1f4>
35018  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
35019  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
35020  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
35021  .byte  65,15,92,216                        // subps         %xmm8,%xmm3
35022  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
35023  .byte  68,15,89,212                        // mulps         %xmm4,%xmm10
35024  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
35025  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
35026  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
35027  .byte  68,15,89,213                        // mulps         %xmm5,%xmm10
35028  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
35029  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
35030  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
35031  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
35032  .byte  65,15,88,210                        // addps         %xmm10,%xmm2
35033  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
35034  .byte  15,89,223                           // mulps         %xmm7,%xmm3
35035  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
35036  .byte  72,173                              // lods          %ds:(%rsi),%rax
35037  .byte  255,224                             // jmpq          *%rax
35038
35039HIDDEN _sk_darken_sse2
35040.globl _sk_darken_sse2
35041FUNCTION(_sk_darken_sse2)
35042_sk_darken_sse2:
35043  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
35044  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
35045  .byte  15,88,196                           // addps         %xmm4,%xmm0
35046  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
35047  .byte  15,40,203                           // movaps        %xmm3,%xmm1
35048  .byte  15,89,204                           // mulps         %xmm4,%xmm1
35049  .byte  68,15,95,201                        // maxps         %xmm1,%xmm9
35050  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
35051  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
35052  .byte  15,88,205                           // addps         %xmm5,%xmm1
35053  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
35054  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
35055  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
35056  .byte  69,15,95,193                        // maxps         %xmm9,%xmm8
35057  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
35058  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
35059  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
35060  .byte  15,89,215                           // mulps         %xmm7,%xmm2
35061  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
35062  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
35063  .byte  65,15,95,209                        // maxps         %xmm9,%xmm2
35064  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
35065  .byte  15,40,21,135,92,0,0                 // movaps        0x5c87(%rip),%xmm2        # 62a0 <_sk_callback_sse2+0x204>
35066  .byte  15,92,211                           // subps         %xmm3,%xmm2
35067  .byte  15,89,215                           // mulps         %xmm7,%xmm2
35068  .byte  15,88,218                           // addps         %xmm2,%xmm3
35069  .byte  72,173                              // lods          %ds:(%rsi),%rax
35070  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
35071  .byte  255,224                             // jmpq          *%rax
35072
35073HIDDEN _sk_lighten_sse2
35074.globl _sk_lighten_sse2
35075FUNCTION(_sk_lighten_sse2)
35076_sk_lighten_sse2:
35077  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
35078  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
35079  .byte  15,88,196                           // addps         %xmm4,%xmm0
35080  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
35081  .byte  15,40,203                           // movaps        %xmm3,%xmm1
35082  .byte  15,89,204                           // mulps         %xmm4,%xmm1
35083  .byte  68,15,93,201                        // minps         %xmm1,%xmm9
35084  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
35085  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
35086  .byte  15,88,205                           // addps         %xmm5,%xmm1
35087  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
35088  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
35089  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
35090  .byte  69,15,93,193                        // minps         %xmm9,%xmm8
35091  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
35092  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
35093  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
35094  .byte  15,89,215                           // mulps         %xmm7,%xmm2
35095  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
35096  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
35097  .byte  65,15,93,209                        // minps         %xmm9,%xmm2
35098  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
35099  .byte  15,40,21,44,92,0,0                  // movaps        0x5c2c(%rip),%xmm2        # 62b0 <_sk_callback_sse2+0x214>
35100  .byte  15,92,211                           // subps         %xmm3,%xmm2
35101  .byte  15,89,215                           // mulps         %xmm7,%xmm2
35102  .byte  15,88,218                           // addps         %xmm2,%xmm3
35103  .byte  72,173                              // lods          %ds:(%rsi),%rax
35104  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
35105  .byte  255,224                             // jmpq          *%rax
35106
35107HIDDEN _sk_difference_sse2
35108.globl _sk_difference_sse2
35109FUNCTION(_sk_difference_sse2)
35110_sk_difference_sse2:
35111  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
35112  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
35113  .byte  15,88,196                           // addps         %xmm4,%xmm0
35114  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
35115  .byte  15,40,203                           // movaps        %xmm3,%xmm1
35116  .byte  15,89,204                           // mulps         %xmm4,%xmm1
35117  .byte  68,15,93,201                        // minps         %xmm1,%xmm9
35118  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
35119  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
35120  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
35121  .byte  15,88,205                           // addps         %xmm5,%xmm1
35122  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
35123  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
35124  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
35125  .byte  69,15,93,193                        // minps         %xmm9,%xmm8
35126  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
35127  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
35128  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
35129  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
35130  .byte  15,89,215                           // mulps         %xmm7,%xmm2
35131  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
35132  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
35133  .byte  65,15,93,209                        // minps         %xmm9,%xmm2
35134  .byte  15,88,210                           // addps         %xmm2,%xmm2
35135  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
35136  .byte  15,40,21,198,91,0,0                 // movaps        0x5bc6(%rip),%xmm2        # 62c0 <_sk_callback_sse2+0x224>
35137  .byte  15,92,211                           // subps         %xmm3,%xmm2
35138  .byte  15,89,215                           // mulps         %xmm7,%xmm2
35139  .byte  15,88,218                           // addps         %xmm2,%xmm3
35140  .byte  72,173                              // lods          %ds:(%rsi),%rax
35141  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
35142  .byte  255,224                             // jmpq          *%rax
35143
35144HIDDEN _sk_exclusion_sse2
35145.globl _sk_exclusion_sse2
35146FUNCTION(_sk_exclusion_sse2)
35147_sk_exclusion_sse2:
35148  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
35149  .byte  15,40,200                           // movaps        %xmm0,%xmm1
35150  .byte  15,88,196                           // addps         %xmm4,%xmm0
35151  .byte  15,89,204                           // mulps         %xmm4,%xmm1
35152  .byte  15,88,201                           // addps         %xmm1,%xmm1
35153  .byte  15,92,193                           // subps         %xmm1,%xmm0
35154  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
35155  .byte  15,88,205                           // addps         %xmm5,%xmm1
35156  .byte  68,15,89,197                        // mulps         %xmm5,%xmm8
35157  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
35158  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
35159  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
35160  .byte  68,15,88,198                        // addps         %xmm6,%xmm8
35161  .byte  15,89,214                           // mulps         %xmm6,%xmm2
35162  .byte  15,88,210                           // addps         %xmm2,%xmm2
35163  .byte  68,15,92,194                        // subps         %xmm2,%xmm8
35164  .byte  15,40,21,134,91,0,0                 // movaps        0x5b86(%rip),%xmm2        # 62d0 <_sk_callback_sse2+0x234>
35165  .byte  15,92,211                           // subps         %xmm3,%xmm2
35166  .byte  15,89,215                           // mulps         %xmm7,%xmm2
35167  .byte  15,88,218                           // addps         %xmm2,%xmm3
35168  .byte  72,173                              // lods          %ds:(%rsi),%rax
35169  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
35170  .byte  255,224                             // jmpq          *%rax
35171
35172HIDDEN _sk_colorburn_sse2
35173.globl _sk_colorburn_sse2
35174FUNCTION(_sk_colorburn_sse2)
35175_sk_colorburn_sse2:
35176  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
35177  .byte  68,15,40,21,121,91,0,0              // movaps        0x5b79(%rip),%xmm10        # 62e0 <_sk_callback_sse2+0x244>
35178  .byte  69,15,40,202                        // movaps        %xmm10,%xmm9
35179  .byte  68,15,92,207                        // subps         %xmm7,%xmm9
35180  .byte  69,15,40,217                        // movaps        %xmm9,%xmm11
35181  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
35182  .byte  15,40,199                           // movaps        %xmm7,%xmm0
35183  .byte  15,92,196                           // subps         %xmm4,%xmm0
35184  .byte  15,89,195                           // mulps         %xmm3,%xmm0
35185  .byte  65,15,94,192                        // divps         %xmm8,%xmm0
35186  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
35187  .byte  68,15,93,224                        // minps         %xmm0,%xmm12
35188  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
35189  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
35190  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
35191  .byte  69,15,88,235                        // addps         %xmm11,%xmm13
35192  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
35193  .byte  15,88,196                           // addps         %xmm4,%xmm0
35194  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
35195  .byte  69,15,40,224                        // movaps        %xmm8,%xmm12
35196  .byte  69,15,194,227,0                     // cmpeqps       %xmm11,%xmm12
35197  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
35198  .byte  69,15,84,196                        // andps         %xmm12,%xmm8
35199  .byte  69,15,85,229                        // andnps        %xmm13,%xmm12
35200  .byte  69,15,40,234                        // movaps        %xmm10,%xmm13
35201  .byte  68,15,89,236                        // mulps         %xmm4,%xmm13
35202  .byte  69,15,86,224                        // orps          %xmm8,%xmm12
35203  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
35204  .byte  68,15,194,199,0                     // cmpeqps       %xmm7,%xmm8
35205  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
35206  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
35207  .byte  69,15,85,196                        // andnps        %xmm12,%xmm8
35208  .byte  65,15,86,192                        // orps          %xmm8,%xmm0
35209  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
35210  .byte  68,15,89,193                        // mulps         %xmm1,%xmm8
35211  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
35212  .byte  68,15,92,229                        // subps         %xmm5,%xmm12
35213  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
35214  .byte  68,15,94,225                        // divps         %xmm1,%xmm12
35215  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
35216  .byte  69,15,93,236                        // minps         %xmm12,%xmm13
35217  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
35218  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
35219  .byte  68,15,40,233                        // movaps        %xmm1,%xmm13
35220  .byte  69,15,194,235,0                     // cmpeqps       %xmm11,%xmm13
35221  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
35222  .byte  69,15,88,224                        // addps         %xmm8,%xmm12
35223  .byte  65,15,84,205                        // andps         %xmm13,%xmm1
35224  .byte  69,15,85,236                        // andnps        %xmm12,%xmm13
35225  .byte  68,15,88,197                        // addps         %xmm5,%xmm8
35226  .byte  68,15,86,233                        // orps          %xmm1,%xmm13
35227  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
35228  .byte  15,89,205                           // mulps         %xmm5,%xmm1
35229  .byte  68,15,88,233                        // addps         %xmm1,%xmm13
35230  .byte  15,40,205                           // movaps        %xmm5,%xmm1
35231  .byte  15,194,207,0                        // cmpeqps       %xmm7,%xmm1
35232  .byte  68,15,84,193                        // andps         %xmm1,%xmm8
35233  .byte  65,15,85,205                        // andnps        %xmm13,%xmm1
35234  .byte  68,15,86,193                        // orps          %xmm1,%xmm8
35235  .byte  15,40,207                           // movaps        %xmm7,%xmm1
35236  .byte  15,92,206                           // subps         %xmm6,%xmm1
35237  .byte  15,89,203                           // mulps         %xmm3,%xmm1
35238  .byte  15,94,202                           // divps         %xmm2,%xmm1
35239  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
35240  .byte  68,15,93,225                        // minps         %xmm1,%xmm12
35241  .byte  15,40,207                           // movaps        %xmm7,%xmm1
35242  .byte  65,15,92,204                        // subps         %xmm12,%xmm1
35243  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
35244  .byte  68,15,194,218,0                     // cmpeqps       %xmm2,%xmm11
35245  .byte  15,89,203                           // mulps         %xmm3,%xmm1
35246  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
35247  .byte  65,15,84,211                        // andps         %xmm11,%xmm2
35248  .byte  68,15,85,217                        // andnps        %xmm1,%xmm11
35249  .byte  68,15,88,206                        // addps         %xmm6,%xmm9
35250  .byte  68,15,86,218                        // orps          %xmm2,%xmm11
35251  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
35252  .byte  15,89,206                           // mulps         %xmm6,%xmm1
35253  .byte  68,15,88,217                        // addps         %xmm1,%xmm11
35254  .byte  15,40,206                           // movaps        %xmm6,%xmm1
35255  .byte  15,194,207,0                        // cmpeqps       %xmm7,%xmm1
35256  .byte  68,15,84,201                        // andps         %xmm1,%xmm9
35257  .byte  65,15,85,203                        // andnps        %xmm11,%xmm1
35258  .byte  68,15,86,201                        // orps          %xmm1,%xmm9
35259  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
35260  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
35261  .byte  72,173                              // lods          %ds:(%rsi),%rax
35262  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
35263  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
35264  .byte  255,224                             // jmpq          *%rax
35265
35266HIDDEN _sk_colordodge_sse2
35267.globl _sk_colordodge_sse2
35268FUNCTION(_sk_colordodge_sse2)
35269_sk_colordodge_sse2:
35270  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
35271  .byte  68,15,40,21,47,90,0,0               // movaps        0x5a2f(%rip),%xmm10        # 62f0 <_sk_callback_sse2+0x254>
35272  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
35273  .byte  68,15,92,223                        // subps         %xmm7,%xmm11
35274  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
35275  .byte  69,15,89,225                        // mulps         %xmm9,%xmm12
35276  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
35277  .byte  68,15,89,196                        // mulps         %xmm4,%xmm8
35278  .byte  15,40,195                           // movaps        %xmm3,%xmm0
35279  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
35280  .byte  68,15,94,192                        // divps         %xmm0,%xmm8
35281  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
35282  .byte  15,40,199                           // movaps        %xmm7,%xmm0
35283  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
35284  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
35285  .byte  68,15,194,243,0                     // cmpeqps       %xmm3,%xmm14
35286  .byte  15,89,195                           // mulps         %xmm3,%xmm0
35287  .byte  65,15,88,196                        // addps         %xmm12,%xmm0
35288  .byte  69,15,84,206                        // andps         %xmm14,%xmm9
35289  .byte  68,15,85,240                        // andnps        %xmm0,%xmm14
35290  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
35291  .byte  65,15,40,196                        // movaps        %xmm12,%xmm0
35292  .byte  15,88,196                           // addps         %xmm4,%xmm0
35293  .byte  68,15,92,211                        // subps         %xmm3,%xmm10
35294  .byte  69,15,86,241                        // orps          %xmm9,%xmm14
35295  .byte  69,15,40,202                        // movaps        %xmm10,%xmm9
35296  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
35297  .byte  69,15,88,241                        // addps         %xmm9,%xmm14
35298  .byte  68,15,40,204                        // movaps        %xmm4,%xmm9
35299  .byte  69,15,194,200,0                     // cmpeqps       %xmm8,%xmm9
35300  .byte  65,15,84,193                        // andps         %xmm9,%xmm0
35301  .byte  69,15,85,206                        // andnps        %xmm14,%xmm9
35302  .byte  65,15,86,193                        // orps          %xmm9,%xmm0
35303  .byte  68,15,40,203                        // movaps        %xmm3,%xmm9
35304  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
35305  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
35306  .byte  68,15,92,225                        // subps         %xmm1,%xmm12
35307  .byte  69,15,94,204                        // divps         %xmm12,%xmm9
35308  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
35309  .byte  68,15,89,225                        // mulps         %xmm1,%xmm12
35310  .byte  69,15,93,233                        // minps         %xmm9,%xmm13
35311  .byte  68,15,40,241                        // movaps        %xmm1,%xmm14
35312  .byte  68,15,194,243,0                     // cmpeqps       %xmm3,%xmm14
35313  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
35314  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
35315  .byte  65,15,84,206                        // andps         %xmm14,%xmm1
35316  .byte  69,15,85,245                        // andnps        %xmm13,%xmm14
35317  .byte  69,15,40,204                        // movaps        %xmm12,%xmm9
35318  .byte  68,15,88,205                        // addps         %xmm5,%xmm9
35319  .byte  68,15,86,241                        // orps          %xmm1,%xmm14
35320  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
35321  .byte  15,89,205                           // mulps         %xmm5,%xmm1
35322  .byte  68,15,88,241                        // addps         %xmm1,%xmm14
35323  .byte  15,40,205                           // movaps        %xmm5,%xmm1
35324  .byte  65,15,194,200,0                     // cmpeqps       %xmm8,%xmm1
35325  .byte  68,15,84,201                        // andps         %xmm1,%xmm9
35326  .byte  65,15,85,206                        // andnps        %xmm14,%xmm1
35327  .byte  68,15,86,201                        // orps          %xmm1,%xmm9
35328  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
35329  .byte  68,15,89,230                        // mulps         %xmm6,%xmm12
35330  .byte  15,40,203                           // movaps        %xmm3,%xmm1
35331  .byte  15,92,202                           // subps         %xmm2,%xmm1
35332  .byte  68,15,94,225                        // divps         %xmm1,%xmm12
35333  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
35334  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
35335  .byte  69,15,93,236                        // minps         %xmm12,%xmm13
35336  .byte  15,40,202                           // movaps        %xmm2,%xmm1
35337  .byte  15,194,203,0                        // cmpeqps       %xmm3,%xmm1
35338  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
35339  .byte  69,15,88,235                        // addps         %xmm11,%xmm13
35340  .byte  15,84,209                           // andps         %xmm1,%xmm2
35341  .byte  65,15,85,205                        // andnps        %xmm13,%xmm1
35342  .byte  15,86,202                           // orps          %xmm2,%xmm1
35343  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
35344  .byte  15,89,214                           // mulps         %xmm6,%xmm2
35345  .byte  15,88,202                           // addps         %xmm2,%xmm1
35346  .byte  68,15,194,198,0                     // cmpeqps       %xmm6,%xmm8
35347  .byte  68,15,88,222                        // addps         %xmm6,%xmm11
35348  .byte  69,15,84,216                        // andps         %xmm8,%xmm11
35349  .byte  68,15,85,193                        // andnps        %xmm1,%xmm8
35350  .byte  69,15,86,195                        // orps          %xmm11,%xmm8
35351  .byte  68,15,89,215                        // mulps         %xmm7,%xmm10
35352  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
35353  .byte  72,173                              // lods          %ds:(%rsi),%rax
35354  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
35355  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
35356  .byte  255,224                             // jmpq          *%rax
35357
35358HIDDEN _sk_hardlight_sse2
35359.globl _sk_hardlight_sse2
35360FUNCTION(_sk_hardlight_sse2)
35361_sk_hardlight_sse2:
35362  .byte  15,41,116,36,232                    // movaps        %xmm6,-0x18(%rsp)
35363  .byte  15,40,245                           // movaps        %xmm5,%xmm6
35364  .byte  15,40,236                           // movaps        %xmm4,%xmm5
35365  .byte  68,15,40,29,228,88,0,0              // movaps        0x58e4(%rip),%xmm11        # 6300 <_sk_callback_sse2+0x264>
35366  .byte  69,15,40,211                        // movaps        %xmm11,%xmm10
35367  .byte  68,15,92,215                        // subps         %xmm7,%xmm10
35368  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
35369  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
35370  .byte  68,15,92,219                        // subps         %xmm3,%xmm11
35371  .byte  69,15,40,203                        // movaps        %xmm11,%xmm9
35372  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
35373  .byte  69,15,88,200                        // addps         %xmm8,%xmm9
35374  .byte  68,15,40,195                        // movaps        %xmm3,%xmm8
35375  .byte  68,15,92,192                        // subps         %xmm0,%xmm8
35376  .byte  15,40,227                           // movaps        %xmm3,%xmm4
35377  .byte  15,89,231                           // mulps         %xmm7,%xmm4
35378  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
35379  .byte  68,15,40,247                        // movaps        %xmm7,%xmm14
35380  .byte  68,15,40,255                        // movaps        %xmm7,%xmm15
35381  .byte  68,15,92,253                        // subps         %xmm5,%xmm15
35382  .byte  69,15,89,248                        // mulps         %xmm8,%xmm15
35383  .byte  69,15,88,255                        // addps         %xmm15,%xmm15
35384  .byte  68,15,40,228                        // movaps        %xmm4,%xmm12
35385  .byte  69,15,92,231                        // subps         %xmm15,%xmm12
35386  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
35387  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
35388  .byte  68,15,194,195,2                     // cmpleps       %xmm3,%xmm8
35389  .byte  15,89,197                           // mulps         %xmm5,%xmm0
35390  .byte  15,88,192                           // addps         %xmm0,%xmm0
35391  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
35392  .byte  69,15,85,196                        // andnps        %xmm12,%xmm8
35393  .byte  68,15,86,192                        // orps          %xmm0,%xmm8
35394  .byte  69,15,40,251                        // movaps        %xmm11,%xmm15
35395  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
35396  .byte  68,15,89,223                        // mulps         %xmm7,%xmm11
35397  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
35398  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
35399  .byte  15,89,193                           // mulps         %xmm1,%xmm0
35400  .byte  68,15,89,254                        // mulps         %xmm6,%xmm15
35401  .byte  68,15,88,248                        // addps         %xmm0,%xmm15
35402  .byte  15,40,195                           // movaps        %xmm3,%xmm0
35403  .byte  15,92,193                           // subps         %xmm1,%xmm0
35404  .byte  68,15,92,238                        // subps         %xmm6,%xmm13
35405  .byte  68,15,89,232                        // mulps         %xmm0,%xmm13
35406  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
35407  .byte  15,40,196                           // movaps        %xmm4,%xmm0
35408  .byte  65,15,92,197                        // subps         %xmm13,%xmm0
35409  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
35410  .byte  69,15,88,201                        // addps         %xmm9,%xmm9
35411  .byte  68,15,194,203,2                     // cmpleps       %xmm3,%xmm9
35412  .byte  15,89,206                           // mulps         %xmm6,%xmm1
35413  .byte  15,88,201                           // addps         %xmm1,%xmm1
35414  .byte  65,15,84,201                        // andps         %xmm9,%xmm1
35415  .byte  68,15,85,200                        // andnps        %xmm0,%xmm9
35416  .byte  68,15,86,201                        // orps          %xmm1,%xmm9
35417  .byte  69,15,88,207                        // addps         %xmm15,%xmm9
35418  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
35419  .byte  68,15,40,108,36,232                 // movaps        -0x18(%rsp),%xmm13
35420  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
35421  .byte  69,15,88,226                        // addps         %xmm10,%xmm12
35422  .byte  68,15,40,210                        // movaps        %xmm2,%xmm10
35423  .byte  69,15,88,210                        // addps         %xmm10,%xmm10
35424  .byte  68,15,194,211,2                     // cmpleps       %xmm3,%xmm10
35425  .byte  15,40,195                           // movaps        %xmm3,%xmm0
35426  .byte  15,92,194                           // subps         %xmm2,%xmm0
35427  .byte  65,15,89,213                        // mulps         %xmm13,%xmm2
35428  .byte  15,88,210                           // addps         %xmm2,%xmm2
35429  .byte  69,15,92,245                        // subps         %xmm13,%xmm14
35430  .byte  68,15,89,240                        // mulps         %xmm0,%xmm14
35431  .byte  69,15,88,246                        // addps         %xmm14,%xmm14
35432  .byte  65,15,92,230                        // subps         %xmm14,%xmm4
35433  .byte  65,15,84,210                        // andps         %xmm10,%xmm2
35434  .byte  68,15,85,212                        // andnps        %xmm4,%xmm10
35435  .byte  68,15,86,210                        // orps          %xmm2,%xmm10
35436  .byte  69,15,88,212                        // addps         %xmm12,%xmm10
35437  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
35438  .byte  72,173                              // lods          %ds:(%rsi),%rax
35439  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
35440  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
35441  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
35442  .byte  15,40,229                           // movaps        %xmm5,%xmm4
35443  .byte  15,40,238                           // movaps        %xmm6,%xmm5
35444  .byte  65,15,40,245                        // movaps        %xmm13,%xmm6
35445  .byte  255,224                             // jmpq          *%rax
35446
35447HIDDEN _sk_overlay_sse2
35448.globl _sk_overlay_sse2
35449FUNCTION(_sk_overlay_sse2)
35450_sk_overlay_sse2:
35451  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
35452  .byte  68,15,40,232                        // movaps        %xmm0,%xmm13
35453  .byte  68,15,40,13,178,87,0,0              // movaps        0x57b2(%rip),%xmm9        # 6310 <_sk_callback_sse2+0x274>
35454  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
35455  .byte  68,15,92,215                        // subps         %xmm7,%xmm10
35456  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
35457  .byte  69,15,89,221                        // mulps         %xmm13,%xmm11
35458  .byte  68,15,92,203                        // subps         %xmm3,%xmm9
35459  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
35460  .byte  15,89,196                           // mulps         %xmm4,%xmm0
35461  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
35462  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
35463  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
35464  .byte  68,15,89,236                        // mulps         %xmm4,%xmm13
35465  .byte  68,15,40,247                        // movaps        %xmm7,%xmm14
35466  .byte  68,15,92,244                        // subps         %xmm4,%xmm14
35467  .byte  15,40,204                           // movaps        %xmm4,%xmm1
35468  .byte  15,88,201                           // addps         %xmm1,%xmm1
35469  .byte  15,194,207,2                        // cmpleps       %xmm7,%xmm1
35470  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
35471  .byte  68,15,40,219                        // movaps        %xmm3,%xmm11
35472  .byte  68,15,89,223                        // mulps         %xmm7,%xmm11
35473  .byte  69,15,89,244                        // mulps         %xmm12,%xmm14
35474  .byte  69,15,88,246                        // addps         %xmm14,%xmm14
35475  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
35476  .byte  69,15,92,230                        // subps         %xmm14,%xmm12
35477  .byte  68,15,84,233                        // andps         %xmm1,%xmm13
35478  .byte  65,15,85,204                        // andnps        %xmm12,%xmm1
35479  .byte  65,15,86,205                        // orps          %xmm13,%xmm1
35480  .byte  15,88,193                           // addps         %xmm1,%xmm0
35481  .byte  69,15,40,226                        // movaps        %xmm10,%xmm12
35482  .byte  69,15,89,224                        // mulps         %xmm8,%xmm12
35483  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
35484  .byte  15,89,205                           // mulps         %xmm5,%xmm1
35485  .byte  65,15,88,204                        // addps         %xmm12,%xmm1
35486  .byte  68,15,40,227                        // movaps        %xmm3,%xmm12
35487  .byte  69,15,92,224                        // subps         %xmm8,%xmm12
35488  .byte  68,15,89,197                        // mulps         %xmm5,%xmm8
35489  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
35490  .byte  68,15,92,237                        // subps         %xmm5,%xmm13
35491  .byte  68,15,40,245                        // movaps        %xmm5,%xmm14
35492  .byte  69,15,88,246                        // addps         %xmm14,%xmm14
35493  .byte  68,15,194,247,2                     // cmpleps       %xmm7,%xmm14
35494  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
35495  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
35496  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
35497  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
35498  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
35499  .byte  69,15,84,198                        // andps         %xmm14,%xmm8
35500  .byte  69,15,85,244                        // andnps        %xmm12,%xmm14
35501  .byte  69,15,86,240                        // orps          %xmm8,%xmm14
35502  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
35503  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
35504  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
35505  .byte  68,15,89,198                        // mulps         %xmm6,%xmm8
35506  .byte  69,15,88,194                        // addps         %xmm10,%xmm8
35507  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
35508  .byte  68,15,92,210                        // subps         %xmm2,%xmm10
35509  .byte  15,89,214                           // mulps         %xmm6,%xmm2
35510  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
35511  .byte  68,15,92,230                        // subps         %xmm6,%xmm12
35512  .byte  68,15,40,238                        // movaps        %xmm6,%xmm13
35513  .byte  69,15,88,237                        // addps         %xmm13,%xmm13
35514  .byte  68,15,194,239,2                     // cmpleps       %xmm7,%xmm13
35515  .byte  15,88,210                           // addps         %xmm2,%xmm2
35516  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
35517  .byte  69,15,88,228                        // addps         %xmm12,%xmm12
35518  .byte  69,15,92,220                        // subps         %xmm12,%xmm11
35519  .byte  65,15,84,213                        // andps         %xmm13,%xmm2
35520  .byte  69,15,85,235                        // andnps        %xmm11,%xmm13
35521  .byte  68,15,86,234                        // orps          %xmm2,%xmm13
35522  .byte  69,15,88,197                        // addps         %xmm13,%xmm8
35523  .byte  68,15,89,207                        // mulps         %xmm7,%xmm9
35524  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
35525  .byte  72,173                              // lods          %ds:(%rsi),%rax
35526  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
35527  .byte  255,224                             // jmpq          *%rax
35528
35529HIDDEN _sk_softlight_sse2
35530.globl _sk_softlight_sse2
35531FUNCTION(_sk_softlight_sse2)
35532_sk_softlight_sse2:
35533  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
35534  .byte  15,40,245                           // movaps        %xmm5,%xmm6
35535  .byte  15,40,236                           // movaps        %xmm4,%xmm5
35536  .byte  15,41,84,36,232                     // movaps        %xmm2,-0x18(%rsp)
35537  .byte  15,40,209                           // movaps        %xmm1,%xmm2
35538  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
35539  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
35540  .byte  68,15,194,231,1                     // cmpltps       %xmm7,%xmm12
35541  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
35542  .byte  68,15,94,215                        // divps         %xmm7,%xmm10
35543  .byte  69,15,84,212                        // andps         %xmm12,%xmm10
35544  .byte  68,15,40,13,111,86,0,0              // movaps        0x566f(%rip),%xmm9        # 6320 <_sk_callback_sse2+0x284>
35545  .byte  69,15,40,249                        // movaps        %xmm9,%xmm15
35546  .byte  69,15,92,250                        // subps         %xmm10,%xmm15
35547  .byte  69,15,40,218                        // movaps        %xmm10,%xmm11
35548  .byte  69,15,40,234                        // movaps        %xmm10,%xmm13
35549  .byte  65,15,82,194                        // rsqrtps       %xmm10,%xmm0
35550  .byte  15,83,200                           // rcpps         %xmm0,%xmm1
35551  .byte  65,15,92,202                        // subps         %xmm10,%xmm1
35552  .byte  69,15,88,210                        // addps         %xmm10,%xmm10
35553  .byte  69,15,88,210                        // addps         %xmm10,%xmm10
35554  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
35555  .byte  15,89,192                           // mulps         %xmm0,%xmm0
35556  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
35557  .byte  68,15,40,53,73,86,0,0               // movaps        0x5649(%rip),%xmm14        # 6330 <_sk_callback_sse2+0x294>
35558  .byte  69,15,88,222                        // addps         %xmm14,%xmm11
35559  .byte  68,15,89,216                        // mulps         %xmm0,%xmm11
35560  .byte  68,15,40,21,73,86,0,0               // movaps        0x5649(%rip),%xmm10        # 6340 <_sk_callback_sse2+0x2a4>
35561  .byte  69,15,89,234                        // mulps         %xmm10,%xmm13
35562  .byte  69,15,88,235                        // addps         %xmm11,%xmm13
35563  .byte  15,88,228                           // addps         %xmm4,%xmm4
35564  .byte  15,88,228                           // addps         %xmm4,%xmm4
35565  .byte  15,194,231,2                        // cmpleps       %xmm7,%xmm4
35566  .byte  68,15,84,236                        // andps         %xmm4,%xmm13
35567  .byte  15,85,225                           // andnps        %xmm1,%xmm4
35568  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
35569  .byte  15,88,192                           // addps         %xmm0,%xmm0
35570  .byte  65,15,86,229                        // orps          %xmm13,%xmm4
35571  .byte  15,40,200                           // movaps        %xmm0,%xmm1
35572  .byte  15,92,203                           // subps         %xmm3,%xmm1
35573  .byte  68,15,89,249                        // mulps         %xmm1,%xmm15
35574  .byte  15,89,207                           // mulps         %xmm7,%xmm1
35575  .byte  15,89,225                           // mulps         %xmm1,%xmm4
35576  .byte  15,40,203                           // movaps        %xmm3,%xmm1
35577  .byte  15,89,205                           // mulps         %xmm5,%xmm1
35578  .byte  15,88,225                           // addps         %xmm1,%xmm4
35579  .byte  69,15,40,217                        // movaps        %xmm9,%xmm11
35580  .byte  68,15,92,219                        // subps         %xmm3,%xmm11
35581  .byte  65,15,40,203                        // movaps        %xmm11,%xmm1
35582  .byte  15,89,205                           // mulps         %xmm5,%xmm1
35583  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
35584  .byte  68,15,92,239                        // subps         %xmm7,%xmm13
35585  .byte  69,15,89,197                        // mulps         %xmm13,%xmm8
35586  .byte  68,15,88,193                        // addps         %xmm1,%xmm8
35587  .byte  68,15,88,251                        // addps         %xmm3,%xmm15
35588  .byte  68,15,89,253                        // mulps         %xmm5,%xmm15
35589  .byte  15,194,195,2                        // cmpleps       %xmm3,%xmm0
35590  .byte  68,15,84,248                        // andps         %xmm0,%xmm15
35591  .byte  15,85,196                           // andnps        %xmm4,%xmm0
35592  .byte  65,15,86,199                        // orps          %xmm15,%xmm0
35593  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
35594  .byte  68,15,40,198                        // movaps        %xmm6,%xmm8
35595  .byte  68,15,94,199                        // divps         %xmm7,%xmm8
35596  .byte  69,15,84,196                        // andps         %xmm12,%xmm8
35597  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
35598  .byte  15,88,201                           // addps         %xmm1,%xmm1
35599  .byte  15,88,201                           // addps         %xmm1,%xmm1
35600  .byte  15,40,225                           // movaps        %xmm1,%xmm4
35601  .byte  15,89,228                           // mulps         %xmm4,%xmm4
35602  .byte  15,88,225                           // addps         %xmm1,%xmm4
35603  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
35604  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
35605  .byte  15,89,204                           // mulps         %xmm4,%xmm1
35606  .byte  69,15,40,249                        // movaps        %xmm9,%xmm15
35607  .byte  69,15,92,248                        // subps         %xmm8,%xmm15
35608  .byte  65,15,82,224                        // rsqrtps       %xmm8,%xmm4
35609  .byte  15,83,228                           // rcpps         %xmm4,%xmm4
35610  .byte  65,15,92,224                        // subps         %xmm8,%xmm4
35611  .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
35612  .byte  68,15,88,193                        // addps         %xmm1,%xmm8
35613  .byte  15,40,206                           // movaps        %xmm6,%xmm1
35614  .byte  15,88,201                           // addps         %xmm1,%xmm1
35615  .byte  15,88,201                           // addps         %xmm1,%xmm1
35616  .byte  15,194,207,2                        // cmpleps       %xmm7,%xmm1
35617  .byte  68,15,84,193                        // andps         %xmm1,%xmm8
35618  .byte  15,85,204                           // andnps        %xmm4,%xmm1
35619  .byte  65,15,86,200                        // orps          %xmm8,%xmm1
35620  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
35621  .byte  69,15,88,192                        // addps         %xmm8,%xmm8
35622  .byte  65,15,40,224                        // movaps        %xmm8,%xmm4
35623  .byte  15,92,227                           // subps         %xmm3,%xmm4
35624  .byte  68,15,89,252                        // mulps         %xmm4,%xmm15
35625  .byte  15,89,231                           // mulps         %xmm7,%xmm4
35626  .byte  15,89,204                           // mulps         %xmm4,%xmm1
35627  .byte  15,40,227                           // movaps        %xmm3,%xmm4
35628  .byte  15,89,230                           // mulps         %xmm6,%xmm4
35629  .byte  15,88,204                           // addps         %xmm4,%xmm1
35630  .byte  65,15,40,227                        // movaps        %xmm11,%xmm4
35631  .byte  15,89,230                           // mulps         %xmm6,%xmm4
35632  .byte  65,15,89,213                        // mulps         %xmm13,%xmm2
35633  .byte  15,88,212                           // addps         %xmm4,%xmm2
35634  .byte  68,15,88,251                        // addps         %xmm3,%xmm15
35635  .byte  68,15,89,254                        // mulps         %xmm6,%xmm15
35636  .byte  68,15,194,195,2                     // cmpleps       %xmm3,%xmm8
35637  .byte  69,15,84,248                        // andps         %xmm8,%xmm15
35638  .byte  68,15,85,193                        // andnps        %xmm1,%xmm8
35639  .byte  69,15,86,199                        // orps          %xmm15,%xmm8
35640  .byte  68,15,88,194                        // addps         %xmm2,%xmm8
35641  .byte  68,15,40,124,36,216                 // movaps        -0x28(%rsp),%xmm15
35642  .byte  65,15,40,207                        // movaps        %xmm15,%xmm1
35643  .byte  15,94,207                           // divps         %xmm7,%xmm1
35644  .byte  65,15,84,204                        // andps         %xmm12,%xmm1
35645  .byte  68,15,92,201                        // subps         %xmm1,%xmm9
35646  .byte  68,15,88,241                        // addps         %xmm1,%xmm14
35647  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
35648  .byte  15,82,209                           // rsqrtps       %xmm1,%xmm2
35649  .byte  15,83,210                           // rcpps         %xmm2,%xmm2
35650  .byte  15,92,209                           // subps         %xmm1,%xmm2
35651  .byte  15,88,201                           // addps         %xmm1,%xmm1
35652  .byte  15,88,201                           // addps         %xmm1,%xmm1
35653  .byte  15,40,225                           // movaps        %xmm1,%xmm4
35654  .byte  15,89,228                           // mulps         %xmm4,%xmm4
35655  .byte  15,88,225                           // addps         %xmm1,%xmm4
35656  .byte  68,15,89,244                        // mulps         %xmm4,%xmm14
35657  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
35658  .byte  65,15,40,207                        // movaps        %xmm15,%xmm1
35659  .byte  15,88,201                           // addps         %xmm1,%xmm1
35660  .byte  15,88,201                           // addps         %xmm1,%xmm1
35661  .byte  15,194,207,2                        // cmpleps       %xmm7,%xmm1
35662  .byte  68,15,84,209                        // andps         %xmm1,%xmm10
35663  .byte  15,85,202                           // andnps        %xmm2,%xmm1
35664  .byte  15,40,84,36,232                     // movaps        -0x18(%rsp),%xmm2
35665  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
35666  .byte  15,88,210                           // addps         %xmm2,%xmm2
35667  .byte  65,15,86,202                        // orps          %xmm10,%xmm1
35668  .byte  15,40,226                           // movaps        %xmm2,%xmm4
35669  .byte  15,92,227                           // subps         %xmm3,%xmm4
35670  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
35671  .byte  15,89,231                           // mulps         %xmm7,%xmm4
35672  .byte  15,89,204                           // mulps         %xmm4,%xmm1
35673  .byte  15,40,227                           // movaps        %xmm3,%xmm4
35674  .byte  65,15,89,231                        // mulps         %xmm15,%xmm4
35675  .byte  15,88,204                           // addps         %xmm4,%xmm1
35676  .byte  65,15,40,227                        // movaps        %xmm11,%xmm4
35677  .byte  65,15,89,231                        // mulps         %xmm15,%xmm4
35678  .byte  65,15,88,229                        // addps         %xmm13,%xmm4
35679  .byte  68,15,88,203                        // addps         %xmm3,%xmm9
35680  .byte  69,15,89,207                        // mulps         %xmm15,%xmm9
35681  .byte  69,15,40,215                        // movaps        %xmm15,%xmm10
35682  .byte  15,194,211,2                        // cmpleps       %xmm3,%xmm2
35683  .byte  68,15,84,202                        // andps         %xmm2,%xmm9
35684  .byte  15,85,209                           // andnps        %xmm1,%xmm2
35685  .byte  65,15,86,209                        // orps          %xmm9,%xmm2
35686  .byte  15,88,212                           // addps         %xmm4,%xmm2
35687  .byte  68,15,89,223                        // mulps         %xmm7,%xmm11
35688  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
35689  .byte  72,173                              // lods          %ds:(%rsi),%rax
35690  .byte  15,40,229                           // movaps        %xmm5,%xmm4
35691  .byte  15,40,238                           // movaps        %xmm6,%xmm5
35692  .byte  65,15,40,242                        // movaps        %xmm10,%xmm6
35693  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
35694  .byte  255,224                             // jmpq          *%rax
35695
35696HIDDEN _sk_hue_sse2
35697.globl _sk_hue_sse2
35698FUNCTION(_sk_hue_sse2)
35699_sk_hue_sse2:
35700  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
35701  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
35702  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
35703  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
35704  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
35705  .byte  68,15,40,5,140,84,0,0               // movaps        0x548c(%rip),%xmm8        # 6380 <_sk_callback_sse2+0x2e4>
35706  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
35707  .byte  15,40,207                           // movaps        %xmm7,%xmm1
35708  .byte  68,15,92,217                        // subps         %xmm1,%xmm11
35709  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
35710  .byte  15,41,68,36,232                     // movaps        %xmm0,-0x18(%rsp)
35711  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
35712  .byte  68,15,41,100,36,216                 // movaps        %xmm12,-0x28(%rsp)
35713  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
35714  .byte  15,89,211                           // mulps         %xmm3,%xmm2
35715  .byte  68,15,40,229                        // movaps        %xmm5,%xmm12
35716  .byte  68,15,40,237                        // movaps        %xmm5,%xmm13
35717  .byte  15,40,197                           // movaps        %xmm5,%xmm0
35718  .byte  15,41,68,36,200                     // movaps        %xmm0,-0x38(%rsp)
35719  .byte  15,40,254                           // movaps        %xmm6,%xmm7
35720  .byte  68,15,95,239                        // maxps         %xmm7,%xmm13
35721  .byte  15,40,236                           // movaps        %xmm4,%xmm5
35722  .byte  68,15,40,245                        // movaps        %xmm5,%xmm14
35723  .byte  68,15,40,253                        // movaps        %xmm5,%xmm15
35724  .byte  69,15,95,253                        // maxps         %xmm13,%xmm15
35725  .byte  68,15,93,231                        // minps         %xmm7,%xmm12
35726  .byte  69,15,93,244                        // minps         %xmm12,%xmm14
35727  .byte  69,15,92,254                        // subps         %xmm14,%xmm15
35728  .byte  69,15,40,226                        // movaps        %xmm10,%xmm12
35729  .byte  68,15,93,226                        // minps         %xmm2,%xmm12
35730  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
35731  .byte  69,15,93,236                        // minps         %xmm12,%xmm13
35732  .byte  69,15,40,226                        // movaps        %xmm10,%xmm12
35733  .byte  68,15,95,226                        // maxps         %xmm2,%xmm12
35734  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
35735  .byte  69,15,95,244                        // maxps         %xmm12,%xmm14
35736  .byte  69,15,92,245                        // subps         %xmm13,%xmm14
35737  .byte  69,15,92,205                        // subps         %xmm13,%xmm9
35738  .byte  69,15,92,213                        // subps         %xmm13,%xmm10
35739  .byte  65,15,92,213                        // subps         %xmm13,%xmm2
35740  .byte  15,40,240                           // movaps        %xmm0,%xmm6
35741  .byte  68,15,89,251                        // mulps         %xmm3,%xmm15
35742  .byte  69,15,89,207                        // mulps         %xmm15,%xmm9
35743  .byte  69,15,89,215                        // mulps         %xmm15,%xmm10
35744  .byte  65,15,89,215                        // mulps         %xmm15,%xmm2
35745  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
35746  .byte  69,15,94,206                        // divps         %xmm14,%xmm9
35747  .byte  69,15,94,214                        // divps         %xmm14,%xmm10
35748  .byte  65,15,94,214                        // divps         %xmm14,%xmm2
35749  .byte  69,15,194,244,4                     // cmpneqps      %xmm12,%xmm14
35750  .byte  69,15,84,206                        // andps         %xmm14,%xmm9
35751  .byte  69,15,84,214                        // andps         %xmm14,%xmm10
35752  .byte  65,15,84,214                        // andps         %xmm14,%xmm2
35753  .byte  68,15,40,61,153,83,0,0              // movaps        0x5399(%rip),%xmm15        # 6350 <_sk_callback_sse2+0x2b4>
35754  .byte  65,15,89,231                        // mulps         %xmm15,%xmm4
35755  .byte  15,40,5,158,83,0,0                  // movaps        0x539e(%rip),%xmm0        # 6360 <_sk_callback_sse2+0x2c4>
35756  .byte  15,89,240                           // mulps         %xmm0,%xmm6
35757  .byte  15,88,244                           // addps         %xmm4,%xmm6
35758  .byte  68,15,40,53,160,83,0,0              // movaps        0x53a0(%rip),%xmm14        # 6370 <_sk_callback_sse2+0x2d4>
35759  .byte  68,15,40,239                        // movaps        %xmm7,%xmm13
35760  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
35761  .byte  68,15,88,238                        // addps         %xmm6,%xmm13
35762  .byte  65,15,40,225                        // movaps        %xmm9,%xmm4
35763  .byte  65,15,89,231                        // mulps         %xmm15,%xmm4
35764  .byte  65,15,40,242                        // movaps        %xmm10,%xmm6
35765  .byte  15,89,240                           // mulps         %xmm0,%xmm6
35766  .byte  15,88,244                           // addps         %xmm4,%xmm6
35767  .byte  15,40,226                           // movaps        %xmm2,%xmm4
35768  .byte  65,15,89,230                        // mulps         %xmm14,%xmm4
35769  .byte  15,88,230                           // addps         %xmm6,%xmm4
35770  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
35771  .byte  68,15,92,236                        // subps         %xmm4,%xmm13
35772  .byte  69,15,88,205                        // addps         %xmm13,%xmm9
35773  .byte  69,15,88,213                        // addps         %xmm13,%xmm10
35774  .byte  68,15,88,234                        // addps         %xmm2,%xmm13
35775  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
35776  .byte  65,15,93,213                        // minps         %xmm13,%xmm2
35777  .byte  65,15,40,241                        // movaps        %xmm9,%xmm6
35778  .byte  15,93,242                           // minps         %xmm2,%xmm6
35779  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
35780  .byte  65,15,95,213                        // maxps         %xmm13,%xmm2
35781  .byte  65,15,40,225                        // movaps        %xmm9,%xmm4
35782  .byte  15,95,226                           // maxps         %xmm2,%xmm4
35783  .byte  69,15,89,249                        // mulps         %xmm9,%xmm15
35784  .byte  65,15,89,194                        // mulps         %xmm10,%xmm0
35785  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
35786  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
35787  .byte  68,15,88,240                        // addps         %xmm0,%xmm14
35788  .byte  15,87,210                           // xorps         %xmm2,%xmm2
35789  .byte  15,194,214,2                        // cmpleps       %xmm6,%xmm2
35790  .byte  69,15,40,254                        // movaps        %xmm14,%xmm15
35791  .byte  68,15,92,254                        // subps         %xmm6,%xmm15
35792  .byte  65,15,40,241                        // movaps        %xmm9,%xmm6
35793  .byte  65,15,92,246                        // subps         %xmm14,%xmm6
35794  .byte  65,15,89,246                        // mulps         %xmm14,%xmm6
35795  .byte  65,15,94,247                        // divps         %xmm15,%xmm6
35796  .byte  65,15,88,246                        // addps         %xmm14,%xmm6
35797  .byte  15,40,194                           // movaps        %xmm2,%xmm0
35798  .byte  15,85,198                           // andnps        %xmm6,%xmm0
35799  .byte  68,15,84,202                        // andps         %xmm2,%xmm9
35800  .byte  68,15,86,200                        // orps          %xmm0,%xmm9
35801  .byte  15,40,195                           // movaps        %xmm3,%xmm0
35802  .byte  15,41,76,36,184                     // movaps        %xmm1,-0x48(%rsp)
35803  .byte  15,89,193                           // mulps         %xmm1,%xmm0
35804  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
35805  .byte  15,88,217                           // addps         %xmm1,%xmm3
35806  .byte  15,92,216                           // subps         %xmm0,%xmm3
35807  .byte  15,41,92,36,168                     // movaps        %xmm3,-0x58(%rsp)
35808  .byte  15,40,240                           // movaps        %xmm0,%xmm6
35809  .byte  15,194,196,1                        // cmpltps       %xmm4,%xmm0
35810  .byte  15,40,200                           // movaps        %xmm0,%xmm1
35811  .byte  65,15,85,201                        // andnps        %xmm9,%xmm1
35812  .byte  69,15,92,206                        // subps         %xmm14,%xmm9
35813  .byte  65,15,92,246                        // subps         %xmm14,%xmm6
35814  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
35815  .byte  65,15,92,230                        // subps         %xmm14,%xmm4
35816  .byte  68,15,94,204                        // divps         %xmm4,%xmm9
35817  .byte  69,15,88,206                        // addps         %xmm14,%xmm9
35818  .byte  68,15,84,200                        // andps         %xmm0,%xmm9
35819  .byte  68,15,86,201                        // orps          %xmm1,%xmm9
35820  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
35821  .byte  65,15,92,206                        // subps         %xmm14,%xmm1
35822  .byte  65,15,89,206                        // mulps         %xmm14,%xmm1
35823  .byte  65,15,94,207                        // divps         %xmm15,%xmm1
35824  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
35825  .byte  15,40,218                           // movaps        %xmm2,%xmm3
35826  .byte  15,85,217                           // andnps        %xmm1,%xmm3
35827  .byte  68,15,84,210                        // andps         %xmm2,%xmm10
35828  .byte  68,15,86,211                        // orps          %xmm3,%xmm10
35829  .byte  15,40,200                           // movaps        %xmm0,%xmm1
35830  .byte  65,15,85,202                        // andnps        %xmm10,%xmm1
35831  .byte  69,15,92,214                        // subps         %xmm14,%xmm10
35832  .byte  68,15,89,214                        // mulps         %xmm6,%xmm10
35833  .byte  68,15,94,212                        // divps         %xmm4,%xmm10
35834  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
35835  .byte  68,15,84,208                        // andps         %xmm0,%xmm10
35836  .byte  68,15,86,209                        // orps          %xmm1,%xmm10
35837  .byte  65,15,40,205                        // movaps        %xmm13,%xmm1
35838  .byte  65,15,92,206                        // subps         %xmm14,%xmm1
35839  .byte  65,15,89,206                        // mulps         %xmm14,%xmm1
35840  .byte  65,15,94,207                        // divps         %xmm15,%xmm1
35841  .byte  65,15,88,206                        // addps         %xmm14,%xmm1
35842  .byte  68,15,84,234                        // andps         %xmm2,%xmm13
35843  .byte  15,85,209                           // andnps        %xmm1,%xmm2
35844  .byte  65,15,86,213                        // orps          %xmm13,%xmm2
35845  .byte  15,40,200                           // movaps        %xmm0,%xmm1
35846  .byte  15,85,202                           // andnps        %xmm2,%xmm1
35847  .byte  65,15,92,214                        // subps         %xmm14,%xmm2
35848  .byte  15,89,214                           // mulps         %xmm6,%xmm2
35849  .byte  15,94,212                           // divps         %xmm4,%xmm2
35850  .byte  65,15,88,214                        // addps         %xmm14,%xmm2
35851  .byte  15,84,208                           // andps         %xmm0,%xmm2
35852  .byte  15,86,209                           // orps          %xmm1,%xmm2
35853  .byte  69,15,95,204                        // maxps         %xmm12,%xmm9
35854  .byte  69,15,95,212                        // maxps         %xmm12,%xmm10
35855  .byte  65,15,95,212                        // maxps         %xmm12,%xmm2
35856  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
35857  .byte  15,89,197                           // mulps         %xmm5,%xmm0
35858  .byte  15,40,76,36,232                     // movaps        -0x18(%rsp),%xmm1
35859  .byte  15,88,200                           // addps         %xmm0,%xmm1
35860  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
35861  .byte  15,40,193                           // movaps        %xmm1,%xmm0
35862  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
35863  .byte  15,40,116,36,200                    // movaps        -0x38(%rsp),%xmm6
35864  .byte  15,89,222                           // mulps         %xmm6,%xmm3
35865  .byte  15,40,76,36,216                     // movaps        -0x28(%rsp),%xmm1
35866  .byte  15,88,203                           // addps         %xmm3,%xmm1
35867  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
35868  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
35869  .byte  69,15,88,195                        // addps         %xmm11,%xmm8
35870  .byte  68,15,88,194                        // addps         %xmm2,%xmm8
35871  .byte  72,173                              // lods          %ds:(%rsi),%rax
35872  .byte  15,40,229                           // movaps        %xmm5,%xmm4
35873  .byte  15,40,238                           // movaps        %xmm6,%xmm5
35874  .byte  15,40,247                           // movaps        %xmm7,%xmm6
35875  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
35876  .byte  15,40,92,36,168                     // movaps        -0x58(%rsp),%xmm3
35877  .byte  15,40,124,36,184                    // movaps        -0x48(%rsp),%xmm7
35878  .byte  255,224                             // jmpq          *%rax
35879
35880HIDDEN _sk_saturation_sse2
35881.globl _sk_saturation_sse2
35882FUNCTION(_sk_saturation_sse2)
35883_sk_saturation_sse2:
35884  .byte  68,15,40,231                        // movaps        %xmm7,%xmm12
35885  .byte  68,15,40,198                        // movaps        %xmm6,%xmm8
35886  .byte  15,40,251                           // movaps        %xmm3,%xmm7
35887  .byte  68,15,40,216                        // movaps        %xmm0,%xmm11
35888  .byte  68,15,40,215                        // movaps        %xmm7,%xmm10
35889  .byte  68,15,89,212                        // mulps         %xmm4,%xmm10
35890  .byte  15,40,244                           // movaps        %xmm4,%xmm6
35891  .byte  15,41,116,36,184                    // movaps        %xmm6,-0x48(%rsp)
35892  .byte  68,15,40,207                        // movaps        %xmm7,%xmm9
35893  .byte  68,15,89,205                        // mulps         %xmm5,%xmm9
35894  .byte  15,41,108,36,200                    // movaps        %xmm5,-0x38(%rsp)
35895  .byte  15,40,199                           // movaps        %xmm7,%xmm0
35896  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
35897  .byte  69,15,40,232                        // movaps        %xmm8,%xmm13
35898  .byte  68,15,41,108,36,168                 // movaps        %xmm13,-0x58(%rsp)
35899  .byte  15,40,225                           // movaps        %xmm1,%xmm4
35900  .byte  15,41,100,36,216                    // movaps        %xmm4,-0x28(%rsp)
35901  .byte  15,40,220                           // movaps        %xmm4,%xmm3
35902  .byte  15,41,84,36,232                     // movaps        %xmm2,-0x18(%rsp)
35903  .byte  15,95,218                           // maxps         %xmm2,%xmm3
35904  .byte  65,15,40,203                        // movaps        %xmm11,%xmm1
35905  .byte  15,95,203                           // maxps         %xmm3,%xmm1
35906  .byte  15,40,220                           // movaps        %xmm4,%xmm3
35907  .byte  15,93,218                           // minps         %xmm2,%xmm3
35908  .byte  65,15,40,211                        // movaps        %xmm11,%xmm2
35909  .byte  15,93,211                           // minps         %xmm3,%xmm2
35910  .byte  15,92,202                           // subps         %xmm2,%xmm1
35911  .byte  65,15,89,204                        // mulps         %xmm12,%xmm1
35912  .byte  65,15,40,228                        // movaps        %xmm12,%xmm4
35913  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
35914  .byte  15,93,208                           // minps         %xmm0,%xmm2
35915  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
35916  .byte  68,15,93,194                        // minps         %xmm2,%xmm8
35917  .byte  65,15,40,209                        // movaps        %xmm9,%xmm2
35918  .byte  15,95,208                           // maxps         %xmm0,%xmm2
35919  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
35920  .byte  15,95,218                           // maxps         %xmm2,%xmm3
35921  .byte  65,15,92,216                        // subps         %xmm8,%xmm3
35922  .byte  15,87,210                           // xorps         %xmm2,%xmm2
35923  .byte  69,15,92,208                        // subps         %xmm8,%xmm10
35924  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
35925  .byte  68,15,94,211                        // divps         %xmm3,%xmm10
35926  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
35927  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
35928  .byte  68,15,94,203                        // divps         %xmm3,%xmm9
35929  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
35930  .byte  15,89,193                           // mulps         %xmm1,%xmm0
35931  .byte  15,94,195                           // divps         %xmm3,%xmm0
35932  .byte  15,194,218,4                        // cmpneqps      %xmm2,%xmm3
35933  .byte  68,15,84,211                        // andps         %xmm3,%xmm10
35934  .byte  68,15,84,203                        // andps         %xmm3,%xmm9
35935  .byte  15,84,195                           // andps         %xmm3,%xmm0
35936  .byte  68,15,40,5,50,81,0,0                // movaps        0x5132(%rip),%xmm8        # 6390 <_sk_callback_sse2+0x2f4>
35937  .byte  15,40,214                           // movaps        %xmm6,%xmm2
35938  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
35939  .byte  15,40,13,52,81,0,0                  // movaps        0x5134(%rip),%xmm1        # 63a0 <_sk_callback_sse2+0x304>
35940  .byte  15,40,221                           // movaps        %xmm5,%xmm3
35941  .byte  15,89,217                           // mulps         %xmm1,%xmm3
35942  .byte  15,88,218                           // addps         %xmm2,%xmm3
35943  .byte  68,15,40,37,51,81,0,0               // movaps        0x5133(%rip),%xmm12        # 63b0 <_sk_callback_sse2+0x314>
35944  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
35945  .byte  68,15,88,235                        // addps         %xmm3,%xmm13
35946  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
35947  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
35948  .byte  65,15,40,217                        // movaps        %xmm9,%xmm3
35949  .byte  15,89,217                           // mulps         %xmm1,%xmm3
35950  .byte  15,88,218                           // addps         %xmm2,%xmm3
35951  .byte  15,40,208                           // movaps        %xmm0,%xmm2
35952  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
35953  .byte  15,88,211                           // addps         %xmm3,%xmm2
35954  .byte  68,15,89,239                        // mulps         %xmm7,%xmm13
35955  .byte  68,15,92,234                        // subps         %xmm2,%xmm13
35956  .byte  69,15,88,213                        // addps         %xmm13,%xmm10
35957  .byte  69,15,88,205                        // addps         %xmm13,%xmm9
35958  .byte  68,15,88,232                        // addps         %xmm0,%xmm13
35959  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
35960  .byte  65,15,93,197                        // minps         %xmm13,%xmm0
35961  .byte  65,15,40,218                        // movaps        %xmm10,%xmm3
35962  .byte  15,93,216                           // minps         %xmm0,%xmm3
35963  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
35964  .byte  65,15,95,197                        // maxps         %xmm13,%xmm0
35965  .byte  69,15,40,242                        // movaps        %xmm10,%xmm14
35966  .byte  68,15,95,240                        // maxps         %xmm0,%xmm14
35967  .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
35968  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
35969  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
35970  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
35971  .byte  68,15,88,225                        // addps         %xmm1,%xmm12
35972  .byte  15,87,210                           // xorps         %xmm2,%xmm2
35973  .byte  15,194,211,2                        // cmpleps       %xmm3,%xmm2
35974  .byte  65,15,40,244                        // movaps        %xmm12,%xmm6
35975  .byte  15,92,243                           // subps         %xmm3,%xmm6
35976  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
35977  .byte  65,15,92,196                        // subps         %xmm12,%xmm0
35978  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
35979  .byte  15,94,198                           // divps         %xmm6,%xmm0
35980  .byte  65,15,88,196                        // addps         %xmm12,%xmm0
35981  .byte  15,40,202                           // movaps        %xmm2,%xmm1
35982  .byte  15,85,200                           // andnps        %xmm0,%xmm1
35983  .byte  68,15,84,210                        // andps         %xmm2,%xmm10
35984  .byte  68,15,86,209                        // orps          %xmm1,%xmm10
35985  .byte  15,40,223                           // movaps        %xmm7,%xmm3
35986  .byte  15,40,236                           // movaps        %xmm4,%xmm5
35987  .byte  15,89,221                           // mulps         %xmm5,%xmm3
35988  .byte  68,15,40,5,152,80,0,0               // movaps        0x5098(%rip),%xmm8        # 63c0 <_sk_callback_sse2+0x324>
35989  .byte  65,15,40,224                        // movaps        %xmm8,%xmm4
35990  .byte  68,15,92,199                        // subps         %xmm7,%xmm8
35991  .byte  15,88,253                           // addps         %xmm5,%xmm7
35992  .byte  15,92,251                           // subps         %xmm3,%xmm7
35993  .byte  15,40,203                           // movaps        %xmm3,%xmm1
35994  .byte  65,15,194,222,1                     // cmpltps       %xmm14,%xmm3
35995  .byte  15,40,195                           // movaps        %xmm3,%xmm0
35996  .byte  65,15,85,194                        // andnps        %xmm10,%xmm0
35997  .byte  69,15,92,212                        // subps         %xmm12,%xmm10
35998  .byte  65,15,92,204                        // subps         %xmm12,%xmm1
35999  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
36000  .byte  69,15,92,244                        // subps         %xmm12,%xmm14
36001  .byte  69,15,94,214                        // divps         %xmm14,%xmm10
36002  .byte  69,15,88,212                        // addps         %xmm12,%xmm10
36003  .byte  68,15,84,211                        // andps         %xmm3,%xmm10
36004  .byte  68,15,86,208                        // orps          %xmm0,%xmm10
36005  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
36006  .byte  65,15,92,196                        // subps         %xmm12,%xmm0
36007  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
36008  .byte  15,94,198                           // divps         %xmm6,%xmm0
36009  .byte  65,15,88,196                        // addps         %xmm12,%xmm0
36010  .byte  68,15,40,250                        // movaps        %xmm2,%xmm15
36011  .byte  68,15,85,248                        // andnps        %xmm0,%xmm15
36012  .byte  68,15,84,202                        // andps         %xmm2,%xmm9
36013  .byte  69,15,86,207                        // orps          %xmm15,%xmm9
36014  .byte  15,40,195                           // movaps        %xmm3,%xmm0
36015  .byte  65,15,85,193                        // andnps        %xmm9,%xmm0
36016  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
36017  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
36018  .byte  69,15,94,206                        // divps         %xmm14,%xmm9
36019  .byte  69,15,88,204                        // addps         %xmm12,%xmm9
36020  .byte  68,15,84,203                        // andps         %xmm3,%xmm9
36021  .byte  68,15,86,200                        // orps          %xmm0,%xmm9
36022  .byte  65,15,40,197                        // movaps        %xmm13,%xmm0
36023  .byte  65,15,92,196                        // subps         %xmm12,%xmm0
36024  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
36025  .byte  15,94,198                           // divps         %xmm6,%xmm0
36026  .byte  65,15,88,196                        // addps         %xmm12,%xmm0
36027  .byte  68,15,84,234                        // andps         %xmm2,%xmm13
36028  .byte  15,85,208                           // andnps        %xmm0,%xmm2
36029  .byte  65,15,86,213                        // orps          %xmm13,%xmm2
36030  .byte  15,40,195                           // movaps        %xmm3,%xmm0
36031  .byte  15,85,194                           // andnps        %xmm2,%xmm0
36032  .byte  65,15,92,212                        // subps         %xmm12,%xmm2
36033  .byte  15,89,209                           // mulps         %xmm1,%xmm2
36034  .byte  65,15,94,214                        // divps         %xmm14,%xmm2
36035  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
36036  .byte  15,84,211                           // andps         %xmm3,%xmm2
36037  .byte  15,86,208                           // orps          %xmm0,%xmm2
36038  .byte  15,87,192                           // xorps         %xmm0,%xmm0
36039  .byte  68,15,95,208                        // maxps         %xmm0,%xmm10
36040  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
36041  .byte  15,95,208                           // maxps         %xmm0,%xmm2
36042  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
36043  .byte  15,40,92,36,184                     // movaps        -0x48(%rsp),%xmm3
36044  .byte  15,89,195                           // mulps         %xmm3,%xmm0
36045  .byte  68,15,40,229                        // movaps        %xmm5,%xmm12
36046  .byte  65,15,92,228                        // subps         %xmm12,%xmm4
36047  .byte  68,15,89,220                        // mulps         %xmm4,%xmm11
36048  .byte  68,15,88,216                        // addps         %xmm0,%xmm11
36049  .byte  69,15,88,218                        // addps         %xmm10,%xmm11
36050  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
36051  .byte  15,40,108,36,200                    // movaps        -0x38(%rsp),%xmm5
36052  .byte  15,89,197                           // mulps         %xmm5,%xmm0
36053  .byte  15,40,76,36,216                     // movaps        -0x28(%rsp),%xmm1
36054  .byte  15,89,204                           // mulps         %xmm4,%xmm1
36055  .byte  15,88,200                           // addps         %xmm0,%xmm1
36056  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
36057  .byte  15,89,100,36,232                    // mulps         -0x18(%rsp),%xmm4
36058  .byte  15,40,68,36,168                     // movaps        -0x58(%rsp),%xmm0
36059  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
36060  .byte  68,15,88,196                        // addps         %xmm4,%xmm8
36061  .byte  68,15,88,194                        // addps         %xmm2,%xmm8
36062  .byte  72,173                              // lods          %ds:(%rsi),%rax
36063  .byte  15,40,227                           // movaps        %xmm3,%xmm4
36064  .byte  15,40,240                           // movaps        %xmm0,%xmm6
36065  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
36066  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
36067  .byte  15,40,223                           // movaps        %xmm7,%xmm3
36068  .byte  65,15,40,252                        // movaps        %xmm12,%xmm7
36069  .byte  255,224                             // jmpq          *%rax
36070
36071HIDDEN _sk_color_sse2
36072.globl _sk_color_sse2
36073FUNCTION(_sk_color_sse2)
36074_sk_color_sse2:
36075  .byte  68,15,40,199                        // movaps        %xmm7,%xmm8
36076  .byte  68,15,40,230                        // movaps        %xmm6,%xmm12
36077  .byte  68,15,41,100,36,216                 // movaps        %xmm12,-0x28(%rsp)
36078  .byte  68,15,40,221                        // movaps        %xmm5,%xmm11
36079  .byte  68,15,41,92,36,232                  // movaps        %xmm11,-0x18(%rsp)
36080  .byte  15,40,244                           // movaps        %xmm4,%xmm6
36081  .byte  15,41,84,36,184                     // movaps        %xmm2,-0x48(%rsp)
36082  .byte  15,40,233                           // movaps        %xmm1,%xmm5
36083  .byte  15,40,248                           // movaps        %xmm0,%xmm7
36084  .byte  68,15,40,207                        // movaps        %xmm7,%xmm9
36085  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
36086  .byte  68,15,40,213                        // movaps        %xmm5,%xmm10
36087  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
36088  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
36089  .byte  68,15,40,45,54,79,0,0               // movaps        0x4f36(%rip),%xmm13        # 63d0 <_sk_callback_sse2+0x334>
36090  .byte  68,15,40,198                        // movaps        %xmm6,%xmm8
36091  .byte  69,15,89,197                        // mulps         %xmm13,%xmm8
36092  .byte  68,15,40,53,54,79,0,0               // movaps        0x4f36(%rip),%xmm14        # 63e0 <_sk_callback_sse2+0x344>
36093  .byte  65,15,40,195                        // movaps        %xmm11,%xmm0
36094  .byte  65,15,89,198                        // mulps         %xmm14,%xmm0
36095  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
36096  .byte  68,15,40,29,50,79,0,0               // movaps        0x4f32(%rip),%xmm11        # 63f0 <_sk_callback_sse2+0x354>
36097  .byte  69,15,89,227                        // mulps         %xmm11,%xmm12
36098  .byte  68,15,88,224                        // addps         %xmm0,%xmm12
36099  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
36100  .byte  65,15,89,197                        // mulps         %xmm13,%xmm0
36101  .byte  69,15,40,250                        // movaps        %xmm10,%xmm15
36102  .byte  69,15,89,254                        // mulps         %xmm14,%xmm15
36103  .byte  68,15,88,248                        // addps         %xmm0,%xmm15
36104  .byte  68,15,40,5,30,79,0,0                // movaps        0x4f1e(%rip),%xmm8        # 6400 <_sk_callback_sse2+0x364>
36105  .byte  65,15,40,224                        // movaps        %xmm8,%xmm4
36106  .byte  15,92,226                           // subps         %xmm2,%xmm4
36107  .byte  15,89,252                           // mulps         %xmm4,%xmm7
36108  .byte  15,89,236                           // mulps         %xmm4,%xmm5
36109  .byte  15,40,76,36,184                     // movaps        -0x48(%rsp),%xmm1
36110  .byte  15,89,225                           // mulps         %xmm1,%xmm4
36111  .byte  15,89,202                           // mulps         %xmm2,%xmm1
36112  .byte  15,40,193                           // movaps        %xmm1,%xmm0
36113  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
36114  .byte  65,15,88,199                        // addps         %xmm15,%xmm0
36115  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
36116  .byte  68,15,92,224                        // subps         %xmm0,%xmm12
36117  .byte  69,15,88,204                        // addps         %xmm12,%xmm9
36118  .byte  69,15,88,212                        // addps         %xmm12,%xmm10
36119  .byte  68,15,88,225                        // addps         %xmm1,%xmm12
36120  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
36121  .byte  65,15,93,196                        // minps         %xmm12,%xmm0
36122  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
36123  .byte  15,93,200                           // minps         %xmm0,%xmm1
36124  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
36125  .byte  65,15,95,196                        // maxps         %xmm12,%xmm0
36126  .byte  69,15,40,249                        // movaps        %xmm9,%xmm15
36127  .byte  68,15,95,248                        // maxps         %xmm0,%xmm15
36128  .byte  69,15,89,233                        // mulps         %xmm9,%xmm13
36129  .byte  69,15,89,242                        // mulps         %xmm10,%xmm14
36130  .byte  69,15,88,245                        // addps         %xmm13,%xmm14
36131  .byte  69,15,89,220                        // mulps         %xmm12,%xmm11
36132  .byte  69,15,88,222                        // addps         %xmm14,%xmm11
36133  .byte  69,15,87,237                        // xorps         %xmm13,%xmm13
36134  .byte  68,15,194,233,2                     // cmpleps       %xmm1,%xmm13
36135  .byte  69,15,40,243                        // movaps        %xmm11,%xmm14
36136  .byte  68,15,92,241                        // subps         %xmm1,%xmm14
36137  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
36138  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
36139  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
36140  .byte  65,15,94,206                        // divps         %xmm14,%xmm1
36141  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
36142  .byte  65,15,40,197                        // movaps        %xmm13,%xmm0
36143  .byte  15,85,193                           // andnps        %xmm1,%xmm0
36144  .byte  69,15,84,205                        // andps         %xmm13,%xmm9
36145  .byte  68,15,86,200                        // orps          %xmm0,%xmm9
36146  .byte  15,40,195                           // movaps        %xmm3,%xmm0
36147  .byte  15,41,84,36,200                     // movaps        %xmm2,-0x38(%rsp)
36148  .byte  15,89,194                           // mulps         %xmm2,%xmm0
36149  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
36150  .byte  15,88,218                           // addps         %xmm2,%xmm3
36151  .byte  15,92,216                           // subps         %xmm0,%xmm3
36152  .byte  15,41,92,36,184                     // movaps        %xmm3,-0x48(%rsp)
36153  .byte  15,40,216                           // movaps        %xmm0,%xmm3
36154  .byte  65,15,194,199,1                     // cmpltps       %xmm15,%xmm0
36155  .byte  15,40,200                           // movaps        %xmm0,%xmm1
36156  .byte  65,15,85,201                        // andnps        %xmm9,%xmm1
36157  .byte  69,15,92,203                        // subps         %xmm11,%xmm9
36158  .byte  65,15,92,219                        // subps         %xmm11,%xmm3
36159  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
36160  .byte  69,15,92,251                        // subps         %xmm11,%xmm15
36161  .byte  69,15,94,207                        // divps         %xmm15,%xmm9
36162  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
36163  .byte  68,15,84,200                        // andps         %xmm0,%xmm9
36164  .byte  68,15,86,201                        // orps          %xmm1,%xmm9
36165  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
36166  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
36167  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
36168  .byte  65,15,94,206                        // divps         %xmm14,%xmm1
36169  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
36170  .byte  65,15,40,213                        // movaps        %xmm13,%xmm2
36171  .byte  15,85,209                           // andnps        %xmm1,%xmm2
36172  .byte  69,15,84,213                        // andps         %xmm13,%xmm10
36173  .byte  68,15,86,210                        // orps          %xmm2,%xmm10
36174  .byte  15,40,200                           // movaps        %xmm0,%xmm1
36175  .byte  65,15,85,202                        // andnps        %xmm10,%xmm1
36176  .byte  69,15,92,211                        // subps         %xmm11,%xmm10
36177  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
36178  .byte  69,15,94,215                        // divps         %xmm15,%xmm10
36179  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
36180  .byte  68,15,84,208                        // andps         %xmm0,%xmm10
36181  .byte  68,15,86,209                        // orps          %xmm1,%xmm10
36182  .byte  65,15,40,204                        // movaps        %xmm12,%xmm1
36183  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
36184  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
36185  .byte  65,15,94,206                        // divps         %xmm14,%xmm1
36186  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
36187  .byte  69,15,84,229                        // andps         %xmm13,%xmm12
36188  .byte  68,15,85,233                        // andnps        %xmm1,%xmm13
36189  .byte  69,15,86,236                        // orps          %xmm12,%xmm13
36190  .byte  15,40,200                           // movaps        %xmm0,%xmm1
36191  .byte  65,15,85,205                        // andnps        %xmm13,%xmm1
36192  .byte  69,15,92,235                        // subps         %xmm11,%xmm13
36193  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
36194  .byte  69,15,94,239                        // divps         %xmm15,%xmm13
36195  .byte  69,15,88,235                        // addps         %xmm11,%xmm13
36196  .byte  68,15,84,232                        // andps         %xmm0,%xmm13
36197  .byte  68,15,86,233                        // orps          %xmm1,%xmm13
36198  .byte  15,87,192                           // xorps         %xmm0,%xmm0
36199  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
36200  .byte  68,15,95,208                        // maxps         %xmm0,%xmm10
36201  .byte  68,15,95,232                        // maxps         %xmm0,%xmm13
36202  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
36203  .byte  15,89,198                           // mulps         %xmm6,%xmm0
36204  .byte  15,88,248                           // addps         %xmm0,%xmm7
36205  .byte  65,15,88,249                        // addps         %xmm9,%xmm7
36206  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
36207  .byte  15,40,84,36,232                     // movaps        -0x18(%rsp),%xmm2
36208  .byte  15,89,194                           // mulps         %xmm2,%xmm0
36209  .byte  15,88,232                           // addps         %xmm0,%xmm5
36210  .byte  65,15,88,234                        // addps         %xmm10,%xmm5
36211  .byte  15,40,205                           // movaps        %xmm5,%xmm1
36212  .byte  15,40,68,36,216                     // movaps        -0x28(%rsp),%xmm0
36213  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
36214  .byte  68,15,88,196                        // addps         %xmm4,%xmm8
36215  .byte  69,15,88,197                        // addps         %xmm13,%xmm8
36216  .byte  72,173                              // lods          %ds:(%rsi),%rax
36217  .byte  15,40,230                           // movaps        %xmm6,%xmm4
36218  .byte  15,40,234                           // movaps        %xmm2,%xmm5
36219  .byte  15,40,240                           // movaps        %xmm0,%xmm6
36220  .byte  15,40,199                           // movaps        %xmm7,%xmm0
36221  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
36222  .byte  15,40,92,36,184                     // movaps        -0x48(%rsp),%xmm3
36223  .byte  15,40,124,36,200                    // movaps        -0x38(%rsp),%xmm7
36224  .byte  255,224                             // jmpq          *%rax
36225
36226HIDDEN _sk_luminosity_sse2
36227.globl _sk_luminosity_sse2
36228FUNCTION(_sk_luminosity_sse2)
36229_sk_luminosity_sse2:
36230  .byte  68,15,40,215                        // movaps        %xmm7,%xmm10
36231  .byte  15,41,116,36,200                    // movaps        %xmm6,-0x38(%rsp)
36232  .byte  15,40,245                           // movaps        %xmm5,%xmm6
36233  .byte  15,41,116,36,232                    // movaps        %xmm6,-0x18(%rsp)
36234  .byte  15,41,100,36,216                    // movaps        %xmm4,-0x28(%rsp)
36235  .byte  15,40,235                           // movaps        %xmm3,%xmm5
36236  .byte  15,40,248                           // movaps        %xmm0,%xmm7
36237  .byte  68,15,40,205                        // movaps        %xmm5,%xmm9
36238  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
36239  .byte  15,89,222                           // mulps         %xmm6,%xmm3
36240  .byte  68,15,40,37,53,77,0,0               // movaps        0x4d35(%rip),%xmm12        # 6410 <_sk_callback_sse2+0x374>
36241  .byte  68,15,40,199                        // movaps        %xmm7,%xmm8
36242  .byte  69,15,89,196                        // mulps         %xmm12,%xmm8
36243  .byte  68,15,40,45,53,77,0,0               // movaps        0x4d35(%rip),%xmm13        # 6420 <_sk_callback_sse2+0x384>
36244  .byte  68,15,40,241                        // movaps        %xmm1,%xmm14
36245  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
36246  .byte  69,15,88,240                        // addps         %xmm8,%xmm14
36247  .byte  68,15,40,29,49,77,0,0               // movaps        0x4d31(%rip),%xmm11        # 6430 <_sk_callback_sse2+0x394>
36248  .byte  68,15,40,5,57,77,0,0                // movaps        0x4d39(%rip),%xmm8        # 6440 <_sk_callback_sse2+0x3a4>
36249  .byte  69,15,40,248                        // movaps        %xmm8,%xmm15
36250  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
36251  .byte  68,15,92,248                        // subps         %xmm0,%xmm15
36252  .byte  65,15,89,255                        // mulps         %xmm15,%xmm7
36253  .byte  65,15,89,207                        // mulps         %xmm15,%xmm1
36254  .byte  15,41,76,36,184                     // movaps        %xmm1,-0x48(%rsp)
36255  .byte  68,15,89,250                        // mulps         %xmm2,%xmm15
36256  .byte  65,15,89,211                        // mulps         %xmm11,%xmm2
36257  .byte  65,15,88,214                        // addps         %xmm14,%xmm2
36258  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
36259  .byte  69,15,89,244                        // mulps         %xmm12,%xmm14
36260  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
36261  .byte  69,15,89,213                        // mulps         %xmm13,%xmm10
36262  .byte  69,15,88,214                        // addps         %xmm14,%xmm10
36263  .byte  15,40,229                           // movaps        %xmm5,%xmm4
36264  .byte  15,40,116,36,200                    // movaps        -0x38(%rsp),%xmm6
36265  .byte  15,89,230                           // mulps         %xmm6,%xmm4
36266  .byte  68,15,40,244                        // movaps        %xmm4,%xmm14
36267  .byte  69,15,89,243                        // mulps         %xmm11,%xmm14
36268  .byte  69,15,88,242                        // addps         %xmm10,%xmm14
36269  .byte  15,89,208                           // mulps         %xmm0,%xmm2
36270  .byte  65,15,92,214                        // subps         %xmm14,%xmm2
36271  .byte  68,15,88,202                        // addps         %xmm2,%xmm9
36272  .byte  15,88,218                           // addps         %xmm2,%xmm3
36273  .byte  15,88,212                           // addps         %xmm4,%xmm2
36274  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
36275  .byte  68,15,93,210                        // minps         %xmm2,%xmm10
36276  .byte  65,15,40,225                        // movaps        %xmm9,%xmm4
36277  .byte  65,15,93,226                        // minps         %xmm10,%xmm4
36278  .byte  68,15,40,211                        // movaps        %xmm3,%xmm10
36279  .byte  68,15,95,210                        // maxps         %xmm2,%xmm10
36280  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
36281  .byte  69,15,95,242                        // maxps         %xmm10,%xmm14
36282  .byte  69,15,89,225                        // mulps         %xmm9,%xmm12
36283  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
36284  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
36285  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
36286  .byte  69,15,88,221                        // addps         %xmm13,%xmm11
36287  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
36288  .byte  68,15,194,228,2                     // cmpleps       %xmm4,%xmm12
36289  .byte  69,15,40,211                        // movaps        %xmm11,%xmm10
36290  .byte  68,15,92,212                        // subps         %xmm4,%xmm10
36291  .byte  65,15,40,225                        // movaps        %xmm9,%xmm4
36292  .byte  65,15,92,227                        // subps         %xmm11,%xmm4
36293  .byte  65,15,89,227                        // mulps         %xmm11,%xmm4
36294  .byte  65,15,94,226                        // divps         %xmm10,%xmm4
36295  .byte  65,15,88,227                        // addps         %xmm11,%xmm4
36296  .byte  69,15,40,236                        // movaps        %xmm12,%xmm13
36297  .byte  68,15,85,236                        // andnps        %xmm4,%xmm13
36298  .byte  69,15,84,204                        // andps         %xmm12,%xmm9
36299  .byte  69,15,86,205                        // orps          %xmm13,%xmm9
36300  .byte  15,40,229                           // movaps        %xmm5,%xmm4
36301  .byte  15,41,68,36,168                     // movaps        %xmm0,-0x58(%rsp)
36302  .byte  15,89,224                           // mulps         %xmm0,%xmm4
36303  .byte  68,15,92,197                        // subps         %xmm5,%xmm8
36304  .byte  15,88,232                           // addps         %xmm0,%xmm5
36305  .byte  15,92,236                           // subps         %xmm4,%xmm5
36306  .byte  68,15,40,236                        // movaps        %xmm4,%xmm13
36307  .byte  65,15,194,230,1                     // cmpltps       %xmm14,%xmm4
36308  .byte  15,40,196                           // movaps        %xmm4,%xmm0
36309  .byte  65,15,85,193                        // andnps        %xmm9,%xmm0
36310  .byte  69,15,92,203                        // subps         %xmm11,%xmm9
36311  .byte  69,15,92,235                        // subps         %xmm11,%xmm13
36312  .byte  69,15,89,205                        // mulps         %xmm13,%xmm9
36313  .byte  69,15,92,243                        // subps         %xmm11,%xmm14
36314  .byte  69,15,94,206                        // divps         %xmm14,%xmm9
36315  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
36316  .byte  68,15,84,204                        // andps         %xmm4,%xmm9
36317  .byte  68,15,86,200                        // orps          %xmm0,%xmm9
36318  .byte  15,40,195                           // movaps        %xmm3,%xmm0
36319  .byte  65,15,92,195                        // subps         %xmm11,%xmm0
36320  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
36321  .byte  65,15,94,194                        // divps         %xmm10,%xmm0
36322  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
36323  .byte  65,15,40,204                        // movaps        %xmm12,%xmm1
36324  .byte  15,85,200                           // andnps        %xmm0,%xmm1
36325  .byte  65,15,84,220                        // andps         %xmm12,%xmm3
36326  .byte  15,86,217                           // orps          %xmm1,%xmm3
36327  .byte  15,40,196                           // movaps        %xmm4,%xmm0
36328  .byte  15,85,195                           // andnps        %xmm3,%xmm0
36329  .byte  65,15,92,219                        // subps         %xmm11,%xmm3
36330  .byte  65,15,89,221                        // mulps         %xmm13,%xmm3
36331  .byte  65,15,94,222                        // divps         %xmm14,%xmm3
36332  .byte  65,15,88,219                        // addps         %xmm11,%xmm3
36333  .byte  15,84,220                           // andps         %xmm4,%xmm3
36334  .byte  15,86,216                           // orps          %xmm0,%xmm3
36335  .byte  15,40,194                           // movaps        %xmm2,%xmm0
36336  .byte  65,15,92,195                        // subps         %xmm11,%xmm0
36337  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
36338  .byte  65,15,94,194                        // divps         %xmm10,%xmm0
36339  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
36340  .byte  65,15,84,212                        // andps         %xmm12,%xmm2
36341  .byte  68,15,85,224                        // andnps        %xmm0,%xmm12
36342  .byte  68,15,86,226                        // orps          %xmm2,%xmm12
36343  .byte  15,40,196                           // movaps        %xmm4,%xmm0
36344  .byte  65,15,85,196                        // andnps        %xmm12,%xmm0
36345  .byte  69,15,92,227                        // subps         %xmm11,%xmm12
36346  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
36347  .byte  69,15,94,230                        // divps         %xmm14,%xmm12
36348  .byte  69,15,88,227                        // addps         %xmm11,%xmm12
36349  .byte  68,15,84,228                        // andps         %xmm4,%xmm12
36350  .byte  68,15,86,224                        // orps          %xmm0,%xmm12
36351  .byte  15,87,192                           // xorps         %xmm0,%xmm0
36352  .byte  68,15,95,200                        // maxps         %xmm0,%xmm9
36353  .byte  15,95,216                           // maxps         %xmm0,%xmm3
36354  .byte  68,15,95,224                        // maxps         %xmm0,%xmm12
36355  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
36356  .byte  15,40,100,36,216                    // movaps        -0x28(%rsp),%xmm4
36357  .byte  15,89,196                           // mulps         %xmm4,%xmm0
36358  .byte  15,88,248                           // addps         %xmm0,%xmm7
36359  .byte  65,15,88,249                        // addps         %xmm9,%xmm7
36360  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
36361  .byte  68,15,40,84,36,232                  // movaps        -0x18(%rsp),%xmm10
36362  .byte  65,15,89,194                        // mulps         %xmm10,%xmm0
36363  .byte  15,40,76,36,184                     // movaps        -0x48(%rsp),%xmm1
36364  .byte  15,88,200                           // addps         %xmm0,%xmm1
36365  .byte  15,88,203                           // addps         %xmm3,%xmm1
36366  .byte  68,15,89,198                        // mulps         %xmm6,%xmm8
36367  .byte  69,15,88,199                        // addps         %xmm15,%xmm8
36368  .byte  69,15,88,196                        // addps         %xmm12,%xmm8
36369  .byte  72,173                              // lods          %ds:(%rsi),%rax
36370  .byte  15,40,199                           // movaps        %xmm7,%xmm0
36371  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
36372  .byte  15,40,221                           // movaps        %xmm5,%xmm3
36373  .byte  65,15,40,234                        // movaps        %xmm10,%xmm5
36374  .byte  15,40,124,36,168                    // movaps        -0x58(%rsp),%xmm7
36375  .byte  255,224                             // jmpq          *%rax
36376
36377HIDDEN _sk_srcover_rgba_8888_sse2
36378.globl _sk_srcover_rgba_8888_sse2
36379FUNCTION(_sk_srcover_rgba_8888_sse2)
36380_sk_srcover_rgba_8888_sse2:
36381  .byte  72,173                              // lods          %ds:(%rsi),%rax
36382  .byte  72,139,0                            // mov           (%rax),%rax
36383  .byte  77,133,192                          // test          %r8,%r8
36384  .byte  15,133,227,0,0,0                    // jne           19df <_sk_srcover_rgba_8888_sse2+0xf1>
36385  .byte  243,68,15,111,4,144                 // movdqu        (%rax,%rdx,4),%xmm8
36386  .byte  77,133,192                          // test          %r8,%r8
36387  .byte  102,15,111,53,67,75,0,0             // movdqa        0x4b43(%rip),%xmm6        # 6450 <_sk_callback_sse2+0x3b4>
36388  .byte  102,65,15,111,224                   // movdqa        %xmm8,%xmm4
36389  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
36390  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
36391  .byte  102,65,15,111,232                   // movdqa        %xmm8,%xmm5
36392  .byte  102,15,114,213,8                    // psrld         $0x8,%xmm5
36393  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
36394  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
36395  .byte  102,65,15,111,248                   // movdqa        %xmm8,%xmm7
36396  .byte  102,15,114,215,16                   // psrld         $0x10,%xmm7
36397  .byte  102,15,219,254                      // pand          %xmm6,%xmm7
36398  .byte  15,91,247                           // cvtdq2ps      %xmm7,%xmm6
36399  .byte  102,65,15,114,208,24                // psrld         $0x18,%xmm8
36400  .byte  65,15,91,248                        // cvtdq2ps      %xmm8,%xmm7
36401  .byte  68,15,40,5,19,75,0,0                // movaps        0x4b13(%rip),%xmm8        # 6460 <_sk_callback_sse2+0x3c4>
36402  .byte  68,15,92,195                        // subps         %xmm3,%xmm8
36403  .byte  68,15,40,37,23,75,0,0               // movaps        0x4b17(%rip),%xmm12        # 6470 <_sk_callback_sse2+0x3d4>
36404  .byte  65,15,89,196                        // mulps         %xmm12,%xmm0
36405  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
36406  .byte  68,15,89,204                        // mulps         %xmm4,%xmm9
36407  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
36408  .byte  65,15,89,204                        // mulps         %xmm12,%xmm1
36409  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
36410  .byte  68,15,89,213                        // mulps         %xmm5,%xmm10
36411  .byte  68,15,88,209                        // addps         %xmm1,%xmm10
36412  .byte  65,15,89,212                        // mulps         %xmm12,%xmm2
36413  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
36414  .byte  68,15,89,222                        // mulps         %xmm6,%xmm11
36415  .byte  68,15,88,218                        // addps         %xmm2,%xmm11
36416  .byte  65,15,89,220                        // mulps         %xmm12,%xmm3
36417  .byte  68,15,89,199                        // mulps         %xmm7,%xmm8
36418  .byte  68,15,88,195                        // addps         %xmm3,%xmm8
36419  .byte  102,65,15,91,193                    // cvtps2dq      %xmm9,%xmm0
36420  .byte  102,65,15,91,202                    // cvtps2dq      %xmm10,%xmm1
36421  .byte  102,15,114,241,8                    // pslld         $0x8,%xmm1
36422  .byte  102,15,235,200                      // por           %xmm0,%xmm1
36423  .byte  102,65,15,91,211                    // cvtps2dq      %xmm11,%xmm2
36424  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
36425  .byte  102,65,15,91,192                    // cvtps2dq      %xmm8,%xmm0
36426  .byte  102,15,114,240,24                   // pslld         $0x18,%xmm0
36427  .byte  102,15,235,194                      // por           %xmm2,%xmm0
36428  .byte  102,15,235,193                      // por           %xmm1,%xmm0
36429  .byte  117,82                              // jne           1a18 <_sk_srcover_rgba_8888_sse2+0x12a>
36430  .byte  243,15,127,4,144                    // movdqu        %xmm0,(%rax,%rdx,4)
36431  .byte  72,173                              // lods          %ds:(%rsi),%rax
36432  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
36433  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
36434  .byte  65,15,40,211                        // movaps        %xmm11,%xmm2
36435  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
36436  .byte  255,224                             // jmpq          *%rax
36437  .byte  69,137,193                          // mov           %r8d,%r9d
36438  .byte  65,128,225,3                        // and           $0x3,%r9b
36439  .byte  65,128,249,1                        // cmp           $0x1,%r9b
36440  .byte  116,87                              // je            1a43 <_sk_srcover_rgba_8888_sse2+0x155>
36441  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
36442  .byte  65,128,249,2                        // cmp           $0x2,%r9b
36443  .byte  116,22                              // je            1a0d <_sk_srcover_rgba_8888_sse2+0x11f>
36444  .byte  65,128,249,3                        // cmp           $0x3,%r9b
36445  .byte  15,133,1,255,255,255                // jne           1902 <_sk_srcover_rgba_8888_sse2+0x14>
36446  .byte  102,15,110,100,144,8                // movd          0x8(%rax,%rdx,4),%xmm4
36447  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
36448  .byte  102,68,15,18,4,144                  // movlpd        (%rax,%rdx,4),%xmm8
36449  .byte  233,234,254,255,255                 // jmpq          1902 <_sk_srcover_rgba_8888_sse2+0x14>
36450  .byte  69,137,193                          // mov           %r8d,%r9d
36451  .byte  65,128,225,3                        // and           $0x3,%r9b
36452  .byte  65,128,249,1                        // cmp           $0x1,%r9b
36453  .byte  116,41                              // je            1a4e <_sk_srcover_rgba_8888_sse2+0x160>
36454  .byte  65,128,249,2                        // cmp           $0x2,%r9b
36455  .byte  116,17                              // je            1a3c <_sk_srcover_rgba_8888_sse2+0x14e>
36456  .byte  65,128,249,3                        // cmp           $0x3,%r9b
36457  .byte  117,154                             // jne           19cb <_sk_srcover_rgba_8888_sse2+0xdd>
36458  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
36459  .byte  102,15,126,76,144,8                 // movd          %xmm1,0x8(%rax,%rdx,4)
36460  .byte  102,15,214,4,144                    // movq          %xmm0,(%rax,%rdx,4)
36461  .byte  235,136                             // jmp           19cb <_sk_srcover_rgba_8888_sse2+0xdd>
36462  .byte  102,68,15,110,4,144                 // movd          (%rax,%rdx,4),%xmm8
36463  .byte  233,180,254,255,255                 // jmpq          1902 <_sk_srcover_rgba_8888_sse2+0x14>
36464  .byte  102,15,126,4,144                    // movd          %xmm0,(%rax,%rdx,4)
36465  .byte  233,115,255,255,255                 // jmpq          19cb <_sk_srcover_rgba_8888_sse2+0xdd>
36466
36467HIDDEN _sk_clamp_0_sse2
36468.globl _sk_clamp_0_sse2
36469FUNCTION(_sk_clamp_0_sse2)
36470_sk_clamp_0_sse2:
36471  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
36472  .byte  65,15,95,192                        // maxps         %xmm8,%xmm0
36473  .byte  65,15,95,200                        // maxps         %xmm8,%xmm1
36474  .byte  65,15,95,208                        // maxps         %xmm8,%xmm2
36475  .byte  65,15,95,216                        // maxps         %xmm8,%xmm3
36476  .byte  72,173                              // lods          %ds:(%rsi),%rax
36477  .byte  255,224                             // jmpq          *%rax
36478
36479HIDDEN _sk_clamp_1_sse2
36480.globl _sk_clamp_1_sse2
36481FUNCTION(_sk_clamp_1_sse2)
36482_sk_clamp_1_sse2:
36483  .byte  68,15,40,5,8,74,0,0                 // movaps        0x4a08(%rip),%xmm8        # 6480 <_sk_callback_sse2+0x3e4>
36484  .byte  65,15,93,192                        // minps         %xmm8,%xmm0
36485  .byte  65,15,93,200                        // minps         %xmm8,%xmm1
36486  .byte  65,15,93,208                        // minps         %xmm8,%xmm2
36487  .byte  65,15,93,216                        // minps         %xmm8,%xmm3
36488  .byte  72,173                              // lods          %ds:(%rsi),%rax
36489  .byte  255,224                             // jmpq          *%rax
36490
36491HIDDEN _sk_clamp_a_sse2
36492.globl _sk_clamp_a_sse2
36493FUNCTION(_sk_clamp_a_sse2)
36494_sk_clamp_a_sse2:
36495  .byte  15,93,29,253,73,0,0                 // minps         0x49fd(%rip),%xmm3        # 6490 <_sk_callback_sse2+0x3f4>
36496  .byte  15,93,195                           // minps         %xmm3,%xmm0
36497  .byte  15,93,203                           // minps         %xmm3,%xmm1
36498  .byte  15,93,211                           // minps         %xmm3,%xmm2
36499  .byte  72,173                              // lods          %ds:(%rsi),%rax
36500  .byte  255,224                             // jmpq          *%rax
36501
36502HIDDEN _sk_clamp_a_dst_sse2
36503.globl _sk_clamp_a_dst_sse2
36504FUNCTION(_sk_clamp_a_dst_sse2)
36505_sk_clamp_a_dst_sse2:
36506  .byte  15,93,61,249,73,0,0                 // minps         0x49f9(%rip),%xmm7        # 64a0 <_sk_callback_sse2+0x404>
36507  .byte  15,93,231                           // minps         %xmm7,%xmm4
36508  .byte  15,93,239                           // minps         %xmm7,%xmm5
36509  .byte  15,93,247                           // minps         %xmm7,%xmm6
36510  .byte  72,173                              // lods          %ds:(%rsi),%rax
36511  .byte  255,224                             // jmpq          *%rax
36512
36513HIDDEN _sk_set_rgb_sse2
36514.globl _sk_set_rgb_sse2
36515FUNCTION(_sk_set_rgb_sse2)
36516_sk_set_rgb_sse2:
36517  .byte  72,173                              // lods          %ds:(%rsi),%rax
36518  .byte  243,15,16,0                         // movss         (%rax),%xmm0
36519  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
36520  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
36521  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
36522  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
36523  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
36524  .byte  72,173                              // lods          %ds:(%rsi),%rax
36525  .byte  255,224                             // jmpq          *%rax
36526
36527HIDDEN _sk_swap_rb_sse2
36528.globl _sk_swap_rb_sse2
36529FUNCTION(_sk_swap_rb_sse2)
36530_sk_swap_rb_sse2:
36531  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
36532  .byte  72,173                              // lods          %ds:(%rsi),%rax
36533  .byte  15,40,194                           // movaps        %xmm2,%xmm0
36534  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
36535  .byte  255,224                             // jmpq          *%rax
36536
36537HIDDEN _sk_move_src_dst_sse2
36538.globl _sk_move_src_dst_sse2
36539FUNCTION(_sk_move_src_dst_sse2)
36540_sk_move_src_dst_sse2:
36541  .byte  72,173                              // lods          %ds:(%rsi),%rax
36542  .byte  15,40,224                           // movaps        %xmm0,%xmm4
36543  .byte  15,40,233                           // movaps        %xmm1,%xmm5
36544  .byte  15,40,242                           // movaps        %xmm2,%xmm6
36545  .byte  15,40,251                           // movaps        %xmm3,%xmm7
36546  .byte  255,224                             // jmpq          *%rax
36547
36548HIDDEN _sk_move_dst_src_sse2
36549.globl _sk_move_dst_src_sse2
36550FUNCTION(_sk_move_dst_src_sse2)
36551_sk_move_dst_src_sse2:
36552  .byte  72,173                              // lods          %ds:(%rsi),%rax
36553  .byte  15,40,196                           // movaps        %xmm4,%xmm0
36554  .byte  15,40,205                           // movaps        %xmm5,%xmm1
36555  .byte  15,40,214                           // movaps        %xmm6,%xmm2
36556  .byte  15,40,223                           // movaps        %xmm7,%xmm3
36557  .byte  255,224                             // jmpq          *%rax
36558
36559HIDDEN _sk_premul_sse2
36560.globl _sk_premul_sse2
36561FUNCTION(_sk_premul_sse2)
36562_sk_premul_sse2:
36563  .byte  15,89,195                           // mulps         %xmm3,%xmm0
36564  .byte  15,89,203                           // mulps         %xmm3,%xmm1
36565  .byte  15,89,211                           // mulps         %xmm3,%xmm2
36566  .byte  72,173                              // lods          %ds:(%rsi),%rax
36567  .byte  255,224                             // jmpq          *%rax
36568
36569HIDDEN _sk_premul_dst_sse2
36570.globl _sk_premul_dst_sse2
36571FUNCTION(_sk_premul_dst_sse2)
36572_sk_premul_dst_sse2:
36573  .byte  15,89,231                           // mulps         %xmm7,%xmm4
36574  .byte  15,89,239                           // mulps         %xmm7,%xmm5
36575  .byte  15,89,247                           // mulps         %xmm7,%xmm6
36576  .byte  72,173                              // lods          %ds:(%rsi),%rax
36577  .byte  255,224                             // jmpq          *%rax
36578
36579HIDDEN _sk_unpremul_sse2
36580.globl _sk_unpremul_sse2
36581FUNCTION(_sk_unpremul_sse2)
36582_sk_unpremul_sse2:
36583  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
36584  .byte  68,15,40,13,135,73,0,0              // movaps        0x4987(%rip),%xmm9        # 64b0 <_sk_callback_sse2+0x414>
36585  .byte  68,15,94,203                        // divps         %xmm3,%xmm9
36586  .byte  68,15,194,195,4                     // cmpneqps      %xmm3,%xmm8
36587  .byte  69,15,84,193                        // andps         %xmm9,%xmm8
36588  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
36589  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
36590  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
36591  .byte  72,173                              // lods          %ds:(%rsi),%rax
36592  .byte  255,224                             // jmpq          *%rax
36593
36594HIDDEN _sk_from_srgb_sse2
36595.globl _sk_from_srgb_sse2
36596FUNCTION(_sk_from_srgb_sse2)
36597_sk_from_srgb_sse2:
36598  .byte  68,15,40,5,114,73,0,0               // movaps        0x4972(%rip),%xmm8        # 64c0 <_sk_callback_sse2+0x424>
36599  .byte  68,15,40,232                        // movaps        %xmm0,%xmm13
36600  .byte  69,15,89,232                        // mulps         %xmm8,%xmm13
36601  .byte  68,15,40,216                        // movaps        %xmm0,%xmm11
36602  .byte  69,15,89,219                        // mulps         %xmm11,%xmm11
36603  .byte  68,15,40,13,106,73,0,0              // movaps        0x496a(%rip),%xmm9        # 64d0 <_sk_callback_sse2+0x434>
36604  .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
36605  .byte  69,15,89,241                        // mulps         %xmm9,%xmm14
36606  .byte  68,15,40,21,106,73,0,0              // movaps        0x496a(%rip),%xmm10        # 64e0 <_sk_callback_sse2+0x444>
36607  .byte  69,15,88,242                        // addps         %xmm10,%xmm14
36608  .byte  69,15,89,243                        // mulps         %xmm11,%xmm14
36609  .byte  68,15,40,29,106,73,0,0              // movaps        0x496a(%rip),%xmm11        # 64f0 <_sk_callback_sse2+0x454>
36610  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
36611  .byte  68,15,40,37,110,73,0,0              // movaps        0x496e(%rip),%xmm12        # 6500 <_sk_callback_sse2+0x464>
36612  .byte  65,15,194,196,1                     // cmpltps       %xmm12,%xmm0
36613  .byte  68,15,84,232                        // andps         %xmm0,%xmm13
36614  .byte  65,15,85,198                        // andnps        %xmm14,%xmm0
36615  .byte  65,15,86,197                        // orps          %xmm13,%xmm0
36616  .byte  68,15,40,233                        // movaps        %xmm1,%xmm13
36617  .byte  69,15,89,232                        // mulps         %xmm8,%xmm13
36618  .byte  68,15,40,241                        // movaps        %xmm1,%xmm14
36619  .byte  69,15,89,246                        // mulps         %xmm14,%xmm14
36620  .byte  68,15,40,249                        // movaps        %xmm1,%xmm15
36621  .byte  69,15,89,249                        // mulps         %xmm9,%xmm15
36622  .byte  69,15,88,250                        // addps         %xmm10,%xmm15
36623  .byte  69,15,89,254                        // mulps         %xmm14,%xmm15
36624  .byte  69,15,88,251                        // addps         %xmm11,%xmm15
36625  .byte  65,15,194,204,1                     // cmpltps       %xmm12,%xmm1
36626  .byte  68,15,84,233                        // andps         %xmm1,%xmm13
36627  .byte  65,15,85,207                        // andnps        %xmm15,%xmm1
36628  .byte  65,15,86,205                        // orps          %xmm13,%xmm1
36629  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
36630  .byte  68,15,40,234                        // movaps        %xmm2,%xmm13
36631  .byte  69,15,89,237                        // mulps         %xmm13,%xmm13
36632  .byte  68,15,89,202                        // mulps         %xmm2,%xmm9
36633  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
36634  .byte  69,15,89,205                        // mulps         %xmm13,%xmm9
36635  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
36636  .byte  65,15,194,212,1                     // cmpltps       %xmm12,%xmm2
36637  .byte  68,15,84,194                        // andps         %xmm2,%xmm8
36638  .byte  65,15,85,209                        // andnps        %xmm9,%xmm2
36639  .byte  65,15,86,208                        // orps          %xmm8,%xmm2
36640  .byte  72,173                              // lods          %ds:(%rsi),%rax
36641  .byte  255,224                             // jmpq          *%rax
36642
36643HIDDEN _sk_from_srgb_dst_sse2
36644.globl _sk_from_srgb_dst_sse2
36645FUNCTION(_sk_from_srgb_dst_sse2)
36646_sk_from_srgb_dst_sse2:
36647  .byte  68,15,40,5,255,72,0,0               // movaps        0x48ff(%rip),%xmm8        # 6510 <_sk_callback_sse2+0x474>
36648  .byte  68,15,40,236                        // movaps        %xmm4,%xmm13
36649  .byte  69,15,89,232                        // mulps         %xmm8,%xmm13
36650  .byte  68,15,40,220                        // movaps        %xmm4,%xmm11
36651  .byte  69,15,89,219                        // mulps         %xmm11,%xmm11
36652  .byte  68,15,40,13,247,72,0,0              // movaps        0x48f7(%rip),%xmm9        # 6520 <_sk_callback_sse2+0x484>
36653  .byte  68,15,40,244                        // movaps        %xmm4,%xmm14
36654  .byte  69,15,89,241                        // mulps         %xmm9,%xmm14
36655  .byte  68,15,40,21,247,72,0,0              // movaps        0x48f7(%rip),%xmm10        # 6530 <_sk_callback_sse2+0x494>
36656  .byte  69,15,88,242                        // addps         %xmm10,%xmm14
36657  .byte  69,15,89,243                        // mulps         %xmm11,%xmm14
36658  .byte  68,15,40,29,247,72,0,0              // movaps        0x48f7(%rip),%xmm11        # 6540 <_sk_callback_sse2+0x4a4>
36659  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
36660  .byte  68,15,40,37,251,72,0,0              // movaps        0x48fb(%rip),%xmm12        # 6550 <_sk_callback_sse2+0x4b4>
36661  .byte  65,15,194,228,1                     // cmpltps       %xmm12,%xmm4
36662  .byte  68,15,84,236                        // andps         %xmm4,%xmm13
36663  .byte  65,15,85,230                        // andnps        %xmm14,%xmm4
36664  .byte  65,15,86,229                        // orps          %xmm13,%xmm4
36665  .byte  68,15,40,237                        // movaps        %xmm5,%xmm13
36666  .byte  69,15,89,232                        // mulps         %xmm8,%xmm13
36667  .byte  68,15,40,245                        // movaps        %xmm5,%xmm14
36668  .byte  69,15,89,246                        // mulps         %xmm14,%xmm14
36669  .byte  68,15,40,253                        // movaps        %xmm5,%xmm15
36670  .byte  69,15,89,249                        // mulps         %xmm9,%xmm15
36671  .byte  69,15,88,250                        // addps         %xmm10,%xmm15
36672  .byte  69,15,89,254                        // mulps         %xmm14,%xmm15
36673  .byte  69,15,88,251                        // addps         %xmm11,%xmm15
36674  .byte  65,15,194,236,1                     // cmpltps       %xmm12,%xmm5
36675  .byte  68,15,84,237                        // andps         %xmm5,%xmm13
36676  .byte  65,15,85,239                        // andnps        %xmm15,%xmm5
36677  .byte  65,15,86,237                        // orps          %xmm13,%xmm5
36678  .byte  68,15,89,198                        // mulps         %xmm6,%xmm8
36679  .byte  68,15,40,238                        // movaps        %xmm6,%xmm13
36680  .byte  69,15,89,237                        // mulps         %xmm13,%xmm13
36681  .byte  68,15,89,206                        // mulps         %xmm6,%xmm9
36682  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
36683  .byte  69,15,89,205                        // mulps         %xmm13,%xmm9
36684  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
36685  .byte  65,15,194,244,1                     // cmpltps       %xmm12,%xmm6
36686  .byte  68,15,84,198                        // andps         %xmm6,%xmm8
36687  .byte  65,15,85,241                        // andnps        %xmm9,%xmm6
36688  .byte  65,15,86,240                        // orps          %xmm8,%xmm6
36689  .byte  72,173                              // lods          %ds:(%rsi),%rax
36690  .byte  255,224                             // jmpq          *%rax
36691
36692HIDDEN _sk_to_srgb_sse2
36693.globl _sk_to_srgb_sse2
36694FUNCTION(_sk_to_srgb_sse2)
36695_sk_to_srgb_sse2:
36696  .byte  68,15,82,232                        // rsqrtps       %xmm0,%xmm13
36697  .byte  68,15,40,5,136,72,0,0               // movaps        0x4888(%rip),%xmm8        # 6560 <_sk_callback_sse2+0x4c4>
36698  .byte  68,15,40,240                        // movaps        %xmm0,%xmm14
36699  .byte  69,15,89,240                        // mulps         %xmm8,%xmm14
36700  .byte  68,15,40,13,136,72,0,0              // movaps        0x4888(%rip),%xmm9        # 6570 <_sk_callback_sse2+0x4d4>
36701  .byte  69,15,40,253                        // movaps        %xmm13,%xmm15
36702  .byte  69,15,89,249                        // mulps         %xmm9,%xmm15
36703  .byte  68,15,40,21,136,72,0,0              // movaps        0x4888(%rip),%xmm10        # 6580 <_sk_callback_sse2+0x4e4>
36704  .byte  69,15,88,250                        // addps         %xmm10,%xmm15
36705  .byte  69,15,89,253                        // mulps         %xmm13,%xmm15
36706  .byte  68,15,40,29,136,72,0,0              // movaps        0x4888(%rip),%xmm11        # 6590 <_sk_callback_sse2+0x4f4>
36707  .byte  69,15,88,251                        // addps         %xmm11,%xmm15
36708  .byte  68,15,40,37,140,72,0,0              // movaps        0x488c(%rip),%xmm12        # 65a0 <_sk_callback_sse2+0x504>
36709  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
36710  .byte  69,15,83,237                        // rcpps         %xmm13,%xmm13
36711  .byte  69,15,89,239                        // mulps         %xmm15,%xmm13
36712  .byte  68,15,40,61,136,72,0,0              // movaps        0x4888(%rip),%xmm15        # 65b0 <_sk_callback_sse2+0x514>
36713  .byte  65,15,194,199,1                     // cmpltps       %xmm15,%xmm0
36714  .byte  68,15,84,240                        // andps         %xmm0,%xmm14
36715  .byte  65,15,85,197                        // andnps        %xmm13,%xmm0
36716  .byte  65,15,86,198                        // orps          %xmm14,%xmm0
36717  .byte  68,15,82,233                        // rsqrtps       %xmm1,%xmm13
36718  .byte  69,15,40,245                        // movaps        %xmm13,%xmm14
36719  .byte  69,15,89,241                        // mulps         %xmm9,%xmm14
36720  .byte  69,15,88,242                        // addps         %xmm10,%xmm14
36721  .byte  69,15,89,245                        // mulps         %xmm13,%xmm14
36722  .byte  69,15,88,243                        // addps         %xmm11,%xmm14
36723  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
36724  .byte  69,15,83,237                        // rcpps         %xmm13,%xmm13
36725  .byte  69,15,89,238                        // mulps         %xmm14,%xmm13
36726  .byte  68,15,40,241                        // movaps        %xmm1,%xmm14
36727  .byte  69,15,89,240                        // mulps         %xmm8,%xmm14
36728  .byte  65,15,194,207,1                     // cmpltps       %xmm15,%xmm1
36729  .byte  68,15,84,241                        // andps         %xmm1,%xmm14
36730  .byte  65,15,85,205                        // andnps        %xmm13,%xmm1
36731  .byte  65,15,86,206                        // orps          %xmm14,%xmm1
36732  .byte  68,15,82,234                        // rsqrtps       %xmm2,%xmm13
36733  .byte  69,15,89,205                        // mulps         %xmm13,%xmm9
36734  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
36735  .byte  69,15,89,205                        // mulps         %xmm13,%xmm9
36736  .byte  69,15,88,203                        // addps         %xmm11,%xmm9
36737  .byte  69,15,88,236                        // addps         %xmm12,%xmm13
36738  .byte  69,15,83,213                        // rcpps         %xmm13,%xmm10
36739  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
36740  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
36741  .byte  65,15,194,215,1                     // cmpltps       %xmm15,%xmm2
36742  .byte  68,15,84,194                        // andps         %xmm2,%xmm8
36743  .byte  65,15,85,210                        // andnps        %xmm10,%xmm2
36744  .byte  65,15,86,208                        // orps          %xmm8,%xmm2
36745  .byte  72,173                              // lods          %ds:(%rsi),%rax
36746  .byte  255,224                             // jmpq          *%rax
36747
36748HIDDEN _sk_rgb_to_hsl_sse2
36749.globl _sk_rgb_to_hsl_sse2
36750FUNCTION(_sk_rgb_to_hsl_sse2)
36751_sk_rgb_to_hsl_sse2:
36752  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
36753  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
36754  .byte  69,15,40,208                        // movaps        %xmm8,%xmm10
36755  .byte  69,15,95,209                        // maxps         %xmm9,%xmm10
36756  .byte  68,15,95,210                        // maxps         %xmm2,%xmm10
36757  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
36758  .byte  69,15,93,217                        // minps         %xmm9,%xmm11
36759  .byte  68,15,93,218                        // minps         %xmm2,%xmm11
36760  .byte  65,15,40,202                        // movaps        %xmm10,%xmm1
36761  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
36762  .byte  68,15,40,45,225,71,0,0              // movaps        0x47e1(%rip),%xmm13        # 65c0 <_sk_callback_sse2+0x524>
36763  .byte  68,15,94,233                        // divps         %xmm1,%xmm13
36764  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
36765  .byte  65,15,194,192,0                     // cmpeqps       %xmm8,%xmm0
36766  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
36767  .byte  68,15,92,226                        // subps         %xmm2,%xmm12
36768  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
36769  .byte  69,15,40,241                        // movaps        %xmm9,%xmm14
36770  .byte  68,15,194,242,1                     // cmpltps       %xmm2,%xmm14
36771  .byte  68,15,84,53,199,71,0,0              // andps         0x47c7(%rip),%xmm14        # 65d0 <_sk_callback_sse2+0x534>
36772  .byte  69,15,88,244                        // addps         %xmm12,%xmm14
36773  .byte  69,15,40,250                        // movaps        %xmm10,%xmm15
36774  .byte  69,15,194,249,0                     // cmpeqps       %xmm9,%xmm15
36775  .byte  65,15,92,208                        // subps         %xmm8,%xmm2
36776  .byte  65,15,89,213                        // mulps         %xmm13,%xmm2
36777  .byte  68,15,40,37,186,71,0,0              // movaps        0x47ba(%rip),%xmm12        # 65e0 <_sk_callback_sse2+0x544>
36778  .byte  65,15,88,212                        // addps         %xmm12,%xmm2
36779  .byte  69,15,92,193                        // subps         %xmm9,%xmm8
36780  .byte  69,15,89,197                        // mulps         %xmm13,%xmm8
36781  .byte  68,15,88,5,182,71,0,0               // addps         0x47b6(%rip),%xmm8        # 65f0 <_sk_callback_sse2+0x554>
36782  .byte  65,15,84,215                        // andps         %xmm15,%xmm2
36783  .byte  69,15,85,248                        // andnps        %xmm8,%xmm15
36784  .byte  68,15,86,250                        // orps          %xmm2,%xmm15
36785  .byte  68,15,84,240                        // andps         %xmm0,%xmm14
36786  .byte  65,15,85,199                        // andnps        %xmm15,%xmm0
36787  .byte  65,15,86,198                        // orps          %xmm14,%xmm0
36788  .byte  15,89,5,167,71,0,0                  // mulps         0x47a7(%rip),%xmm0        # 6600 <_sk_callback_sse2+0x564>
36789  .byte  69,15,40,194                        // movaps        %xmm10,%xmm8
36790  .byte  69,15,194,195,4                     // cmpneqps      %xmm11,%xmm8
36791  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
36792  .byte  69,15,92,226                        // subps         %xmm10,%xmm12
36793  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
36794  .byte  68,15,40,13,154,71,0,0              // movaps        0x479a(%rip),%xmm9        # 6610 <_sk_callback_sse2+0x574>
36795  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
36796  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
36797  .byte  68,15,194,202,1                     // cmpltps       %xmm2,%xmm9
36798  .byte  69,15,92,227                        // subps         %xmm11,%xmm12
36799  .byte  69,15,84,225                        // andps         %xmm9,%xmm12
36800  .byte  69,15,85,202                        // andnps        %xmm10,%xmm9
36801  .byte  69,15,86,204                        // orps          %xmm12,%xmm9
36802  .byte  65,15,94,201                        // divps         %xmm9,%xmm1
36803  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
36804  .byte  72,173                              // lods          %ds:(%rsi),%rax
36805  .byte  255,224                             // jmpq          *%rax
36806
36807HIDDEN _sk_hsl_to_rgb_sse2
36808.globl _sk_hsl_to_rgb_sse2
36809FUNCTION(_sk_hsl_to_rgb_sse2)
36810_sk_hsl_to_rgb_sse2:
36811  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
36812  .byte  15,41,116,36,216                    // movaps        %xmm6,-0x28(%rsp)
36813  .byte  15,41,108,36,200                    // movaps        %xmm5,-0x38(%rsp)
36814  .byte  15,41,100,36,184                    // movaps        %xmm4,-0x48(%rsp)
36815  .byte  15,41,92,36,168                     // movaps        %xmm3,-0x58(%rsp)
36816  .byte  68,15,40,218                        // movaps        %xmm2,%xmm11
36817  .byte  15,40,240                           // movaps        %xmm0,%xmm6
36818  .byte  68,15,40,13,89,71,0,0               // movaps        0x4759(%rip),%xmm9        # 6620 <_sk_callback_sse2+0x584>
36819  .byte  69,15,40,209                        // movaps        %xmm9,%xmm10
36820  .byte  69,15,194,211,2                     // cmpleps       %xmm11,%xmm10
36821  .byte  15,40,193                           // movaps        %xmm1,%xmm0
36822  .byte  15,87,219                           // xorps         %xmm3,%xmm3
36823  .byte  15,194,217,0                        // cmpeqps       %xmm1,%xmm3
36824  .byte  15,40,251                           // movaps        %xmm3,%xmm7
36825  .byte  15,41,124,36,136                    // movaps        %xmm7,-0x78(%rsp)
36826  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
36827  .byte  15,92,193                           // subps         %xmm1,%xmm0
36828  .byte  65,15,84,194                        // andps         %xmm10,%xmm0
36829  .byte  68,15,85,209                        // andnps        %xmm1,%xmm10
36830  .byte  68,15,86,208                        // orps          %xmm0,%xmm10
36831  .byte  68,15,41,92,36,152                  // movaps        %xmm11,-0x68(%rsp)
36832  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
36833  .byte  69,15,88,219                        // addps         %xmm11,%xmm11
36834  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
36835  .byte  15,40,5,34,71,0,0                   // movaps        0x4722(%rip),%xmm0        # 6630 <_sk_callback_sse2+0x594>
36836  .byte  15,88,198                           // addps         %xmm6,%xmm0
36837  .byte  243,15,91,200                       // cvttps2dq     %xmm0,%xmm1
36838  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
36839  .byte  15,40,216                           // movaps        %xmm0,%xmm3
36840  .byte  15,194,217,1                        // cmpltps       %xmm1,%xmm3
36841  .byte  15,84,29,26,71,0,0                  // andps         0x471a(%rip),%xmm3        # 6640 <_sk_callback_sse2+0x5a4>
36842  .byte  15,92,203                           // subps         %xmm3,%xmm1
36843  .byte  15,92,193                           // subps         %xmm1,%xmm0
36844  .byte  68,15,40,45,28,71,0,0               // movaps        0x471c(%rip),%xmm13        # 6650 <_sk_callback_sse2+0x5b4>
36845  .byte  69,15,40,197                        // movaps        %xmm13,%xmm8
36846  .byte  68,15,194,192,2                     // cmpleps       %xmm0,%xmm8
36847  .byte  69,15,40,242                        // movaps        %xmm10,%xmm14
36848  .byte  69,15,92,243                        // subps         %xmm11,%xmm14
36849  .byte  65,15,40,217                        // movaps        %xmm9,%xmm3
36850  .byte  15,194,216,2                        // cmpleps       %xmm0,%xmm3
36851  .byte  15,40,21,44,71,0,0                  // movaps        0x472c(%rip),%xmm2        # 6680 <_sk_callback_sse2+0x5e4>
36852  .byte  68,15,40,250                        // movaps        %xmm2,%xmm15
36853  .byte  68,15,194,248,2                     // cmpleps       %xmm0,%xmm15
36854  .byte  15,40,13,252,70,0,0                 // movaps        0x46fc(%rip),%xmm1        # 6660 <_sk_callback_sse2+0x5c4>
36855  .byte  15,89,193                           // mulps         %xmm1,%xmm0
36856  .byte  15,40,45,2,71,0,0                   // movaps        0x4702(%rip),%xmm5        # 6670 <_sk_callback_sse2+0x5d4>
36857  .byte  15,40,229                           // movaps        %xmm5,%xmm4
36858  .byte  15,92,224                           // subps         %xmm0,%xmm4
36859  .byte  65,15,89,230                        // mulps         %xmm14,%xmm4
36860  .byte  65,15,88,227                        // addps         %xmm11,%xmm4
36861  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
36862  .byte  69,15,84,224                        // andps         %xmm8,%xmm12
36863  .byte  68,15,85,196                        // andnps        %xmm4,%xmm8
36864  .byte  69,15,86,196                        // orps          %xmm12,%xmm8
36865  .byte  68,15,84,195                        // andps         %xmm3,%xmm8
36866  .byte  65,15,85,218                        // andnps        %xmm10,%xmm3
36867  .byte  65,15,86,216                        // orps          %xmm8,%xmm3
36868  .byte  65,15,89,198                        // mulps         %xmm14,%xmm0
36869  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
36870  .byte  65,15,84,223                        // andps         %xmm15,%xmm3
36871  .byte  68,15,85,248                        // andnps        %xmm0,%xmm15
36872  .byte  68,15,86,251                        // orps          %xmm3,%xmm15
36873  .byte  68,15,40,199                        // movaps        %xmm7,%xmm8
36874  .byte  69,15,85,199                        // andnps        %xmm15,%xmm8
36875  .byte  243,15,91,198                       // cvttps2dq     %xmm6,%xmm0
36876  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
36877  .byte  15,40,222                           // movaps        %xmm6,%xmm3
36878  .byte  15,194,216,1                        // cmpltps       %xmm0,%xmm3
36879  .byte  15,84,29,119,70,0,0                 // andps         0x4677(%rip),%xmm3        # 6640 <_sk_callback_sse2+0x5a4>
36880  .byte  15,92,195                           // subps         %xmm3,%xmm0
36881  .byte  68,15,40,230                        // movaps        %xmm6,%xmm12
36882  .byte  68,15,92,224                        // subps         %xmm0,%xmm12
36883  .byte  69,15,40,253                        // movaps        %xmm13,%xmm15
36884  .byte  69,15,194,252,2                     // cmpleps       %xmm12,%xmm15
36885  .byte  65,15,40,225                        // movaps        %xmm9,%xmm4
36886  .byte  65,15,194,228,2                     // cmpleps       %xmm12,%xmm4
36887  .byte  15,40,218                           // movaps        %xmm2,%xmm3
36888  .byte  65,15,194,220,2                     // cmpleps       %xmm12,%xmm3
36889  .byte  68,15,89,225                        // mulps         %xmm1,%xmm12
36890  .byte  15,40,197                           // movaps        %xmm5,%xmm0
36891  .byte  65,15,92,196                        // subps         %xmm12,%xmm0
36892  .byte  65,15,89,198                        // mulps         %xmm14,%xmm0
36893  .byte  65,15,88,195                        // addps         %xmm11,%xmm0
36894  .byte  65,15,40,251                        // movaps        %xmm11,%xmm7
36895  .byte  65,15,84,255                        // andps         %xmm15,%xmm7
36896  .byte  68,15,85,248                        // andnps        %xmm0,%xmm15
36897  .byte  68,15,86,255                        // orps          %xmm7,%xmm15
36898  .byte  68,15,84,252                        // andps         %xmm4,%xmm15
36899  .byte  65,15,85,226                        // andnps        %xmm10,%xmm4
36900  .byte  65,15,86,231                        // orps          %xmm15,%xmm4
36901  .byte  69,15,89,230                        // mulps         %xmm14,%xmm12
36902  .byte  69,15,88,227                        // addps         %xmm11,%xmm12
36903  .byte  15,84,227                           // andps         %xmm3,%xmm4
36904  .byte  65,15,85,220                        // andnps        %xmm12,%xmm3
36905  .byte  15,86,220                           // orps          %xmm4,%xmm3
36906  .byte  15,40,124,36,136                    // movaps        -0x78(%rsp),%xmm7
36907  .byte  15,40,231                           // movaps        %xmm7,%xmm4
36908  .byte  15,85,227                           // andnps        %xmm3,%xmm4
36909  .byte  15,88,53,79,70,0,0                  // addps         0x464f(%rip),%xmm6        # 6690 <_sk_callback_sse2+0x5f4>
36910  .byte  243,15,91,198                       // cvttps2dq     %xmm6,%xmm0
36911  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
36912  .byte  15,40,222                           // movaps        %xmm6,%xmm3
36913  .byte  15,194,216,1                        // cmpltps       %xmm0,%xmm3
36914  .byte  15,84,29,234,69,0,0                 // andps         0x45ea(%rip),%xmm3        # 6640 <_sk_callback_sse2+0x5a4>
36915  .byte  15,92,195                           // subps         %xmm3,%xmm0
36916  .byte  15,92,240                           // subps         %xmm0,%xmm6
36917  .byte  15,89,206                           // mulps         %xmm6,%xmm1
36918  .byte  15,92,233                           // subps         %xmm1,%xmm5
36919  .byte  65,15,89,238                        // mulps         %xmm14,%xmm5
36920  .byte  65,15,89,206                        // mulps         %xmm14,%xmm1
36921  .byte  65,15,88,235                        // addps         %xmm11,%xmm5
36922  .byte  65,15,88,203                        // addps         %xmm11,%xmm1
36923  .byte  68,15,194,238,2                     // cmpleps       %xmm6,%xmm13
36924  .byte  69,15,84,221                        // andps         %xmm13,%xmm11
36925  .byte  68,15,85,237                        // andnps        %xmm5,%xmm13
36926  .byte  69,15,86,235                        // orps          %xmm11,%xmm13
36927  .byte  68,15,194,206,2                     // cmpleps       %xmm6,%xmm9
36928  .byte  69,15,84,233                        // andps         %xmm9,%xmm13
36929  .byte  69,15,85,202                        // andnps        %xmm10,%xmm9
36930  .byte  69,15,86,205                        // orps          %xmm13,%xmm9
36931  .byte  15,194,214,2                        // cmpleps       %xmm6,%xmm2
36932  .byte  68,15,84,202                        // andps         %xmm2,%xmm9
36933  .byte  15,85,209                           // andnps        %xmm1,%xmm2
36934  .byte  65,15,86,209                        // orps          %xmm9,%xmm2
36935  .byte  15,40,68,36,152                     // movaps        -0x68(%rsp),%xmm0
36936  .byte  15,40,207                           // movaps        %xmm7,%xmm1
36937  .byte  15,84,193                           // andps         %xmm1,%xmm0
36938  .byte  15,85,202                           // andnps        %xmm2,%xmm1
36939  .byte  68,15,86,192                        // orps          %xmm0,%xmm8
36940  .byte  15,86,224                           // orps          %xmm0,%xmm4
36941  .byte  15,86,193                           // orps          %xmm1,%xmm0
36942  .byte  15,40,208                           // movaps        %xmm0,%xmm2
36943  .byte  72,173                              // lods          %ds:(%rsi),%rax
36944  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
36945  .byte  15,40,204                           // movaps        %xmm4,%xmm1
36946  .byte  15,40,92,36,168                     // movaps        -0x58(%rsp),%xmm3
36947  .byte  15,40,100,36,184                    // movaps        -0x48(%rsp),%xmm4
36948  .byte  15,40,108,36,200                    // movaps        -0x38(%rsp),%xmm5
36949  .byte  15,40,116,36,216                    // movaps        -0x28(%rsp),%xmm6
36950  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
36951  .byte  255,224                             // jmpq          *%rax
36952
36953HIDDEN _sk_scale_1_float_sse2
36954.globl _sk_scale_1_float_sse2
36955FUNCTION(_sk_scale_1_float_sse2)
36956_sk_scale_1_float_sse2:
36957  .byte  72,173                              // lods          %ds:(%rsi),%rax
36958  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
36959  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
36960  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
36961  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
36962  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
36963  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
36964  .byte  72,173                              // lods          %ds:(%rsi),%rax
36965  .byte  255,224                             // jmpq          *%rax
36966
36967HIDDEN _sk_scale_u8_sse2
36968.globl _sk_scale_u8_sse2
36969FUNCTION(_sk_scale_u8_sse2)
36970_sk_scale_u8_sse2:
36971  .byte  72,173                              // lods          %ds:(%rsi),%rax
36972  .byte  76,139,16                           // mov           (%rax),%r10
36973  .byte  77,133,192                          // test          %r8,%r8
36974  .byte  117,61                              // jne           2149 <_sk_scale_u8_sse2+0x47>
36975  .byte  102,69,15,110,4,18                  // movd          (%r10,%rdx,1),%xmm8
36976  .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
36977  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
36978  .byte  102,68,15,219,5,123,69,0,0          // pand          0x457b(%rip),%xmm8        # 66a0 <_sk_callback_sse2+0x604>
36979  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
36980  .byte  68,15,89,5,127,69,0,0               // mulps         0x457f(%rip),%xmm8        # 66b0 <_sk_callback_sse2+0x614>
36981  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
36982  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
36983  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
36984  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
36985  .byte  72,173                              // lods          %ds:(%rsi),%rax
36986  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
36987  .byte  255,224                             // jmpq          *%rax
36988  .byte  69,137,193                          // mov           %r8d,%r9d
36989  .byte  65,128,225,3                        // and           $0x3,%r9b
36990  .byte  65,128,249,1                        // cmp           $0x1,%r9b
36991  .byte  116,61                              // je            2193 <_sk_scale_u8_sse2+0x91>
36992  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
36993  .byte  65,128,249,2                        // cmp           $0x2,%r9b
36994  .byte  116,23                              // je            2178 <_sk_scale_u8_sse2+0x76>
36995  .byte  65,128,249,3                        // cmp           $0x3,%r9b
36996  .byte  117,181                             // jne           211c <_sk_scale_u8_sse2+0x1a>
36997  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
36998  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
36999  .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
37000  .byte  65,15,183,4,18                      // movzwl        (%r10,%rdx,1),%eax
37001  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
37002  .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
37003  .byte  102,68,15,97,200                    // punpcklwd     %xmm0,%xmm9
37004  .byte  242,69,15,16,193                    // movsd         %xmm9,%xmm8
37005  .byte  235,137                             // jmp           211c <_sk_scale_u8_sse2+0x1a>
37006  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
37007  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
37008  .byte  233,122,255,255,255                 // jmpq          211c <_sk_scale_u8_sse2+0x1a>
37009
37010HIDDEN _sk_lerp_1_float_sse2
37011.globl _sk_lerp_1_float_sse2
37012FUNCTION(_sk_lerp_1_float_sse2)
37013_sk_lerp_1_float_sse2:
37014  .byte  72,173                              // lods          %ds:(%rsi),%rax
37015  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
37016  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
37017  .byte  15,92,196                           // subps         %xmm4,%xmm0
37018  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
37019  .byte  15,88,196                           // addps         %xmm4,%xmm0
37020  .byte  15,92,205                           // subps         %xmm5,%xmm1
37021  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
37022  .byte  15,88,205                           // addps         %xmm5,%xmm1
37023  .byte  15,92,214                           // subps         %xmm6,%xmm2
37024  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
37025  .byte  15,88,214                           // addps         %xmm6,%xmm2
37026  .byte  15,92,223                           // subps         %xmm7,%xmm3
37027  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
37028  .byte  15,88,223                           // addps         %xmm7,%xmm3
37029  .byte  72,173                              // lods          %ds:(%rsi),%rax
37030  .byte  255,224                             // jmpq          *%rax
37031
37032HIDDEN _sk_lerp_u8_sse2
37033.globl _sk_lerp_u8_sse2
37034FUNCTION(_sk_lerp_u8_sse2)
37035_sk_lerp_u8_sse2:
37036  .byte  72,173                              // lods          %ds:(%rsi),%rax
37037  .byte  76,139,16                           // mov           (%rax),%r10
37038  .byte  77,133,192                          // test          %r8,%r8
37039  .byte  117,81                              // jne           2235 <_sk_lerp_u8_sse2+0x5b>
37040  .byte  102,69,15,110,4,18                  // movd          (%r10,%rdx,1),%xmm8
37041  .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
37042  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
37043  .byte  102,68,15,219,5,195,68,0,0          // pand          0x44c3(%rip),%xmm8        # 66c0 <_sk_callback_sse2+0x624>
37044  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
37045  .byte  68,15,89,5,199,68,0,0               // mulps         0x44c7(%rip),%xmm8        # 66d0 <_sk_callback_sse2+0x634>
37046  .byte  15,92,196                           // subps         %xmm4,%xmm0
37047  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
37048  .byte  15,88,196                           // addps         %xmm4,%xmm0
37049  .byte  15,92,205                           // subps         %xmm5,%xmm1
37050  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
37051  .byte  15,88,205                           // addps         %xmm5,%xmm1
37052  .byte  15,92,214                           // subps         %xmm6,%xmm2
37053  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
37054  .byte  15,88,214                           // addps         %xmm6,%xmm2
37055  .byte  15,92,223                           // subps         %xmm7,%xmm3
37056  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
37057  .byte  15,88,223                           // addps         %xmm7,%xmm3
37058  .byte  72,173                              // lods          %ds:(%rsi),%rax
37059  .byte  255,224                             // jmpq          *%rax
37060  .byte  69,137,193                          // mov           %r8d,%r9d
37061  .byte  65,128,225,3                        // and           $0x3,%r9b
37062  .byte  65,128,249,1                        // cmp           $0x1,%r9b
37063  .byte  116,64                              // je            2282 <_sk_lerp_u8_sse2+0xa8>
37064  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
37065  .byte  65,128,249,2                        // cmp           $0x2,%r9b
37066  .byte  116,23                              // je            2264 <_sk_lerp_u8_sse2+0x8a>
37067  .byte  65,128,249,3                        // cmp           $0x3,%r9b
37068  .byte  117,161                             // jne           21f4 <_sk_lerp_u8_sse2+0x1a>
37069  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
37070  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
37071  .byte  102,69,15,112,192,69                // pshufd        $0x45,%xmm8,%xmm8
37072  .byte  65,15,183,4,18                      // movzwl        (%r10,%rdx,1),%eax
37073  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
37074  .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
37075  .byte  102,68,15,97,200                    // punpcklwd     %xmm0,%xmm9
37076  .byte  242,69,15,16,193                    // movsd         %xmm9,%xmm8
37077  .byte  233,114,255,255,255                 // jmpq          21f4 <_sk_lerp_u8_sse2+0x1a>
37078  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
37079  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
37080  .byte  233,99,255,255,255                  // jmpq          21f4 <_sk_lerp_u8_sse2+0x1a>
37081
37082HIDDEN _sk_lerp_565_sse2
37083.globl _sk_lerp_565_sse2
37084FUNCTION(_sk_lerp_565_sse2)
37085_sk_lerp_565_sse2:
37086  .byte  72,173                              // lods          %ds:(%rsi),%rax
37087  .byte  76,139,16                           // mov           (%rax),%r10
37088  .byte  77,133,192                          // test          %r8,%r8
37089  .byte  15,133,156,0,0,0                    // jne           233b <_sk_lerp_565_sse2+0xaa>
37090  .byte  243,69,15,126,12,82                 // movq          (%r10,%rdx,2),%xmm9
37091  .byte  102,68,15,97,200                    // punpcklwd     %xmm0,%xmm9
37092  .byte  102,68,15,111,5,45,68,0,0           // movdqa        0x442d(%rip),%xmm8        # 66e0 <_sk_callback_sse2+0x644>
37093  .byte  102,69,15,219,193                   // pand          %xmm9,%xmm8
37094  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
37095  .byte  68,15,89,5,44,68,0,0                // mulps         0x442c(%rip),%xmm8        # 66f0 <_sk_callback_sse2+0x654>
37096  .byte  102,68,15,111,21,51,68,0,0          // movdqa        0x4433(%rip),%xmm10        # 6700 <_sk_callback_sse2+0x664>
37097  .byte  102,69,15,219,209                   // pand          %xmm9,%xmm10
37098  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
37099  .byte  68,15,89,21,50,68,0,0               // mulps         0x4432(%rip),%xmm10        # 6710 <_sk_callback_sse2+0x674>
37100  .byte  102,68,15,219,13,57,68,0,0          // pand          0x4439(%rip),%xmm9        # 6720 <_sk_callback_sse2+0x684>
37101  .byte  69,15,91,201                        // cvtdq2ps      %xmm9,%xmm9
37102  .byte  68,15,89,13,61,68,0,0               // mulps         0x443d(%rip),%xmm9        # 6730 <_sk_callback_sse2+0x694>
37103  .byte  15,92,196                           // subps         %xmm4,%xmm0
37104  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
37105  .byte  15,88,196                           // addps         %xmm4,%xmm0
37106  .byte  15,92,205                           // subps         %xmm5,%xmm1
37107  .byte  65,15,89,202                        // mulps         %xmm10,%xmm1
37108  .byte  15,88,205                           // addps         %xmm5,%xmm1
37109  .byte  15,92,214                           // subps         %xmm6,%xmm2
37110  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
37111  .byte  15,88,214                           // addps         %xmm6,%xmm2
37112  .byte  15,92,223                           // subps         %xmm7,%xmm3
37113  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
37114  .byte  68,15,88,199                        // addps         %xmm7,%xmm8
37115  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
37116  .byte  68,15,88,215                        // addps         %xmm7,%xmm10
37117  .byte  65,15,89,217                        // mulps         %xmm9,%xmm3
37118  .byte  15,88,223                           // addps         %xmm7,%xmm3
37119  .byte  68,15,95,211                        // maxps         %xmm3,%xmm10
37120  .byte  69,15,95,194                        // maxps         %xmm10,%xmm8
37121  .byte  72,173                              // lods          %ds:(%rsi),%rax
37122  .byte  65,15,40,216                        // movaps        %xmm8,%xmm3
37123  .byte  255,224                             // jmpq          *%rax
37124  .byte  69,137,193                          // mov           %r8d,%r9d
37125  .byte  65,128,225,3                        // and           $0x3,%r9b
37126  .byte  65,128,249,1                        // cmp           $0x1,%r9b
37127  .byte  116,59                              // je            2383 <_sk_lerp_565_sse2+0xf2>
37128  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
37129  .byte  65,128,249,2                        // cmp           $0x2,%r9b
37130  .byte  116,27                              // je            236e <_sk_lerp_565_sse2+0xdd>
37131  .byte  65,128,249,3                        // cmp           $0x3,%r9b
37132  .byte  15,133,77,255,255,255               // jne           22aa <_sk_lerp_565_sse2+0x19>
37133  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%rdx,2),%eax
37134  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
37135  .byte  102,69,15,112,200,69                // pshufd        $0x45,%xmm8,%xmm9
37136  .byte  102,69,15,110,4,82                  // movd          (%r10,%rdx,2),%xmm8
37137  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
37138  .byte  242,69,15,16,200                    // movsd         %xmm8,%xmm9
37139  .byte  233,39,255,255,255                  // jmpq          22aa <_sk_lerp_565_sse2+0x19>
37140  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
37141  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
37142  .byte  233,24,255,255,255                  // jmpq          22aa <_sk_lerp_565_sse2+0x19>
37143
37144HIDDEN _sk_load_tables_sse2
37145.globl _sk_load_tables_sse2
37146FUNCTION(_sk_load_tables_sse2)
37147_sk_load_tables_sse2:
37148  .byte  72,173                              // lods          %ds:(%rsi),%rax
37149  .byte  76,139,8                            // mov           (%rax),%r9
37150  .byte  77,133,192                          // test          %r8,%r8
37151  .byte  15,133,36,1,0,0                     // jne           24c4 <_sk_load_tables_sse2+0x132>
37152  .byte  243,69,15,111,12,145                // movdqu        (%r9,%rdx,4),%xmm9
37153  .byte  65,87                               // push          %r15
37154  .byte  65,86                               // push          %r14
37155  .byte  83                                  // push          %rbx
37156  .byte  102,68,15,111,5,140,67,0,0          // movdqa        0x438c(%rip),%xmm8        # 6740 <_sk_callback_sse2+0x6a4>
37157  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
37158  .byte  102,65,15,219,192                   // pand          %xmm8,%xmm0
37159  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
37160  .byte  102,73,15,126,201                   // movq          %xmm1,%r9
37161  .byte  102,73,15,126,194                   // movq          %xmm0,%r10
37162  .byte  69,15,182,218                       // movzbl        %r10b,%r11d
37163  .byte  73,193,234,30                       // shr           $0x1e,%r10
37164  .byte  69,15,182,241                       // movzbl        %r9b,%r14d
37165  .byte  73,193,233,30                       // shr           $0x1e,%r9
37166  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
37167  .byte  76,139,120,16                       // mov           0x10(%rax),%r15
37168  .byte  243,66,15,16,12,19                  // movss         (%rbx,%r10,1),%xmm1
37169  .byte  243,66,15,16,4,11                   // movss         (%rbx,%r9,1),%xmm0
37170  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
37171  .byte  243,66,15,16,4,155                  // movss         (%rbx,%r11,4),%xmm0
37172  .byte  243,66,15,16,20,179                 // movss         (%rbx,%r14,4),%xmm2
37173  .byte  15,20,194                           // unpcklps      %xmm2,%xmm0
37174  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
37175  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
37176  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
37177  .byte  102,65,15,219,200                   // pand          %xmm8,%xmm1
37178  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
37179  .byte  102,73,15,126,209                   // movq          %xmm2,%r9
37180  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
37181  .byte  68,15,182,211                       // movzbl        %bl,%r10d
37182  .byte  72,193,235,30                       // shr           $0x1e,%rbx
37183  .byte  69,15,182,217                       // movzbl        %r9b,%r11d
37184  .byte  73,193,233,30                       // shr           $0x1e,%r9
37185  .byte  243,65,15,16,20,31                  // movss         (%r15,%rbx,1),%xmm2
37186  .byte  243,67,15,16,12,15                  // movss         (%r15,%r9,1),%xmm1
37187  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
37188  .byte  243,67,15,16,12,151                 // movss         (%r15,%r10,4),%xmm1
37189  .byte  243,67,15,16,28,159                 // movss         (%r15,%r11,4),%xmm3
37190  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
37191  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
37192  .byte  76,139,72,24                        // mov           0x18(%rax),%r9
37193  .byte  102,65,15,111,209                   // movdqa        %xmm9,%xmm2
37194  .byte  102,15,114,210,16                   // psrld         $0x10,%xmm2
37195  .byte  102,65,15,219,208                   // pand          %xmm8,%xmm2
37196  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
37197  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
37198  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
37199  .byte  68,15,182,208                       // movzbl        %al,%r10d
37200  .byte  72,193,232,30                       // shr           $0x1e,%rax
37201  .byte  68,15,182,219                       // movzbl        %bl,%r11d
37202  .byte  72,193,235,30                       // shr           $0x1e,%rbx
37203  .byte  243,69,15,16,4,1                    // movss         (%r9,%rax,1),%xmm8
37204  .byte  243,65,15,16,20,25                  // movss         (%r9,%rbx,1),%xmm2
37205  .byte  68,15,20,194                        // unpcklps      %xmm2,%xmm8
37206  .byte  243,67,15,16,20,145                 // movss         (%r9,%r10,4),%xmm2
37207  .byte  243,67,15,16,28,153                 // movss         (%r9,%r11,4),%xmm3
37208  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
37209  .byte  65,15,20,208                        // unpcklps      %xmm8,%xmm2
37210  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
37211  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
37212  .byte  15,89,29,149,66,0,0                 // mulps         0x4295(%rip),%xmm3        # 6750 <_sk_callback_sse2+0x6b4>
37213  .byte  72,173                              // lods          %ds:(%rsi),%rax
37214  .byte  91                                  // pop           %rbx
37215  .byte  65,94                               // pop           %r14
37216  .byte  65,95                               // pop           %r15
37217  .byte  255,224                             // jmpq          *%rax
37218  .byte  69,137,194                          // mov           %r8d,%r10d
37219  .byte  65,128,226,3                        // and           $0x3,%r10b
37220  .byte  65,128,250,1                        // cmp           $0x1,%r10b
37221  .byte  116,45                              // je            24fe <_sk_load_tables_sse2+0x16c>
37222  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
37223  .byte  65,128,250,2                        // cmp           $0x2,%r10b
37224  .byte  116,23                              // je            24f3 <_sk_load_tables_sse2+0x161>
37225  .byte  65,128,250,3                        // cmp           $0x3,%r10b
37226  .byte  15,133,192,254,255,255              // jne           23a6 <_sk_load_tables_sse2+0x14>
37227  .byte  102,65,15,110,68,145,8              // movd          0x8(%r9,%rdx,4),%xmm0
37228  .byte  102,68,15,112,200,69                // pshufd        $0x45,%xmm0,%xmm9
37229  .byte  102,69,15,18,12,145                 // movlpd        (%r9,%rdx,4),%xmm9
37230  .byte  233,168,254,255,255                 // jmpq          23a6 <_sk_load_tables_sse2+0x14>
37231  .byte  102,69,15,110,12,145                // movd          (%r9,%rdx,4),%xmm9
37232  .byte  233,157,254,255,255                 // jmpq          23a6 <_sk_load_tables_sse2+0x14>
37233
37234HIDDEN _sk_load_tables_u16_be_sse2
37235.globl _sk_load_tables_u16_be_sse2
37236FUNCTION(_sk_load_tables_u16_be_sse2)
37237_sk_load_tables_u16_be_sse2:
37238  .byte  72,173                              // lods          %ds:(%rsi),%rax
37239  .byte  76,139,8                            // mov           (%rax),%r9
37240  .byte  76,141,20,149,0,0,0,0               // lea           0x0(,%rdx,4),%r10
37241  .byte  77,133,192                          // test          %r8,%r8
37242  .byte  15,133,101,1,0,0                    // jne           2684 <_sk_load_tables_u16_be_sse2+0x17b>
37243  .byte  102,67,15,16,4,81                   // movupd        (%r9,%r10,2),%xmm0
37244  .byte  102,67,15,16,76,81,16               // movupd        0x10(%r9,%r10,2),%xmm1
37245  .byte  65,87                               // push          %r15
37246  .byte  65,86                               // push          %r14
37247  .byte  83                                  // push          %rbx
37248  .byte  102,68,15,40,200                    // movapd        %xmm0,%xmm9
37249  .byte  102,68,15,97,201                    // punpcklwd     %xmm1,%xmm9
37250  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
37251  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
37252  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
37253  .byte  102,68,15,105,200                   // punpckhwd     %xmm0,%xmm9
37254  .byte  102,68,15,111,21,10,66,0,0          // movdqa        0x420a(%rip),%xmm10        # 6760 <_sk_callback_sse2+0x6c4>
37255  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
37256  .byte  102,65,15,219,194                   // pand          %xmm10,%xmm0
37257  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
37258  .byte  102,65,15,97,192                    // punpcklwd     %xmm8,%xmm0
37259  .byte  102,15,112,216,78                   // pshufd        $0x4e,%xmm0,%xmm3
37260  .byte  102,73,15,126,217                   // movq          %xmm3,%r9
37261  .byte  69,15,182,209                       // movzbl        %r9b,%r10d
37262  .byte  73,193,233,32                       // shr           $0x20,%r9
37263  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
37264  .byte  69,15,182,243                       // movzbl        %r11b,%r14d
37265  .byte  73,193,235,30                       // shr           $0x1e,%r11
37266  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
37267  .byte  76,139,120,16                       // mov           0x10(%rax),%r15
37268  .byte  243,66,15,16,28,27                  // movss         (%rbx,%r11,1),%xmm3
37269  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
37270  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
37271  .byte  243,66,15,16,4,179                  // movss         (%rbx,%r14,4),%xmm0
37272  .byte  243,66,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm2
37273  .byte  15,20,194                           // unpcklps      %xmm2,%xmm0
37274  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
37275  .byte  102,15,115,217,8                    // psrldq        $0x8,%xmm1
37276  .byte  102,65,15,219,202                   // pand          %xmm10,%xmm1
37277  .byte  102,65,15,97,200                    // punpcklwd     %xmm8,%xmm1
37278  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
37279  .byte  102,72,15,126,211                   // movq          %xmm2,%rbx
37280  .byte  68,15,182,203                       // movzbl        %bl,%r9d
37281  .byte  72,193,235,32                       // shr           $0x20,%rbx
37282  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
37283  .byte  69,15,182,218                       // movzbl        %r10b,%r11d
37284  .byte  73,193,234,30                       // shr           $0x1e,%r10
37285  .byte  243,67,15,16,20,23                  // movss         (%r15,%r10,1),%xmm2
37286  .byte  243,65,15,16,12,159                 // movss         (%r15,%rbx,4),%xmm1
37287  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
37288  .byte  243,67,15,16,12,159                 // movss         (%r15,%r11,4),%xmm1
37289  .byte  243,67,15,16,28,143                 // movss         (%r15,%r9,4),%xmm3
37290  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
37291  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
37292  .byte  76,139,80,24                        // mov           0x18(%rax),%r10
37293  .byte  102,69,15,219,209                   // pand          %xmm9,%xmm10
37294  .byte  102,69,15,97,208                    // punpcklwd     %xmm8,%xmm10
37295  .byte  102,65,15,112,210,78                // pshufd        $0x4e,%xmm10,%xmm2
37296  .byte  102,72,15,126,211                   // movq          %xmm2,%rbx
37297  .byte  68,15,182,203                       // movzbl        %bl,%r9d
37298  .byte  72,193,235,32                       // shr           $0x20,%rbx
37299  .byte  102,76,15,126,208                   // movq          %xmm10,%rax
37300  .byte  68,15,182,216                       // movzbl        %al,%r11d
37301  .byte  72,193,232,30                       // shr           $0x1e,%rax
37302  .byte  243,69,15,16,20,2                   // movss         (%r10,%rax,1),%xmm10
37303  .byte  243,65,15,16,20,154                 // movss         (%r10,%rbx,4),%xmm2
37304  .byte  68,15,20,210                        // unpcklps      %xmm2,%xmm10
37305  .byte  243,67,15,16,20,154                 // movss         (%r10,%r11,4),%xmm2
37306  .byte  243,67,15,16,28,138                 // movss         (%r10,%r9,4),%xmm3
37307  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
37308  .byte  65,15,20,210                        // unpcklps      %xmm10,%xmm2
37309  .byte  102,65,15,112,217,78                // pshufd        $0x4e,%xmm9,%xmm3
37310  .byte  102,68,15,111,203                   // movdqa        %xmm3,%xmm9
37311  .byte  102,65,15,113,241,8                 // psllw         $0x8,%xmm9
37312  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
37313  .byte  102,65,15,235,217                   // por           %xmm9,%xmm3
37314  .byte  102,65,15,97,216                    // punpcklwd     %xmm8,%xmm3
37315  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
37316  .byte  15,89,29,245,64,0,0                 // mulps         0x40f5(%rip),%xmm3        # 6770 <_sk_callback_sse2+0x6d4>
37317  .byte  72,173                              // lods          %ds:(%rsi),%rax
37318  .byte  91                                  // pop           %rbx
37319  .byte  65,94                               // pop           %r14
37320  .byte  65,95                               // pop           %r15
37321  .byte  255,224                             // jmpq          *%rax
37322  .byte  242,67,15,16,4,81                   // movsd         (%r9,%r10,2),%xmm0
37323  .byte  73,131,248,1                        // cmp           $0x1,%r8
37324  .byte  117,17                              // jne           26a1 <_sk_load_tables_u16_be_sse2+0x198>
37325  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
37326  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
37327  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
37328  .byte  233,139,254,255,255                 // jmpq          252c <_sk_load_tables_u16_be_sse2+0x23>
37329  .byte  102,67,15,22,68,81,8                // movhpd        0x8(%r9,%r10,2),%xmm0
37330  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
37331  .byte  73,131,248,3                        // cmp           $0x3,%r8
37332  .byte  15,130,118,254,255,255              // jb            252c <_sk_load_tables_u16_be_sse2+0x23>
37333  .byte  242,67,15,16,76,81,16               // movsd         0x10(%r9,%r10,2),%xmm1
37334  .byte  233,106,254,255,255                 // jmpq          252c <_sk_load_tables_u16_be_sse2+0x23>
37335
37336HIDDEN _sk_load_tables_rgb_u16_be_sse2
37337.globl _sk_load_tables_rgb_u16_be_sse2
37338FUNCTION(_sk_load_tables_rgb_u16_be_sse2)
37339_sk_load_tables_rgb_u16_be_sse2:
37340  .byte  72,173                              // lods          %ds:(%rsi),%rax
37341  .byte  76,139,8                            // mov           (%rax),%r9
37342  .byte  76,141,20,82                        // lea           (%rdx,%rdx,2),%r10
37343  .byte  77,133,192                          // test          %r8,%r8
37344  .byte  15,133,84,1,0,0                     // jne           2828 <_sk_load_tables_rgb_u16_be_sse2+0x166>
37345  .byte  243,71,15,111,28,81                 // movdqu        (%r9,%r10,2),%xmm11
37346  .byte  243,67,15,111,76,81,8               // movdqu        0x8(%r9,%r10,2),%xmm1
37347  .byte  102,15,115,217,4                    // psrldq        $0x4,%xmm1
37348  .byte  102,69,15,111,211                   // movdqa        %xmm11,%xmm10
37349  .byte  102,65,15,115,218,6                 // psrldq        $0x6,%xmm10
37350  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
37351  .byte  102,15,115,216,6                    // psrldq        $0x6,%xmm0
37352  .byte  65,87                               // push          %r15
37353  .byte  65,86                               // push          %r14
37354  .byte  83                                  // push          %rbx
37355  .byte  102,68,15,97,217                    // punpcklwd     %xmm1,%xmm11
37356  .byte  102,68,15,97,208                    // punpcklwd     %xmm0,%xmm10
37357  .byte  102,65,15,111,195                   // movdqa        %xmm11,%xmm0
37358  .byte  102,65,15,97,194                    // punpcklwd     %xmm10,%xmm0
37359  .byte  102,68,15,111,5,100,64,0,0          // movdqa        0x4064(%rip),%xmm8        # 6780 <_sk_callback_sse2+0x6e4>
37360  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
37361  .byte  102,65,15,219,192                   // pand          %xmm8,%xmm0
37362  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
37363  .byte  102,65,15,97,193                    // punpcklwd     %xmm9,%xmm0
37364  .byte  102,15,112,216,78                   // pshufd        $0x4e,%xmm0,%xmm3
37365  .byte  102,73,15,126,217                   // movq          %xmm3,%r9
37366  .byte  69,15,182,209                       // movzbl        %r9b,%r10d
37367  .byte  73,193,233,32                       // shr           $0x20,%r9
37368  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
37369  .byte  69,15,182,243                       // movzbl        %r11b,%r14d
37370  .byte  73,193,235,30                       // shr           $0x1e,%r11
37371  .byte  72,139,88,8                         // mov           0x8(%rax),%rbx
37372  .byte  76,139,120,16                       // mov           0x10(%rax),%r15
37373  .byte  243,66,15,16,28,27                  // movss         (%rbx,%r11,1),%xmm3
37374  .byte  243,66,15,16,4,139                  // movss         (%rbx,%r9,4),%xmm0
37375  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
37376  .byte  243,66,15,16,4,179                  // movss         (%rbx,%r14,4),%xmm0
37377  .byte  243,66,15,16,20,147                 // movss         (%rbx,%r10,4),%xmm2
37378  .byte  15,20,194                           // unpcklps      %xmm2,%xmm0
37379  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
37380  .byte  102,65,15,219,200                   // pand          %xmm8,%xmm1
37381  .byte  102,65,15,97,201                    // punpcklwd     %xmm9,%xmm1
37382  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
37383  .byte  102,72,15,126,211                   // movq          %xmm2,%rbx
37384  .byte  68,15,182,203                       // movzbl        %bl,%r9d
37385  .byte  72,193,235,32                       // shr           $0x20,%rbx
37386  .byte  102,73,15,126,202                   // movq          %xmm1,%r10
37387  .byte  69,15,182,218                       // movzbl        %r10b,%r11d
37388  .byte  73,193,234,30                       // shr           $0x1e,%r10
37389  .byte  243,67,15,16,20,23                  // movss         (%r15,%r10,1),%xmm2
37390  .byte  243,65,15,16,12,159                 // movss         (%r15,%rbx,4),%xmm1
37391  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
37392  .byte  243,67,15,16,12,159                 // movss         (%r15,%r11,4),%xmm1
37393  .byte  243,67,15,16,28,143                 // movss         (%r15,%r9,4),%xmm3
37394  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
37395  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
37396  .byte  76,139,80,24                        // mov           0x18(%rax),%r10
37397  .byte  102,69,15,105,218                   // punpckhwd     %xmm10,%xmm11
37398  .byte  102,69,15,219,216                   // pand          %xmm8,%xmm11
37399  .byte  102,69,15,97,217                    // punpcklwd     %xmm9,%xmm11
37400  .byte  102,65,15,112,211,78                // pshufd        $0x4e,%xmm11,%xmm2
37401  .byte  102,72,15,126,211                   // movq          %xmm2,%rbx
37402  .byte  68,15,182,203                       // movzbl        %bl,%r9d
37403  .byte  72,193,235,32                       // shr           $0x20,%rbx
37404  .byte  102,76,15,126,216                   // movq          %xmm11,%rax
37405  .byte  68,15,182,216                       // movzbl        %al,%r11d
37406  .byte  72,193,232,30                       // shr           $0x1e,%rax
37407  .byte  243,69,15,16,4,2                    // movss         (%r10,%rax,1),%xmm8
37408  .byte  243,65,15,16,20,154                 // movss         (%r10,%rbx,4),%xmm2
37409  .byte  68,15,20,194                        // unpcklps      %xmm2,%xmm8
37410  .byte  243,67,15,16,20,154                 // movss         (%r10,%r11,4),%xmm2
37411  .byte  243,67,15,16,28,138                 // movss         (%r10,%r9,4),%xmm3
37412  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
37413  .byte  65,15,20,208                        // unpcklps      %xmm8,%xmm2
37414  .byte  72,173                              // lods          %ds:(%rsi),%rax
37415  .byte  15,40,29,111,63,0,0                 // movaps        0x3f6f(%rip),%xmm3        # 6790 <_sk_callback_sse2+0x6f4>
37416  .byte  91                                  // pop           %rbx
37417  .byte  65,94                               // pop           %r14
37418  .byte  65,95                               // pop           %r15
37419  .byte  255,224                             // jmpq          *%rax
37420  .byte  102,71,15,110,28,81                 // movd          (%r9,%r10,2),%xmm11
37421  .byte  102,71,15,196,92,81,4,2             // pinsrw        $0x2,0x4(%r9,%r10,2),%xmm11
37422  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
37423  .byte  73,131,248,1                        // cmp           $0x1,%r8
37424  .byte  117,14                              // jne           284e <_sk_load_tables_rgb_u16_be_sse2+0x18c>
37425  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
37426  .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
37427  .byte  233,172,254,255,255                 // jmpq          26fa <_sk_load_tables_rgb_u16_be_sse2+0x38>
37428  .byte  102,71,15,110,84,81,6               // movd          0x6(%r9,%r10,2),%xmm10
37429  .byte  102,71,15,196,84,81,10,2            // pinsrw        $0x2,0xa(%r9,%r10,2),%xmm10
37430  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
37431  .byte  73,131,248,3                        // cmp           $0x3,%r8
37432  .byte  114,24                              // jb            287f <_sk_load_tables_rgb_u16_be_sse2+0x1bd>
37433  .byte  102,67,15,110,76,81,12              // movd          0xc(%r9,%r10,2),%xmm1
37434  .byte  102,67,15,196,76,81,16,2            // pinsrw        $0x2,0x10(%r9,%r10,2),%xmm1
37435  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
37436  .byte  233,123,254,255,255                 // jmpq          26fa <_sk_load_tables_rgb_u16_be_sse2+0x38>
37437  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
37438  .byte  233,114,254,255,255                 // jmpq          26fa <_sk_load_tables_rgb_u16_be_sse2+0x38>
37439
37440HIDDEN _sk_byte_tables_sse2
37441.globl _sk_byte_tables_sse2
37442FUNCTION(_sk_byte_tables_sse2)
37443_sk_byte_tables_sse2:
37444  .byte  85                                  // push          %rbp
37445  .byte  65,87                               // push          %r15
37446  .byte  65,86                               // push          %r14
37447  .byte  83                                  // push          %rbx
37448  .byte  72,173                              // lods          %ds:(%rsi),%rax
37449  .byte  68,15,40,5,8,63,0,0                 // movaps        0x3f08(%rip),%xmm8        # 67a0 <_sk_callback_sse2+0x704>
37450  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
37451  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
37452  .byte  102,73,15,126,193                   // movq          %xmm0,%r9
37453  .byte  69,137,202                          // mov           %r9d,%r10d
37454  .byte  77,137,203                          // mov           %r9,%r11
37455  .byte  73,193,235,32                       // shr           $0x20,%r11
37456  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
37457  .byte  102,73,15,126,193                   // movq          %xmm0,%r9
37458  .byte  69,137,206                          // mov           %r9d,%r14d
37459  .byte  77,137,207                          // mov           %r9,%r15
37460  .byte  73,193,239,32                       // shr           $0x20,%r15
37461  .byte  72,139,24                           // mov           (%rax),%rbx
37462  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
37463  .byte  70,15,182,52,51                     // movzbl        (%rbx,%r14,1),%r14d
37464  .byte  66,15,182,44,59                     // movzbl        (%rbx,%r15,1),%ebp
37465  .byte  193,229,8                           // shl           $0x8,%ebp
37466  .byte  68,9,245                            // or            %r14d,%ebp
37467  .byte  70,15,182,20,19                     // movzbl        (%rbx,%r10,1),%r10d
37468  .byte  66,15,182,28,27                     // movzbl        (%rbx,%r11,1),%ebx
37469  .byte  193,227,8                           // shl           $0x8,%ebx
37470  .byte  68,9,211                            // or            %r10d,%ebx
37471  .byte  102,15,196,195,0                    // pinsrw        $0x0,%ebx,%xmm0
37472  .byte  102,15,196,197,1                    // pinsrw        $0x1,%ebp,%xmm0
37473  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
37474  .byte  102,65,15,96,193                    // punpcklbw     %xmm9,%xmm0
37475  .byte  102,65,15,97,193                    // punpcklwd     %xmm9,%xmm0
37476  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
37477  .byte  68,15,40,21,162,62,0,0              // movaps        0x3ea2(%rip),%xmm10        # 67b0 <_sk_callback_sse2+0x714>
37478  .byte  65,15,89,194                        // mulps         %xmm10,%xmm0
37479  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
37480  .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
37481  .byte  102,72,15,126,205                   // movq          %xmm1,%rbp
37482  .byte  65,137,234                          // mov           %ebp,%r10d
37483  .byte  72,193,237,32                       // shr           $0x20,%rbp
37484  .byte  102,15,112,201,78                   // pshufd        $0x4e,%xmm1,%xmm1
37485  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
37486  .byte  65,137,219                          // mov           %ebx,%r11d
37487  .byte  72,193,235,32                       // shr           $0x20,%rbx
37488  .byte  71,15,182,28,25                     // movzbl        (%r9,%r11,1),%r11d
37489  .byte  65,15,182,28,25                     // movzbl        (%r9,%rbx,1),%ebx
37490  .byte  193,227,8                           // shl           $0x8,%ebx
37491  .byte  68,9,219                            // or            %r11d,%ebx
37492  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
37493  .byte  65,15,182,44,41                     // movzbl        (%r9,%rbp,1),%ebp
37494  .byte  193,229,8                           // shl           $0x8,%ebp
37495  .byte  68,9,213                            // or            %r10d,%ebp
37496  .byte  102,15,196,205,0                    // pinsrw        $0x0,%ebp,%xmm1
37497  .byte  102,15,196,203,1                    // pinsrw        $0x1,%ebx,%xmm1
37498  .byte  102,65,15,96,201                    // punpcklbw     %xmm9,%xmm1
37499  .byte  102,65,15,97,201                    // punpcklwd     %xmm9,%xmm1
37500  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
37501  .byte  65,15,89,202                        // mulps         %xmm10,%xmm1
37502  .byte  76,139,80,16                        // mov           0x10(%rax),%r10
37503  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
37504  .byte  102,15,91,210                       // cvtps2dq      %xmm2,%xmm2
37505  .byte  102,72,15,126,211                   // movq          %xmm2,%rbx
37506  .byte  65,137,217                          // mov           %ebx,%r9d
37507  .byte  72,193,235,32                       // shr           $0x20,%rbx
37508  .byte  102,15,112,210,78                   // pshufd        $0x4e,%xmm2,%xmm2
37509  .byte  102,72,15,126,213                   // movq          %xmm2,%rbp
37510  .byte  65,137,235                          // mov           %ebp,%r11d
37511  .byte  72,193,237,32                       // shr           $0x20,%rbp
37512  .byte  71,15,182,28,26                     // movzbl        (%r10,%r11,1),%r11d
37513  .byte  65,15,182,44,42                     // movzbl        (%r10,%rbp,1),%ebp
37514  .byte  193,229,8                           // shl           $0x8,%ebp
37515  .byte  68,9,221                            // or            %r11d,%ebp
37516  .byte  71,15,182,12,10                     // movzbl        (%r10,%r9,1),%r9d
37517  .byte  65,15,182,28,26                     // movzbl        (%r10,%rbx,1),%ebx
37518  .byte  193,227,8                           // shl           $0x8,%ebx
37519  .byte  68,9,203                            // or            %r9d,%ebx
37520  .byte  102,15,196,211,0                    // pinsrw        $0x0,%ebx,%xmm2
37521  .byte  102,15,196,213,1                    // pinsrw        $0x1,%ebp,%xmm2
37522  .byte  102,65,15,96,209                    // punpcklbw     %xmm9,%xmm2
37523  .byte  102,65,15,97,209                    // punpcklwd     %xmm9,%xmm2
37524  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
37525  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
37526  .byte  72,139,64,24                        // mov           0x18(%rax),%rax
37527  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
37528  .byte  102,15,91,219                       // cvtps2dq      %xmm3,%xmm3
37529  .byte  102,72,15,126,221                   // movq          %xmm3,%rbp
37530  .byte  65,137,233                          // mov           %ebp,%r9d
37531  .byte  72,193,237,32                       // shr           $0x20,%rbp
37532  .byte  102,15,112,219,78                   // pshufd        $0x4e,%xmm3,%xmm3
37533  .byte  102,72,15,126,219                   // movq          %xmm3,%rbx
37534  .byte  65,137,218                          // mov           %ebx,%r10d
37535  .byte  72,193,235,32                       // shr           $0x20,%rbx
37536  .byte  70,15,182,20,16                     // movzbl        (%rax,%r10,1),%r10d
37537  .byte  15,182,28,24                        // movzbl        (%rax,%rbx,1),%ebx
37538  .byte  193,227,8                           // shl           $0x8,%ebx
37539  .byte  68,9,211                            // or            %r10d,%ebx
37540  .byte  70,15,182,12,8                      // movzbl        (%rax,%r9,1),%r9d
37541  .byte  15,182,4,40                         // movzbl        (%rax,%rbp,1),%eax
37542  .byte  193,224,8                           // shl           $0x8,%eax
37543  .byte  68,9,200                            // or            %r9d,%eax
37544  .byte  102,15,196,216,0                    // pinsrw        $0x0,%eax,%xmm3
37545  .byte  102,15,196,219,1                    // pinsrw        $0x1,%ebx,%xmm3
37546  .byte  102,65,15,96,217                    // punpcklbw     %xmm9,%xmm3
37547  .byte  102,65,15,97,217                    // punpcklwd     %xmm9,%xmm3
37548  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
37549  .byte  65,15,89,218                        // mulps         %xmm10,%xmm3
37550  .byte  72,173                              // lods          %ds:(%rsi),%rax
37551  .byte  91                                  // pop           %rbx
37552  .byte  65,94                               // pop           %r14
37553  .byte  65,95                               // pop           %r15
37554  .byte  93                                  // pop           %rbp
37555  .byte  255,224                             // jmpq          *%rax
37556
37557HIDDEN _sk_byte_tables_rgb_sse2
37558.globl _sk_byte_tables_rgb_sse2
37559FUNCTION(_sk_byte_tables_rgb_sse2)
37560_sk_byte_tables_rgb_sse2:
37561  .byte  85                                  // push          %rbp
37562  .byte  65,87                               // push          %r15
37563  .byte  65,86                               // push          %r14
37564  .byte  83                                  // push          %rbx
37565  .byte  72,173                              // lods          %ds:(%rsi),%rax
37566  .byte  68,139,72,24                        // mov           0x18(%rax),%r9d
37567  .byte  65,255,201                          // dec           %r9d
37568  .byte  102,69,15,110,193                   // movd          %r9d,%xmm8
37569  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
37570  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
37571  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
37572  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
37573  .byte  102,73,15,126,193                   // movq          %xmm0,%r9
37574  .byte  69,137,202                          // mov           %r9d,%r10d
37575  .byte  77,137,203                          // mov           %r9,%r11
37576  .byte  73,193,235,32                       // shr           $0x20,%r11
37577  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
37578  .byte  102,73,15,126,193                   // movq          %xmm0,%r9
37579  .byte  69,137,206                          // mov           %r9d,%r14d
37580  .byte  77,137,207                          // mov           %r9,%r15
37581  .byte  73,193,239,32                       // shr           $0x20,%r15
37582  .byte  72,139,24                           // mov           (%rax),%rbx
37583  .byte  76,139,72,8                         // mov           0x8(%rax),%r9
37584  .byte  70,15,182,52,51                     // movzbl        (%rbx,%r14,1),%r14d
37585  .byte  66,15,182,44,59                     // movzbl        (%rbx,%r15,1),%ebp
37586  .byte  193,229,8                           // shl           $0x8,%ebp
37587  .byte  68,9,245                            // or            %r14d,%ebp
37588  .byte  70,15,182,20,19                     // movzbl        (%rbx,%r10,1),%r10d
37589  .byte  66,15,182,28,27                     // movzbl        (%rbx,%r11,1),%ebx
37590  .byte  193,227,8                           // shl           $0x8,%ebx
37591  .byte  68,9,211                            // or            %r10d,%ebx
37592  .byte  102,15,196,195,0                    // pinsrw        $0x0,%ebx,%xmm0
37593  .byte  102,15,196,197,1                    // pinsrw        $0x1,%ebp,%xmm0
37594  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
37595  .byte  102,65,15,96,193                    // punpcklbw     %xmm9,%xmm0
37596  .byte  102,65,15,97,193                    // punpcklwd     %xmm9,%xmm0
37597  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
37598  .byte  68,15,40,21,234,60,0,0              // movaps        0x3cea(%rip),%xmm10        # 67c0 <_sk_callback_sse2+0x724>
37599  .byte  65,15,89,194                        // mulps         %xmm10,%xmm0
37600  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
37601  .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
37602  .byte  102,72,15,126,205                   // movq          %xmm1,%rbp
37603  .byte  65,137,234                          // mov           %ebp,%r10d
37604  .byte  72,193,237,32                       // shr           $0x20,%rbp
37605  .byte  102,15,112,201,78                   // pshufd        $0x4e,%xmm1,%xmm1
37606  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
37607  .byte  65,137,219                          // mov           %ebx,%r11d
37608  .byte  72,193,235,32                       // shr           $0x20,%rbx
37609  .byte  71,15,182,28,25                     // movzbl        (%r9,%r11,1),%r11d
37610  .byte  65,15,182,28,25                     // movzbl        (%r9,%rbx,1),%ebx
37611  .byte  193,227,8                           // shl           $0x8,%ebx
37612  .byte  68,9,219                            // or            %r11d,%ebx
37613  .byte  71,15,182,20,17                     // movzbl        (%r9,%r10,1),%r10d
37614  .byte  65,15,182,44,41                     // movzbl        (%r9,%rbp,1),%ebp
37615  .byte  193,229,8                           // shl           $0x8,%ebp
37616  .byte  68,9,213                            // or            %r10d,%ebp
37617  .byte  102,15,196,205,0                    // pinsrw        $0x0,%ebp,%xmm1
37618  .byte  102,15,196,203,1                    // pinsrw        $0x1,%ebx,%xmm1
37619  .byte  102,65,15,96,201                    // punpcklbw     %xmm9,%xmm1
37620  .byte  102,65,15,97,201                    // punpcklwd     %xmm9,%xmm1
37621  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
37622  .byte  65,15,89,202                        // mulps         %xmm10,%xmm1
37623  .byte  72,139,64,16                        // mov           0x10(%rax),%rax
37624  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
37625  .byte  102,15,91,210                       // cvtps2dq      %xmm2,%xmm2
37626  .byte  102,72,15,126,213                   // movq          %xmm2,%rbp
37627  .byte  65,137,233                          // mov           %ebp,%r9d
37628  .byte  72,193,237,32                       // shr           $0x20,%rbp
37629  .byte  102,15,112,210,78                   // pshufd        $0x4e,%xmm2,%xmm2
37630  .byte  102,72,15,126,211                   // movq          %xmm2,%rbx
37631  .byte  65,137,218                          // mov           %ebx,%r10d
37632  .byte  72,193,235,32                       // shr           $0x20,%rbx
37633  .byte  70,15,182,20,16                     // movzbl        (%rax,%r10,1),%r10d
37634  .byte  15,182,28,24                        // movzbl        (%rax,%rbx,1),%ebx
37635  .byte  193,227,8                           // shl           $0x8,%ebx
37636  .byte  68,9,211                            // or            %r10d,%ebx
37637  .byte  70,15,182,12,8                      // movzbl        (%rax,%r9,1),%r9d
37638  .byte  15,182,4,40                         // movzbl        (%rax,%rbp,1),%eax
37639  .byte  193,224,8                           // shl           $0x8,%eax
37640  .byte  68,9,200                            // or            %r9d,%eax
37641  .byte  102,15,196,208,0                    // pinsrw        $0x0,%eax,%xmm2
37642  .byte  102,15,196,211,1                    // pinsrw        $0x1,%ebx,%xmm2
37643  .byte  102,65,15,96,209                    // punpcklbw     %xmm9,%xmm2
37644  .byte  102,65,15,97,209                    // punpcklwd     %xmm9,%xmm2
37645  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
37646  .byte  65,15,89,210                        // mulps         %xmm10,%xmm2
37647  .byte  72,173                              // lods          %ds:(%rsi),%rax
37648  .byte  91                                  // pop           %rbx
37649  .byte  65,94                               // pop           %r14
37650  .byte  65,95                               // pop           %r15
37651  .byte  93                                  // pop           %rbp
37652  .byte  255,224                             // jmpq          *%rax
37653
37654HIDDEN _sk_table_r_sse2
37655.globl _sk_table_r_sse2
37656FUNCTION(_sk_table_r_sse2)
37657_sk_table_r_sse2:
37658  .byte  83                                  // push          %rbx
37659  .byte  72,173                              // lods          %ds:(%rsi),%rax
37660  .byte  76,139,8                            // mov           (%rax),%r9
37661  .byte  139,64,8                            // mov           0x8(%rax),%eax
37662  .byte  255,200                             // dec           %eax
37663  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
37664  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
37665  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
37666  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
37667  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
37668  .byte  102,65,15,112,192,78                // pshufd        $0x4e,%xmm8,%xmm0
37669  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
37670  .byte  65,137,194                          // mov           %eax,%r10d
37671  .byte  72,193,232,32                       // shr           $0x20,%rax
37672  .byte  102,77,15,126,195                   // movq          %xmm8,%r11
37673  .byte  68,137,219                          // mov           %r11d,%ebx
37674  .byte  73,193,235,32                       // shr           $0x20,%r11
37675  .byte  243,71,15,16,4,153                  // movss         (%r9,%r11,4),%xmm8
37676  .byte  243,65,15,16,4,129                  // movss         (%r9,%rax,4),%xmm0
37677  .byte  68,15,20,192                        // unpcklps      %xmm0,%xmm8
37678  .byte  243,65,15,16,4,153                  // movss         (%r9,%rbx,4),%xmm0
37679  .byte  243,71,15,16,12,145                 // movss         (%r9,%r10,4),%xmm9
37680  .byte  65,15,20,193                        // unpcklps      %xmm9,%xmm0
37681  .byte  65,15,20,192                        // unpcklps      %xmm8,%xmm0
37682  .byte  72,173                              // lods          %ds:(%rsi),%rax
37683  .byte  91                                  // pop           %rbx
37684  .byte  255,224                             // jmpq          *%rax
37685
37686HIDDEN _sk_table_g_sse2
37687.globl _sk_table_g_sse2
37688FUNCTION(_sk_table_g_sse2)
37689_sk_table_g_sse2:
37690  .byte  83                                  // push          %rbx
37691  .byte  72,173                              // lods          %ds:(%rsi),%rax
37692  .byte  76,139,8                            // mov           (%rax),%r9
37693  .byte  139,64,8                            // mov           0x8(%rax),%eax
37694  .byte  255,200                             // dec           %eax
37695  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
37696  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
37697  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
37698  .byte  68,15,89,193                        // mulps         %xmm1,%xmm8
37699  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
37700  .byte  102,65,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm1
37701  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
37702  .byte  65,137,194                          // mov           %eax,%r10d
37703  .byte  72,193,232,32                       // shr           $0x20,%rax
37704  .byte  102,77,15,126,195                   // movq          %xmm8,%r11
37705  .byte  68,137,219                          // mov           %r11d,%ebx
37706  .byte  73,193,235,32                       // shr           $0x20,%r11
37707  .byte  243,71,15,16,4,153                  // movss         (%r9,%r11,4),%xmm8
37708  .byte  243,65,15,16,12,129                 // movss         (%r9,%rax,4),%xmm1
37709  .byte  68,15,20,193                        // unpcklps      %xmm1,%xmm8
37710  .byte  243,65,15,16,12,153                 // movss         (%r9,%rbx,4),%xmm1
37711  .byte  243,71,15,16,12,145                 // movss         (%r9,%r10,4),%xmm9
37712  .byte  65,15,20,201                        // unpcklps      %xmm9,%xmm1
37713  .byte  65,15,20,200                        // unpcklps      %xmm8,%xmm1
37714  .byte  72,173                              // lods          %ds:(%rsi),%rax
37715  .byte  91                                  // pop           %rbx
37716  .byte  255,224                             // jmpq          *%rax
37717
37718HIDDEN _sk_table_b_sse2
37719.globl _sk_table_b_sse2
37720FUNCTION(_sk_table_b_sse2)
37721_sk_table_b_sse2:
37722  .byte  83                                  // push          %rbx
37723  .byte  72,173                              // lods          %ds:(%rsi),%rax
37724  .byte  76,139,8                            // mov           (%rax),%r9
37725  .byte  139,64,8                            // mov           0x8(%rax),%eax
37726  .byte  255,200                             // dec           %eax
37727  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
37728  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
37729  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
37730  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
37731  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
37732  .byte  102,65,15,112,208,78                // pshufd        $0x4e,%xmm8,%xmm2
37733  .byte  102,72,15,126,208                   // movq          %xmm2,%rax
37734  .byte  65,137,194                          // mov           %eax,%r10d
37735  .byte  72,193,232,32                       // shr           $0x20,%rax
37736  .byte  102,77,15,126,195                   // movq          %xmm8,%r11
37737  .byte  68,137,219                          // mov           %r11d,%ebx
37738  .byte  73,193,235,32                       // shr           $0x20,%r11
37739  .byte  243,71,15,16,4,153                  // movss         (%r9,%r11,4),%xmm8
37740  .byte  243,65,15,16,20,129                 // movss         (%r9,%rax,4),%xmm2
37741  .byte  68,15,20,194                        // unpcklps      %xmm2,%xmm8
37742  .byte  243,65,15,16,20,153                 // movss         (%r9,%rbx,4),%xmm2
37743  .byte  243,71,15,16,12,145                 // movss         (%r9,%r10,4),%xmm9
37744  .byte  65,15,20,209                        // unpcklps      %xmm9,%xmm2
37745  .byte  65,15,20,208                        // unpcklps      %xmm8,%xmm2
37746  .byte  72,173                              // lods          %ds:(%rsi),%rax
37747  .byte  91                                  // pop           %rbx
37748  .byte  255,224                             // jmpq          *%rax
37749
37750HIDDEN _sk_table_a_sse2
37751.globl _sk_table_a_sse2
37752FUNCTION(_sk_table_a_sse2)
37753_sk_table_a_sse2:
37754  .byte  83                                  // push          %rbx
37755  .byte  72,173                              // lods          %ds:(%rsi),%rax
37756  .byte  76,139,8                            // mov           (%rax),%r9
37757  .byte  139,64,8                            // mov           0x8(%rax),%eax
37758  .byte  255,200                             // dec           %eax
37759  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
37760  .byte  102,69,15,112,192,0                 // pshufd        $0x0,%xmm8,%xmm8
37761  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
37762  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
37763  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
37764  .byte  102,65,15,112,216,78                // pshufd        $0x4e,%xmm8,%xmm3
37765  .byte  102,72,15,126,216                   // movq          %xmm3,%rax
37766  .byte  65,137,194                          // mov           %eax,%r10d
37767  .byte  72,193,232,32                       // shr           $0x20,%rax
37768  .byte  102,77,15,126,195                   // movq          %xmm8,%r11
37769  .byte  68,137,219                          // mov           %r11d,%ebx
37770  .byte  73,193,235,32                       // shr           $0x20,%r11
37771  .byte  243,71,15,16,4,153                  // movss         (%r9,%r11,4),%xmm8
37772  .byte  243,65,15,16,28,129                 // movss         (%r9,%rax,4),%xmm3
37773  .byte  68,15,20,195                        // unpcklps      %xmm3,%xmm8
37774  .byte  243,65,15,16,28,153                 // movss         (%r9,%rbx,4),%xmm3
37775  .byte  243,71,15,16,12,145                 // movss         (%r9,%r10,4),%xmm9
37776  .byte  65,15,20,217                        // unpcklps      %xmm9,%xmm3
37777  .byte  65,15,20,216                        // unpcklps      %xmm8,%xmm3
37778  .byte  72,173                              // lods          %ds:(%rsi),%rax
37779  .byte  91                                  // pop           %rbx
37780  .byte  255,224                             // jmpq          *%rax
37781
37782HIDDEN _sk_parametric_r_sse2
37783.globl _sk_parametric_r_sse2
37784FUNCTION(_sk_parametric_r_sse2)
37785_sk_parametric_r_sse2:
37786  .byte  72,173                              // lods          %ds:(%rsi),%rax
37787  .byte  243,68,15,16,72,16                  // movss         0x10(%rax),%xmm9
37788  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
37789  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
37790  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
37791  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
37792  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
37793  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
37794  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
37795  .byte  65,15,194,193,2                     // cmpleps       %xmm9,%xmm0
37796  .byte  243,68,15,16,72,24                  // movss         0x18(%rax),%xmm9
37797  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
37798  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
37799  .byte  243,68,15,16,24                     // movss         (%rax),%xmm11
37800  .byte  243,68,15,16,72,8                   // movss         0x8(%rax),%xmm9
37801  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
37802  .byte  69,15,88,209                        // addps         %xmm9,%xmm10
37803  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
37804  .byte  69,15,91,202                        // cvtdq2ps      %xmm10,%xmm9
37805  .byte  68,15,89,13,30,58,0,0               // mulps         0x3a1e(%rip),%xmm9        # 67d0 <_sk_callback_sse2+0x734>
37806  .byte  68,15,84,21,38,58,0,0               // andps         0x3a26(%rip),%xmm10        # 67e0 <_sk_callback_sse2+0x744>
37807  .byte  68,15,86,21,46,58,0,0               // orps          0x3a2e(%rip),%xmm10        # 67f0 <_sk_callback_sse2+0x754>
37808  .byte  68,15,88,13,54,58,0,0               // addps         0x3a36(%rip),%xmm9        # 6800 <_sk_callback_sse2+0x764>
37809  .byte  68,15,40,37,62,58,0,0               // movaps        0x3a3e(%rip),%xmm12        # 6810 <_sk_callback_sse2+0x774>
37810  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
37811  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
37812  .byte  68,15,88,21,62,58,0,0               // addps         0x3a3e(%rip),%xmm10        # 6820 <_sk_callback_sse2+0x784>
37813  .byte  68,15,40,37,70,58,0,0               // movaps        0x3a46(%rip),%xmm12        # 6830 <_sk_callback_sse2+0x794>
37814  .byte  69,15,94,226                        // divps         %xmm10,%xmm12
37815  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
37816  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
37817  .byte  243,69,15,91,209                    // cvttps2dq     %xmm9,%xmm10
37818  .byte  69,15,91,226                        // cvtdq2ps      %xmm10,%xmm12
37819  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
37820  .byte  69,15,194,236,1                     // cmpltps       %xmm12,%xmm13
37821  .byte  68,15,40,21,48,58,0,0               // movaps        0x3a30(%rip),%xmm10        # 6840 <_sk_callback_sse2+0x7a4>
37822  .byte  69,15,84,234                        // andps         %xmm10,%xmm13
37823  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
37824  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
37825  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
37826  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
37827  .byte  68,15,88,13,36,58,0,0               // addps         0x3a24(%rip),%xmm9        # 6850 <_sk_callback_sse2+0x7b4>
37828  .byte  68,15,40,37,44,58,0,0               // movaps        0x3a2c(%rip),%xmm12        # 6860 <_sk_callback_sse2+0x7c4>
37829  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
37830  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
37831  .byte  68,15,40,37,44,58,0,0               // movaps        0x3a2c(%rip),%xmm12        # 6870 <_sk_callback_sse2+0x7d4>
37832  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
37833  .byte  68,15,40,45,48,58,0,0               // movaps        0x3a30(%rip),%xmm13        # 6880 <_sk_callback_sse2+0x7e4>
37834  .byte  69,15,94,236                        // divps         %xmm12,%xmm13
37835  .byte  69,15,88,233                        // addps         %xmm9,%xmm13
37836  .byte  68,15,89,45,48,58,0,0               // mulps         0x3a30(%rip),%xmm13        # 6890 <_sk_callback_sse2+0x7f4>
37837  .byte  102,69,15,91,205                    // cvtps2dq      %xmm13,%xmm9
37838  .byte  243,68,15,16,96,20                  // movss         0x14(%rax),%xmm12
37839  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
37840  .byte  69,15,88,225                        // addps         %xmm9,%xmm12
37841  .byte  68,15,84,192                        // andps         %xmm0,%xmm8
37842  .byte  65,15,85,196                        // andnps        %xmm12,%xmm0
37843  .byte  65,15,86,192                        // orps          %xmm8,%xmm0
37844  .byte  65,15,95,195                        // maxps         %xmm11,%xmm0
37845  .byte  65,15,93,194                        // minps         %xmm10,%xmm0
37846  .byte  72,173                              // lods          %ds:(%rsi),%rax
37847  .byte  255,224                             // jmpq          *%rax
37848
37849HIDDEN _sk_parametric_g_sse2
37850.globl _sk_parametric_g_sse2
37851FUNCTION(_sk_parametric_g_sse2)
37852_sk_parametric_g_sse2:
37853  .byte  72,173                              // lods          %ds:(%rsi),%rax
37854  .byte  243,68,15,16,72,16                  // movss         0x10(%rax),%xmm9
37855  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
37856  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
37857  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
37858  .byte  68,15,89,193                        // mulps         %xmm1,%xmm8
37859  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
37860  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
37861  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
37862  .byte  65,15,194,201,2                     // cmpleps       %xmm9,%xmm1
37863  .byte  243,68,15,16,72,24                  // movss         0x18(%rax),%xmm9
37864  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
37865  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
37866  .byte  243,68,15,16,24                     // movss         (%rax),%xmm11
37867  .byte  243,68,15,16,72,8                   // movss         0x8(%rax),%xmm9
37868  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
37869  .byte  69,15,88,209                        // addps         %xmm9,%xmm10
37870  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
37871  .byte  69,15,91,202                        // cvtdq2ps      %xmm10,%xmm9
37872  .byte  68,15,89,13,176,57,0,0              // mulps         0x39b0(%rip),%xmm9        # 68a0 <_sk_callback_sse2+0x804>
37873  .byte  68,15,84,21,184,57,0,0              // andps         0x39b8(%rip),%xmm10        # 68b0 <_sk_callback_sse2+0x814>
37874  .byte  68,15,86,21,192,57,0,0              // orps          0x39c0(%rip),%xmm10        # 68c0 <_sk_callback_sse2+0x824>
37875  .byte  68,15,88,13,200,57,0,0              // addps         0x39c8(%rip),%xmm9        # 68d0 <_sk_callback_sse2+0x834>
37876  .byte  68,15,40,37,208,57,0,0              // movaps        0x39d0(%rip),%xmm12        # 68e0 <_sk_callback_sse2+0x844>
37877  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
37878  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
37879  .byte  68,15,88,21,208,57,0,0              // addps         0x39d0(%rip),%xmm10        # 68f0 <_sk_callback_sse2+0x854>
37880  .byte  68,15,40,37,216,57,0,0              // movaps        0x39d8(%rip),%xmm12        # 6900 <_sk_callback_sse2+0x864>
37881  .byte  69,15,94,226                        // divps         %xmm10,%xmm12
37882  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
37883  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
37884  .byte  243,69,15,91,209                    // cvttps2dq     %xmm9,%xmm10
37885  .byte  69,15,91,226                        // cvtdq2ps      %xmm10,%xmm12
37886  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
37887  .byte  69,15,194,236,1                     // cmpltps       %xmm12,%xmm13
37888  .byte  68,15,40,21,194,57,0,0              // movaps        0x39c2(%rip),%xmm10        # 6910 <_sk_callback_sse2+0x874>
37889  .byte  69,15,84,234                        // andps         %xmm10,%xmm13
37890  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
37891  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
37892  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
37893  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
37894  .byte  68,15,88,13,182,57,0,0              // addps         0x39b6(%rip),%xmm9        # 6920 <_sk_callback_sse2+0x884>
37895  .byte  68,15,40,37,190,57,0,0              // movaps        0x39be(%rip),%xmm12        # 6930 <_sk_callback_sse2+0x894>
37896  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
37897  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
37898  .byte  68,15,40,37,190,57,0,0              // movaps        0x39be(%rip),%xmm12        # 6940 <_sk_callback_sse2+0x8a4>
37899  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
37900  .byte  68,15,40,45,194,57,0,0              // movaps        0x39c2(%rip),%xmm13        # 6950 <_sk_callback_sse2+0x8b4>
37901  .byte  69,15,94,236                        // divps         %xmm12,%xmm13
37902  .byte  69,15,88,233                        // addps         %xmm9,%xmm13
37903  .byte  68,15,89,45,194,57,0,0              // mulps         0x39c2(%rip),%xmm13        # 6960 <_sk_callback_sse2+0x8c4>
37904  .byte  102,69,15,91,205                    // cvtps2dq      %xmm13,%xmm9
37905  .byte  243,68,15,16,96,20                  // movss         0x14(%rax),%xmm12
37906  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
37907  .byte  69,15,88,225                        // addps         %xmm9,%xmm12
37908  .byte  68,15,84,193                        // andps         %xmm1,%xmm8
37909  .byte  65,15,85,204                        // andnps        %xmm12,%xmm1
37910  .byte  65,15,86,200                        // orps          %xmm8,%xmm1
37911  .byte  65,15,95,203                        // maxps         %xmm11,%xmm1
37912  .byte  65,15,93,202                        // minps         %xmm10,%xmm1
37913  .byte  72,173                              // lods          %ds:(%rsi),%rax
37914  .byte  255,224                             // jmpq          *%rax
37915
37916HIDDEN _sk_parametric_b_sse2
37917.globl _sk_parametric_b_sse2
37918FUNCTION(_sk_parametric_b_sse2)
37919_sk_parametric_b_sse2:
37920  .byte  72,173                              // lods          %ds:(%rsi),%rax
37921  .byte  243,68,15,16,72,16                  // movss         0x10(%rax),%xmm9
37922  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
37923  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
37924  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
37925  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
37926  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
37927  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
37928  .byte  68,15,89,210                        // mulps         %xmm2,%xmm10
37929  .byte  65,15,194,209,2                     // cmpleps       %xmm9,%xmm2
37930  .byte  243,68,15,16,72,24                  // movss         0x18(%rax),%xmm9
37931  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
37932  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
37933  .byte  243,68,15,16,24                     // movss         (%rax),%xmm11
37934  .byte  243,68,15,16,72,8                   // movss         0x8(%rax),%xmm9
37935  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
37936  .byte  69,15,88,209                        // addps         %xmm9,%xmm10
37937  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
37938  .byte  69,15,91,202                        // cvtdq2ps      %xmm10,%xmm9
37939  .byte  68,15,89,13,66,57,0,0               // mulps         0x3942(%rip),%xmm9        # 6970 <_sk_callback_sse2+0x8d4>
37940  .byte  68,15,84,21,74,57,0,0               // andps         0x394a(%rip),%xmm10        # 6980 <_sk_callback_sse2+0x8e4>
37941  .byte  68,15,86,21,82,57,0,0               // orps          0x3952(%rip),%xmm10        # 6990 <_sk_callback_sse2+0x8f4>
37942  .byte  68,15,88,13,90,57,0,0               // addps         0x395a(%rip),%xmm9        # 69a0 <_sk_callback_sse2+0x904>
37943  .byte  68,15,40,37,98,57,0,0               // movaps        0x3962(%rip),%xmm12        # 69b0 <_sk_callback_sse2+0x914>
37944  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
37945  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
37946  .byte  68,15,88,21,98,57,0,0               // addps         0x3962(%rip),%xmm10        # 69c0 <_sk_callback_sse2+0x924>
37947  .byte  68,15,40,37,106,57,0,0              // movaps        0x396a(%rip),%xmm12        # 69d0 <_sk_callback_sse2+0x934>
37948  .byte  69,15,94,226                        // divps         %xmm10,%xmm12
37949  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
37950  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
37951  .byte  243,69,15,91,209                    // cvttps2dq     %xmm9,%xmm10
37952  .byte  69,15,91,226                        // cvtdq2ps      %xmm10,%xmm12
37953  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
37954  .byte  69,15,194,236,1                     // cmpltps       %xmm12,%xmm13
37955  .byte  68,15,40,21,84,57,0,0               // movaps        0x3954(%rip),%xmm10        # 69e0 <_sk_callback_sse2+0x944>
37956  .byte  69,15,84,234                        // andps         %xmm10,%xmm13
37957  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
37958  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
37959  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
37960  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
37961  .byte  68,15,88,13,72,57,0,0               // addps         0x3948(%rip),%xmm9        # 69f0 <_sk_callback_sse2+0x954>
37962  .byte  68,15,40,37,80,57,0,0               // movaps        0x3950(%rip),%xmm12        # 6a00 <_sk_callback_sse2+0x964>
37963  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
37964  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
37965  .byte  68,15,40,37,80,57,0,0               // movaps        0x3950(%rip),%xmm12        # 6a10 <_sk_callback_sse2+0x974>
37966  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
37967  .byte  68,15,40,45,84,57,0,0               // movaps        0x3954(%rip),%xmm13        # 6a20 <_sk_callback_sse2+0x984>
37968  .byte  69,15,94,236                        // divps         %xmm12,%xmm13
37969  .byte  69,15,88,233                        // addps         %xmm9,%xmm13
37970  .byte  68,15,89,45,84,57,0,0               // mulps         0x3954(%rip),%xmm13        # 6a30 <_sk_callback_sse2+0x994>
37971  .byte  102,69,15,91,205                    // cvtps2dq      %xmm13,%xmm9
37972  .byte  243,68,15,16,96,20                  // movss         0x14(%rax),%xmm12
37973  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
37974  .byte  69,15,88,225                        // addps         %xmm9,%xmm12
37975  .byte  68,15,84,194                        // andps         %xmm2,%xmm8
37976  .byte  65,15,85,212                        // andnps        %xmm12,%xmm2
37977  .byte  65,15,86,208                        // orps          %xmm8,%xmm2
37978  .byte  65,15,95,211                        // maxps         %xmm11,%xmm2
37979  .byte  65,15,93,210                        // minps         %xmm10,%xmm2
37980  .byte  72,173                              // lods          %ds:(%rsi),%rax
37981  .byte  255,224                             // jmpq          *%rax
37982
37983HIDDEN _sk_parametric_a_sse2
37984.globl _sk_parametric_a_sse2
37985FUNCTION(_sk_parametric_a_sse2)
37986_sk_parametric_a_sse2:
37987  .byte  72,173                              // lods          %ds:(%rsi),%rax
37988  .byte  243,68,15,16,72,16                  // movss         0x10(%rax),%xmm9
37989  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
37990  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
37991  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
37992  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
37993  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
37994  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
37995  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
37996  .byte  65,15,194,217,2                     // cmpleps       %xmm9,%xmm3
37997  .byte  243,68,15,16,72,24                  // movss         0x18(%rax),%xmm9
37998  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
37999  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
38000  .byte  243,68,15,16,24                     // movss         (%rax),%xmm11
38001  .byte  243,68,15,16,72,8                   // movss         0x8(%rax),%xmm9
38002  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
38003  .byte  69,15,88,209                        // addps         %xmm9,%xmm10
38004  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
38005  .byte  69,15,91,202                        // cvtdq2ps      %xmm10,%xmm9
38006  .byte  68,15,89,13,212,56,0,0              // mulps         0x38d4(%rip),%xmm9        # 6a40 <_sk_callback_sse2+0x9a4>
38007  .byte  68,15,84,21,220,56,0,0              // andps         0x38dc(%rip),%xmm10        # 6a50 <_sk_callback_sse2+0x9b4>
38008  .byte  68,15,86,21,228,56,0,0              // orps          0x38e4(%rip),%xmm10        # 6a60 <_sk_callback_sse2+0x9c4>
38009  .byte  68,15,88,13,236,56,0,0              // addps         0x38ec(%rip),%xmm9        # 6a70 <_sk_callback_sse2+0x9d4>
38010  .byte  68,15,40,37,244,56,0,0              // movaps        0x38f4(%rip),%xmm12        # 6a80 <_sk_callback_sse2+0x9e4>
38011  .byte  69,15,89,226                        // mulps         %xmm10,%xmm12
38012  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
38013  .byte  68,15,88,21,244,56,0,0              // addps         0x38f4(%rip),%xmm10        # 6a90 <_sk_callback_sse2+0x9f4>
38014  .byte  68,15,40,37,252,56,0,0              // movaps        0x38fc(%rip),%xmm12        # 6aa0 <_sk_callback_sse2+0xa04>
38015  .byte  69,15,94,226                        // divps         %xmm10,%xmm12
38016  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
38017  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
38018  .byte  243,69,15,91,209                    // cvttps2dq     %xmm9,%xmm10
38019  .byte  69,15,91,226                        // cvtdq2ps      %xmm10,%xmm12
38020  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
38021  .byte  69,15,194,236,1                     // cmpltps       %xmm12,%xmm13
38022  .byte  68,15,40,21,230,56,0,0              // movaps        0x38e6(%rip),%xmm10        # 6ab0 <_sk_callback_sse2+0xa14>
38023  .byte  69,15,84,234                        // andps         %xmm10,%xmm13
38024  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
38025  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
38026  .byte  69,15,40,233                        // movaps        %xmm9,%xmm13
38027  .byte  69,15,92,236                        // subps         %xmm12,%xmm13
38028  .byte  68,15,88,13,218,56,0,0              // addps         0x38da(%rip),%xmm9        # 6ac0 <_sk_callback_sse2+0xa24>
38029  .byte  68,15,40,37,226,56,0,0              // movaps        0x38e2(%rip),%xmm12        # 6ad0 <_sk_callback_sse2+0xa34>
38030  .byte  69,15,89,229                        // mulps         %xmm13,%xmm12
38031  .byte  69,15,92,204                        // subps         %xmm12,%xmm9
38032  .byte  68,15,40,37,226,56,0,0              // movaps        0x38e2(%rip),%xmm12        # 6ae0 <_sk_callback_sse2+0xa44>
38033  .byte  69,15,92,229                        // subps         %xmm13,%xmm12
38034  .byte  68,15,40,45,230,56,0,0              // movaps        0x38e6(%rip),%xmm13        # 6af0 <_sk_callback_sse2+0xa54>
38035  .byte  69,15,94,236                        // divps         %xmm12,%xmm13
38036  .byte  69,15,88,233                        // addps         %xmm9,%xmm13
38037  .byte  68,15,89,45,230,56,0,0              // mulps         0x38e6(%rip),%xmm13        # 6b00 <_sk_callback_sse2+0xa64>
38038  .byte  102,69,15,91,205                    // cvtps2dq      %xmm13,%xmm9
38039  .byte  243,68,15,16,96,20                  // movss         0x14(%rax),%xmm12
38040  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
38041  .byte  69,15,88,225                        // addps         %xmm9,%xmm12
38042  .byte  68,15,84,195                        // andps         %xmm3,%xmm8
38043  .byte  65,15,85,220                        // andnps        %xmm12,%xmm3
38044  .byte  65,15,86,216                        // orps          %xmm8,%xmm3
38045  .byte  65,15,95,219                        // maxps         %xmm11,%xmm3
38046  .byte  65,15,93,218                        // minps         %xmm10,%xmm3
38047  .byte  72,173                              // lods          %ds:(%rsi),%rax
38048  .byte  255,224                             // jmpq          *%rax
38049
38050HIDDEN _sk_lab_to_xyz_sse2
38051.globl _sk_lab_to_xyz_sse2
38052FUNCTION(_sk_lab_to_xyz_sse2)
38053_sk_lab_to_xyz_sse2:
38054  .byte  15,89,5,195,56,0,0                  // mulps         0x38c3(%rip),%xmm0        # 6b10 <_sk_callback_sse2+0xa74>
38055  .byte  68,15,40,5,203,56,0,0               // movaps        0x38cb(%rip),%xmm8        # 6b20 <_sk_callback_sse2+0xa84>
38056  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
38057  .byte  68,15,40,13,207,56,0,0              // movaps        0x38cf(%rip),%xmm9        # 6b30 <_sk_callback_sse2+0xa94>
38058  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
38059  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
38060  .byte  65,15,88,209                        // addps         %xmm9,%xmm2
38061  .byte  15,88,5,204,56,0,0                  // addps         0x38cc(%rip),%xmm0        # 6b40 <_sk_callback_sse2+0xaa4>
38062  .byte  15,89,5,213,56,0,0                  // mulps         0x38d5(%rip),%xmm0        # 6b50 <_sk_callback_sse2+0xab4>
38063  .byte  15,89,13,222,56,0,0                 // mulps         0x38de(%rip),%xmm1        # 6b60 <_sk_callback_sse2+0xac4>
38064  .byte  15,88,200                           // addps         %xmm0,%xmm1
38065  .byte  15,89,21,228,56,0,0                 // mulps         0x38e4(%rip),%xmm2        # 6b70 <_sk_callback_sse2+0xad4>
38066  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
38067  .byte  68,15,92,202                        // subps         %xmm2,%xmm9
38068  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
38069  .byte  69,15,89,228                        // mulps         %xmm12,%xmm12
38070  .byte  68,15,89,225                        // mulps         %xmm1,%xmm12
38071  .byte  15,40,21,217,56,0,0                 // movaps        0x38d9(%rip),%xmm2        # 6b80 <_sk_callback_sse2+0xae4>
38072  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
38073  .byte  69,15,194,196,1                     // cmpltps       %xmm12,%xmm8
38074  .byte  68,15,40,21,216,56,0,0              // movaps        0x38d8(%rip),%xmm10        # 6b90 <_sk_callback_sse2+0xaf4>
38075  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
38076  .byte  68,15,40,29,220,56,0,0              // movaps        0x38dc(%rip),%xmm11        # 6ba0 <_sk_callback_sse2+0xb04>
38077  .byte  65,15,89,203                        // mulps         %xmm11,%xmm1
38078  .byte  69,15,84,224                        // andps         %xmm8,%xmm12
38079  .byte  68,15,85,193                        // andnps        %xmm1,%xmm8
38080  .byte  69,15,86,196                        // orps          %xmm12,%xmm8
38081  .byte  68,15,40,224                        // movaps        %xmm0,%xmm12
38082  .byte  69,15,89,228                        // mulps         %xmm12,%xmm12
38083  .byte  68,15,89,224                        // mulps         %xmm0,%xmm12
38084  .byte  15,40,202                           // movaps        %xmm2,%xmm1
38085  .byte  65,15,194,204,1                     // cmpltps       %xmm12,%xmm1
38086  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
38087  .byte  65,15,89,195                        // mulps         %xmm11,%xmm0
38088  .byte  68,15,84,225                        // andps         %xmm1,%xmm12
38089  .byte  15,85,200                           // andnps        %xmm0,%xmm1
38090  .byte  65,15,86,204                        // orps          %xmm12,%xmm1
38091  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
38092  .byte  15,89,192                           // mulps         %xmm0,%xmm0
38093  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
38094  .byte  15,194,208,1                        // cmpltps       %xmm0,%xmm2
38095  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
38096  .byte  69,15,89,203                        // mulps         %xmm11,%xmm9
38097  .byte  15,84,194                           // andps         %xmm2,%xmm0
38098  .byte  65,15,85,209                        // andnps        %xmm9,%xmm2
38099  .byte  15,86,208                           // orps          %xmm0,%xmm2
38100  .byte  68,15,89,5,140,56,0,0               // mulps         0x388c(%rip),%xmm8        # 6bb0 <_sk_callback_sse2+0xb14>
38101  .byte  15,89,21,149,56,0,0                 // mulps         0x3895(%rip),%xmm2        # 6bc0 <_sk_callback_sse2+0xb24>
38102  .byte  72,173                              // lods          %ds:(%rsi),%rax
38103  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
38104  .byte  255,224                             // jmpq          *%rax
38105
38106HIDDEN _sk_load_a8_sse2
38107.globl _sk_load_a8_sse2
38108FUNCTION(_sk_load_a8_sse2)
38109_sk_load_a8_sse2:
38110  .byte  72,173                              // lods          %ds:(%rsi),%rax
38111  .byte  76,139,16                           // mov           (%rax),%r10
38112  .byte  77,133,192                          // test          %r8,%r8
38113  .byte  117,46                              // jne           336b <_sk_load_a8_sse2+0x38>
38114  .byte  102,65,15,110,4,18                  // movd          (%r10,%rdx,1),%xmm0
38115  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
38116  .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
38117  .byte  102,15,219,5,125,56,0,0             // pand          0x387d(%rip),%xmm0        # 6bd0 <_sk_callback_sse2+0xb34>
38118  .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
38119  .byte  15,89,29,131,56,0,0                 // mulps         0x3883(%rip),%xmm3        # 6be0 <_sk_callback_sse2+0xb44>
38120  .byte  72,173                              // lods          %ds:(%rsi),%rax
38121  .byte  15,87,192                           // xorps         %xmm0,%xmm0
38122  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
38123  .byte  15,87,210                           // xorps         %xmm2,%xmm2
38124  .byte  255,224                             // jmpq          *%rax
38125  .byte  69,137,193                          // mov           %r8d,%r9d
38126  .byte  65,128,225,3                        // and           $0x3,%r9b
38127  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38128  .byte  116,54                              // je            33ae <_sk_load_a8_sse2+0x7b>
38129  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
38130  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38131  .byte  116,21                              // je            3397 <_sk_load_a8_sse2+0x64>
38132  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38133  .byte  117,195                             // jne           334b <_sk_load_a8_sse2+0x18>
38134  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
38135  .byte  102,15,110,192                      // movd          %eax,%xmm0
38136  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
38137  .byte  65,15,183,4,18                      // movzwl        (%r10,%rdx,1),%eax
38138  .byte  102,15,110,200                      // movd          %eax,%xmm1
38139  .byte  102,15,96,200                       // punpcklbw     %xmm0,%xmm1
38140  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
38141  .byte  242,15,16,193                       // movsd         %xmm1,%xmm0
38142  .byte  235,157                             // jmp           334b <_sk_load_a8_sse2+0x18>
38143  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
38144  .byte  102,15,110,192                      // movd          %eax,%xmm0
38145  .byte  235,146                             // jmp           334b <_sk_load_a8_sse2+0x18>
38146
38147HIDDEN _sk_load_a8_dst_sse2
38148.globl _sk_load_a8_dst_sse2
38149FUNCTION(_sk_load_a8_dst_sse2)
38150_sk_load_a8_dst_sse2:
38151  .byte  72,173                              // lods          %ds:(%rsi),%rax
38152  .byte  76,139,16                           // mov           (%rax),%r10
38153  .byte  77,133,192                          // test          %r8,%r8
38154  .byte  117,46                              // jne           33f1 <_sk_load_a8_dst_sse2+0x38>
38155  .byte  102,65,15,110,36,18                 // movd          (%r10,%rdx,1),%xmm4
38156  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
38157  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
38158  .byte  102,15,219,37,23,56,0,0             // pand          0x3817(%rip),%xmm4        # 6bf0 <_sk_callback_sse2+0xb54>
38159  .byte  15,91,252                           // cvtdq2ps      %xmm4,%xmm7
38160  .byte  15,89,61,29,56,0,0                  // mulps         0x381d(%rip),%xmm7        # 6c00 <_sk_callback_sse2+0xb64>
38161  .byte  72,173                              // lods          %ds:(%rsi),%rax
38162  .byte  15,87,228                           // xorps         %xmm4,%xmm4
38163  .byte  102,15,87,237                       // xorpd         %xmm5,%xmm5
38164  .byte  15,87,246                           // xorps         %xmm6,%xmm6
38165  .byte  255,224                             // jmpq          *%rax
38166  .byte  69,137,193                          // mov           %r8d,%r9d
38167  .byte  65,128,225,3                        // and           $0x3,%r9b
38168  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38169  .byte  116,54                              // je            3434 <_sk_load_a8_dst_sse2+0x7b>
38170  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
38171  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38172  .byte  116,21                              // je            341d <_sk_load_a8_dst_sse2+0x64>
38173  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38174  .byte  117,195                             // jne           33d1 <_sk_load_a8_dst_sse2+0x18>
38175  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
38176  .byte  102,15,110,224                      // movd          %eax,%xmm4
38177  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
38178  .byte  65,15,183,4,18                      // movzwl        (%r10,%rdx,1),%eax
38179  .byte  102,15,110,232                      // movd          %eax,%xmm5
38180  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
38181  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
38182  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
38183  .byte  235,157                             // jmp           33d1 <_sk_load_a8_dst_sse2+0x18>
38184  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
38185  .byte  102,15,110,224                      // movd          %eax,%xmm4
38186  .byte  235,146                             // jmp           33d1 <_sk_load_a8_dst_sse2+0x18>
38187
38188HIDDEN _sk_gather_a8_sse2
38189.globl _sk_gather_a8_sse2
38190FUNCTION(_sk_gather_a8_sse2)
38191_sk_gather_a8_sse2:
38192  .byte  85                                  // push          %rbp
38193  .byte  83                                  // push          %rbx
38194  .byte  72,173                              // lods          %ds:(%rsi),%rax
38195  .byte  76,139,8                            // mov           (%rax),%r9
38196  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
38197  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
38198  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
38199  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
38200  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
38201  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
38202  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
38203  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
38204  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
38205  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
38206  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
38207  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
38208  .byte  65,137,194                          // mov           %eax,%r10d
38209  .byte  72,193,232,32                       // shr           $0x20,%rax
38210  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
38211  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
38212  .byte  68,137,219                          // mov           %r11d,%ebx
38213  .byte  73,193,235,32                       // shr           $0x20,%r11
38214  .byte  65,15,182,44,25                     // movzbl        (%r9,%rbx,1),%ebp
38215  .byte  67,15,182,28,25                     // movzbl        (%r9,%r11,1),%ebx
38216  .byte  193,227,8                           // shl           $0x8,%ebx
38217  .byte  9,235                               // or            %ebp,%ebx
38218  .byte  67,15,182,44,17                     // movzbl        (%r9,%r10,1),%ebp
38219  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
38220  .byte  193,224,8                           // shl           $0x8,%eax
38221  .byte  9,232                               // or            %ebp,%eax
38222  .byte  102,15,196,192,0                    // pinsrw        $0x0,%eax,%xmm0
38223  .byte  102,15,196,195,1                    // pinsrw        $0x1,%ebx,%xmm0
38224  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
38225  .byte  102,15,96,193                       // punpcklbw     %xmm1,%xmm0
38226  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
38227  .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
38228  .byte  15,89,29,62,55,0,0                  // mulps         0x373e(%rip),%xmm3        # 6c10 <_sk_callback_sse2+0xb74>
38229  .byte  72,173                              // lods          %ds:(%rsi),%rax
38230  .byte  15,87,192                           // xorps         %xmm0,%xmm0
38231  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
38232  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
38233  .byte  91                                  // pop           %rbx
38234  .byte  93                                  // pop           %rbp
38235  .byte  255,224                             // jmpq          *%rax
38236
38237HIDDEN _sk_store_a8_sse2
38238.globl _sk_store_a8_sse2
38239FUNCTION(_sk_store_a8_sse2)
38240_sk_store_a8_sse2:
38241  .byte  72,173                              // lods          %ds:(%rsi),%rax
38242  .byte  76,139,16                           // mov           (%rax),%r10
38243  .byte  68,15,40,5,48,55,0,0                // movaps        0x3730(%rip),%xmm8        # 6c20 <_sk_callback_sse2+0xb84>
38244  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
38245  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
38246  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
38247  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
38248  .byte  102,69,15,107,192                   // packssdw      %xmm8,%xmm8
38249  .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
38250  .byte  77,133,192                          // test          %r8,%r8
38251  .byte  117,13                              // jne           3521 <_sk_store_a8_sse2+0x3e>
38252  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
38253  .byte  65,137,4,18                         // mov           %eax,(%r10,%rdx,1)
38254  .byte  72,173                              // lods          %ds:(%rsi),%rax
38255  .byte  255,224                             // jmpq          *%rax
38256  .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
38257  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
38258  .byte  69,137,193                          // mov           %r8d,%r9d
38259  .byte  65,128,225,3                        // and           $0x3,%r9b
38260  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38261  .byte  116,59                              // je            3573 <_sk_store_a8_sse2+0x90>
38262  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38263  .byte  116,22                              // je            3554 <_sk_store_a8_sse2+0x71>
38264  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38265  .byte  117,217                             // jne           351d <_sk_store_a8_sse2+0x3a>
38266  .byte  102,68,15,127,68,36,232             // movdqa        %xmm8,-0x18(%rsp)
38267  .byte  138,68,36,240                       // mov           -0x10(%rsp),%al
38268  .byte  65,136,68,18,2                      // mov           %al,0x2(%r10,%rdx,1)
38269  .byte  102,68,15,219,5,211,54,0,0          // pand          0x36d3(%rip),%xmm8        # 6c30 <_sk_callback_sse2+0xb94>
38270  .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
38271  .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
38272  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
38273  .byte  102,65,137,4,18                     // mov           %ax,(%r10,%rdx,1)
38274  .byte  235,170                             // jmp           351d <_sk_store_a8_sse2+0x3a>
38275  .byte  102,68,15,127,68,36,216             // movdqa        %xmm8,-0x28(%rsp)
38276  .byte  138,68,36,216                       // mov           -0x28(%rsp),%al
38277  .byte  65,136,4,18                         // mov           %al,(%r10,%rdx,1)
38278  .byte  235,153                             // jmp           351d <_sk_store_a8_sse2+0x3a>
38279
38280HIDDEN _sk_load_g8_sse2
38281.globl _sk_load_g8_sse2
38282FUNCTION(_sk_load_g8_sse2)
38283_sk_load_g8_sse2:
38284  .byte  72,173                              // lods          %ds:(%rsi),%rax
38285  .byte  76,139,16                           // mov           (%rax),%r10
38286  .byte  77,133,192                          // test          %r8,%r8
38287  .byte  117,49                              // jne           35bf <_sk_load_g8_sse2+0x3b>
38288  .byte  102,65,15,110,4,18                  // movd          (%r10,%rdx,1),%xmm0
38289  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
38290  .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
38291  .byte  102,15,219,5,156,54,0,0             // pand          0x369c(%rip),%xmm0        # 6c40 <_sk_callback_sse2+0xba4>
38292  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
38293  .byte  15,89,5,162,54,0,0                  // mulps         0x36a2(%rip),%xmm0        # 6c50 <_sk_callback_sse2+0xbb4>
38294  .byte  72,173                              // lods          %ds:(%rsi),%rax
38295  .byte  15,40,29,169,54,0,0                 // movaps        0x36a9(%rip),%xmm3        # 6c60 <_sk_callback_sse2+0xbc4>
38296  .byte  15,40,200                           // movaps        %xmm0,%xmm1
38297  .byte  15,40,208                           // movaps        %xmm0,%xmm2
38298  .byte  255,224                             // jmpq          *%rax
38299  .byte  69,137,193                          // mov           %r8d,%r9d
38300  .byte  65,128,225,3                        // and           $0x3,%r9b
38301  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38302  .byte  116,54                              // je            3602 <_sk_load_g8_sse2+0x7e>
38303  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
38304  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38305  .byte  116,21                              // je            35eb <_sk_load_g8_sse2+0x67>
38306  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38307  .byte  117,192                             // jne           359c <_sk_load_g8_sse2+0x18>
38308  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
38309  .byte  102,15,110,192                      // movd          %eax,%xmm0
38310  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
38311  .byte  65,15,183,4,18                      // movzwl        (%r10,%rdx,1),%eax
38312  .byte  102,15,110,200                      // movd          %eax,%xmm1
38313  .byte  102,15,96,200                       // punpcklbw     %xmm0,%xmm1
38314  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
38315  .byte  242,15,16,193                       // movsd         %xmm1,%xmm0
38316  .byte  235,154                             // jmp           359c <_sk_load_g8_sse2+0x18>
38317  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
38318  .byte  102,15,110,192                      // movd          %eax,%xmm0
38319  .byte  235,143                             // jmp           359c <_sk_load_g8_sse2+0x18>
38320
38321HIDDEN _sk_load_g8_dst_sse2
38322.globl _sk_load_g8_dst_sse2
38323FUNCTION(_sk_load_g8_dst_sse2)
38324_sk_load_g8_dst_sse2:
38325  .byte  72,173                              // lods          %ds:(%rsi),%rax
38326  .byte  76,139,16                           // mov           (%rax),%r10
38327  .byte  77,133,192                          // test          %r8,%r8
38328  .byte  117,49                              // jne           3648 <_sk_load_g8_dst_sse2+0x3b>
38329  .byte  102,65,15,110,36,18                 // movd          (%r10,%rdx,1),%xmm4
38330  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
38331  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
38332  .byte  102,15,219,37,67,54,0,0             // pand          0x3643(%rip),%xmm4        # 6c70 <_sk_callback_sse2+0xbd4>
38333  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
38334  .byte  15,89,37,73,54,0,0                  // mulps         0x3649(%rip),%xmm4        # 6c80 <_sk_callback_sse2+0xbe4>
38335  .byte  72,173                              // lods          %ds:(%rsi),%rax
38336  .byte  15,40,61,80,54,0,0                  // movaps        0x3650(%rip),%xmm7        # 6c90 <_sk_callback_sse2+0xbf4>
38337  .byte  15,40,236                           // movaps        %xmm4,%xmm5
38338  .byte  15,40,244                           // movaps        %xmm4,%xmm6
38339  .byte  255,224                             // jmpq          *%rax
38340  .byte  69,137,193                          // mov           %r8d,%r9d
38341  .byte  65,128,225,3                        // and           $0x3,%r9b
38342  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38343  .byte  116,54                              // je            368b <_sk_load_g8_dst_sse2+0x7e>
38344  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
38345  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38346  .byte  116,21                              // je            3674 <_sk_load_g8_dst_sse2+0x67>
38347  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38348  .byte  117,192                             // jne           3625 <_sk_load_g8_dst_sse2+0x18>
38349  .byte  65,15,182,68,18,2                   // movzbl        0x2(%r10,%rdx,1),%eax
38350  .byte  102,15,110,224                      // movd          %eax,%xmm4
38351  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
38352  .byte  65,15,183,4,18                      // movzwl        (%r10,%rdx,1),%eax
38353  .byte  102,15,110,232                      // movd          %eax,%xmm5
38354  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
38355  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
38356  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
38357  .byte  235,154                             // jmp           3625 <_sk_load_g8_dst_sse2+0x18>
38358  .byte  65,15,182,4,18                      // movzbl        (%r10,%rdx,1),%eax
38359  .byte  102,15,110,224                      // movd          %eax,%xmm4
38360  .byte  235,143                             // jmp           3625 <_sk_load_g8_dst_sse2+0x18>
38361
38362HIDDEN _sk_gather_g8_sse2
38363.globl _sk_gather_g8_sse2
38364FUNCTION(_sk_gather_g8_sse2)
38365_sk_gather_g8_sse2:
38366  .byte  85                                  // push          %rbp
38367  .byte  83                                  // push          %rbx
38368  .byte  72,173                              // lods          %ds:(%rsi),%rax
38369  .byte  76,139,8                            // mov           (%rax),%r9
38370  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
38371  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
38372  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
38373  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
38374  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
38375  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
38376  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
38377  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
38378  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
38379  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
38380  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
38381  .byte  102,72,15,126,192                   // movq          %xmm0,%rax
38382  .byte  65,137,194                          // mov           %eax,%r10d
38383  .byte  72,193,232,32                       // shr           $0x20,%rax
38384  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
38385  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
38386  .byte  68,137,219                          // mov           %r11d,%ebx
38387  .byte  73,193,235,32                       // shr           $0x20,%r11
38388  .byte  65,15,182,44,25                     // movzbl        (%r9,%rbx,1),%ebp
38389  .byte  67,15,182,28,25                     // movzbl        (%r9,%r11,1),%ebx
38390  .byte  193,227,8                           // shl           $0x8,%ebx
38391  .byte  9,235                               // or            %ebp,%ebx
38392  .byte  67,15,182,44,17                     // movzbl        (%r9,%r10,1),%ebp
38393  .byte  65,15,182,4,1                       // movzbl        (%r9,%rax,1),%eax
38394  .byte  193,224,8                           // shl           $0x8,%eax
38395  .byte  9,232                               // or            %ebp,%eax
38396  .byte  102,15,196,192,0                    // pinsrw        $0x0,%eax,%xmm0
38397  .byte  102,15,196,195,1                    // pinsrw        $0x1,%ebx,%xmm0
38398  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
38399  .byte  102,15,96,193                       // punpcklbw     %xmm1,%xmm0
38400  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
38401  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
38402  .byte  15,89,5,119,53,0,0                  // mulps         0x3577(%rip),%xmm0        # 6ca0 <_sk_callback_sse2+0xc04>
38403  .byte  72,173                              // lods          %ds:(%rsi),%rax
38404  .byte  15,40,29,126,53,0,0                 // movaps        0x357e(%rip),%xmm3        # 6cb0 <_sk_callback_sse2+0xc14>
38405  .byte  15,40,200                           // movaps        %xmm0,%xmm1
38406  .byte  15,40,208                           // movaps        %xmm0,%xmm2
38407  .byte  91                                  // pop           %rbx
38408  .byte  93                                  // pop           %rbp
38409  .byte  255,224                             // jmpq          *%rax
38410
38411HIDDEN _sk_load_565_sse2
38412.globl _sk_load_565_sse2
38413FUNCTION(_sk_load_565_sse2)
38414_sk_load_565_sse2:
38415  .byte  72,173                              // lods          %ds:(%rsi),%rax
38416  .byte  76,139,16                           // mov           (%rax),%r10
38417  .byte  77,133,192                          // test          %r8,%r8
38418  .byte  117,83                              // jne           3799 <_sk_load_565_sse2+0x5d>
38419  .byte  243,65,15,126,20,82                 // movq          (%r10,%rdx,2),%xmm2
38420  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
38421  .byte  102,15,111,5,104,53,0,0             // movdqa        0x3568(%rip),%xmm0        # 6cc0 <_sk_callback_sse2+0xc24>
38422  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
38423  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
38424  .byte  15,89,5,106,53,0,0                  // mulps         0x356a(%rip),%xmm0        # 6cd0 <_sk_callback_sse2+0xc34>
38425  .byte  102,15,111,13,114,53,0,0            // movdqa        0x3572(%rip),%xmm1        # 6ce0 <_sk_callback_sse2+0xc44>
38426  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
38427  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
38428  .byte  15,89,13,116,53,0,0                 // mulps         0x3574(%rip),%xmm1        # 6cf0 <_sk_callback_sse2+0xc54>
38429  .byte  102,15,219,21,124,53,0,0            // pand          0x357c(%rip),%xmm2        # 6d00 <_sk_callback_sse2+0xc64>
38430  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
38431  .byte  15,89,21,130,53,0,0                 // mulps         0x3582(%rip),%xmm2        # 6d10 <_sk_callback_sse2+0xc74>
38432  .byte  72,173                              // lods          %ds:(%rsi),%rax
38433  .byte  15,40,29,137,53,0,0                 // movaps        0x3589(%rip),%xmm3        # 6d20 <_sk_callback_sse2+0xc84>
38434  .byte  255,224                             // jmpq          *%rax
38435  .byte  69,137,193                          // mov           %r8d,%r9d
38436  .byte  65,128,225,3                        // and           $0x3,%r9b
38437  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38438  .byte  116,50                              // je            37d8 <_sk_load_565_sse2+0x9c>
38439  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
38440  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38441  .byte  116,21                              // je            37c5 <_sk_load_565_sse2+0x89>
38442  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38443  .byte  117,154                             // jne           3750 <_sk_load_565_sse2+0x14>
38444  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%rdx,2),%eax
38445  .byte  102,15,110,192                      // movd          %eax,%xmm0
38446  .byte  102,15,112,208,69                   // pshufd        $0x45,%xmm0,%xmm2
38447  .byte  102,65,15,110,4,82                  // movd          (%r10,%rdx,2),%xmm0
38448  .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
38449  .byte  242,15,16,208                       // movsd         %xmm0,%xmm2
38450  .byte  233,120,255,255,255                 // jmpq          3750 <_sk_load_565_sse2+0x14>
38451  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
38452  .byte  102,15,110,208                      // movd          %eax,%xmm2
38453  .byte  233,106,255,255,255                 // jmpq          3750 <_sk_load_565_sse2+0x14>
38454
38455HIDDEN _sk_load_565_dst_sse2
38456.globl _sk_load_565_dst_sse2
38457FUNCTION(_sk_load_565_dst_sse2)
38458_sk_load_565_dst_sse2:
38459  .byte  72,173                              // lods          %ds:(%rsi),%rax
38460  .byte  76,139,16                           // mov           (%rax),%r10
38461  .byte  77,133,192                          // test          %r8,%r8
38462  .byte  117,83                              // jne           3843 <_sk_load_565_dst_sse2+0x5d>
38463  .byte  243,65,15,126,52,82                 // movq          (%r10,%rdx,2),%xmm6
38464  .byte  102,15,97,240                       // punpcklwd     %xmm0,%xmm6
38465  .byte  102,15,111,37,46,53,0,0             // movdqa        0x352e(%rip),%xmm4        # 6d30 <_sk_callback_sse2+0xc94>
38466  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
38467  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
38468  .byte  15,89,37,48,53,0,0                  // mulps         0x3530(%rip),%xmm4        # 6d40 <_sk_callback_sse2+0xca4>
38469  .byte  102,15,111,45,56,53,0,0             // movdqa        0x3538(%rip),%xmm5        # 6d50 <_sk_callback_sse2+0xcb4>
38470  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
38471  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
38472  .byte  15,89,45,58,53,0,0                  // mulps         0x353a(%rip),%xmm5        # 6d60 <_sk_callback_sse2+0xcc4>
38473  .byte  102,15,219,53,66,53,0,0             // pand          0x3542(%rip),%xmm6        # 6d70 <_sk_callback_sse2+0xcd4>
38474  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
38475  .byte  15,89,53,72,53,0,0                  // mulps         0x3548(%rip),%xmm6        # 6d80 <_sk_callback_sse2+0xce4>
38476  .byte  72,173                              // lods          %ds:(%rsi),%rax
38477  .byte  15,40,61,79,53,0,0                  // movaps        0x354f(%rip),%xmm7        # 6d90 <_sk_callback_sse2+0xcf4>
38478  .byte  255,224                             // jmpq          *%rax
38479  .byte  69,137,193                          // mov           %r8d,%r9d
38480  .byte  65,128,225,3                        // and           $0x3,%r9b
38481  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38482  .byte  116,50                              // je            3882 <_sk_load_565_dst_sse2+0x9c>
38483  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
38484  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38485  .byte  116,21                              // je            386f <_sk_load_565_dst_sse2+0x89>
38486  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38487  .byte  117,154                             // jne           37fa <_sk_load_565_dst_sse2+0x14>
38488  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%rdx,2),%eax
38489  .byte  102,15,110,224                      // movd          %eax,%xmm4
38490  .byte  102,15,112,244,69                   // pshufd        $0x45,%xmm4,%xmm6
38491  .byte  102,65,15,110,36,82                 // movd          (%r10,%rdx,2),%xmm4
38492  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
38493  .byte  242,15,16,244                       // movsd         %xmm4,%xmm6
38494  .byte  233,120,255,255,255                 // jmpq          37fa <_sk_load_565_dst_sse2+0x14>
38495  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
38496  .byte  102,15,110,240                      // movd          %eax,%xmm6
38497  .byte  233,106,255,255,255                 // jmpq          37fa <_sk_load_565_dst_sse2+0x14>
38498
38499HIDDEN _sk_gather_565_sse2
38500.globl _sk_gather_565_sse2
38501FUNCTION(_sk_gather_565_sse2)
38502_sk_gather_565_sse2:
38503  .byte  83                                  // push          %rbx
38504  .byte  72,173                              // lods          %ds:(%rsi),%rax
38505  .byte  76,139,8                            // mov           (%rax),%r9
38506  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
38507  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
38508  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
38509  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
38510  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
38511  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
38512  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
38513  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
38514  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
38515  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
38516  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
38517  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
38518  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
38519  .byte  65,137,194                          // mov           %eax,%r10d
38520  .byte  72,193,232,32                       // shr           $0x20,%rax
38521  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
38522  .byte  68,137,219                          // mov           %r11d,%ebx
38523  .byte  73,193,235,32                       // shr           $0x20,%r11
38524  .byte  102,65,15,196,20,89,0               // pinsrw        $0x0,(%r9,%rbx,2),%xmm2
38525  .byte  102,67,15,196,20,89,1               // pinsrw        $0x1,(%r9,%r11,2),%xmm2
38526  .byte  67,15,183,28,81                     // movzwl        (%r9,%r10,2),%ebx
38527  .byte  102,15,196,211,2                    // pinsrw        $0x2,%ebx,%xmm2
38528  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
38529  .byte  102,15,196,208,3                    // pinsrw        $0x3,%eax,%xmm2
38530  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
38531  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
38532  .byte  102,15,111,5,138,52,0,0             // movdqa        0x348a(%rip),%xmm0        # 6da0 <_sk_callback_sse2+0xd04>
38533  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
38534  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
38535  .byte  15,89,5,140,52,0,0                  // mulps         0x348c(%rip),%xmm0        # 6db0 <_sk_callback_sse2+0xd14>
38536  .byte  102,15,111,13,148,52,0,0            // movdqa        0x3494(%rip),%xmm1        # 6dc0 <_sk_callback_sse2+0xd24>
38537  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
38538  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
38539  .byte  15,89,13,150,52,0,0                 // mulps         0x3496(%rip),%xmm1        # 6dd0 <_sk_callback_sse2+0xd34>
38540  .byte  102,15,219,21,158,52,0,0            // pand          0x349e(%rip),%xmm2        # 6de0 <_sk_callback_sse2+0xd44>
38541  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
38542  .byte  15,89,21,164,52,0,0                 // mulps         0x34a4(%rip),%xmm2        # 6df0 <_sk_callback_sse2+0xd54>
38543  .byte  72,173                              // lods          %ds:(%rsi),%rax
38544  .byte  15,40,29,171,52,0,0                 // movaps        0x34ab(%rip),%xmm3        # 6e00 <_sk_callback_sse2+0xd64>
38545  .byte  91                                  // pop           %rbx
38546  .byte  255,224                             // jmpq          *%rax
38547
38548HIDDEN _sk_store_565_sse2
38549.globl _sk_store_565_sse2
38550FUNCTION(_sk_store_565_sse2)
38551_sk_store_565_sse2:
38552  .byte  72,173                              // lods          %ds:(%rsi),%rax
38553  .byte  76,139,16                           // mov           (%rax),%r10
38554  .byte  68,15,40,5,171,52,0,0               // movaps        0x34ab(%rip),%xmm8        # 6e10 <_sk_callback_sse2+0xd74>
38555  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
38556  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
38557  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
38558  .byte  102,65,15,114,241,11                // pslld         $0xb,%xmm9
38559  .byte  68,15,40,21,160,52,0,0              // movaps        0x34a0(%rip),%xmm10        # 6e20 <_sk_callback_sse2+0xd84>
38560  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
38561  .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
38562  .byte  102,65,15,114,242,5                 // pslld         $0x5,%xmm10
38563  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
38564  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
38565  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
38566  .byte  102,69,15,86,194                    // orpd          %xmm10,%xmm8
38567  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
38568  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
38569  .byte  102,69,15,107,192                   // packssdw      %xmm8,%xmm8
38570  .byte  77,133,192                          // test          %r8,%r8
38571  .byte  117,10                              // jne           39c2 <_sk_store_565_sse2+0x6a>
38572  .byte  242,69,15,17,4,82                   // movsd         %xmm8,(%r10,%rdx,2)
38573  .byte  72,173                              // lods          %ds:(%rsi),%rax
38574  .byte  255,224                             // jmpq          *%rax
38575  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
38576  .byte  69,137,193                          // mov           %r8d,%r9d
38577  .byte  65,128,225,3                        // and           $0x3,%r9b
38578  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38579  .byte  116,38                              // je            39fa <_sk_store_565_sse2+0xa2>
38580  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38581  .byte  116,18                              // je            39ec <_sk_store_565_sse2+0x94>
38582  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38583  .byte  117,222                             // jne           39be <_sk_store_565_sse2+0x66>
38584  .byte  102,65,15,197,192,4                 // pextrw        $0x4,%xmm8,%eax
38585  .byte  102,65,137,68,82,4                  // mov           %ax,0x4(%r10,%rdx,2)
38586  .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
38587  .byte  102,69,15,126,4,82                  // movd          %xmm8,(%r10,%rdx,2)
38588  .byte  235,196                             // jmp           39be <_sk_store_565_sse2+0x66>
38589  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
38590  .byte  102,65,137,4,82                     // mov           %ax,(%r10,%rdx,2)
38591  .byte  235,184                             // jmp           39be <_sk_store_565_sse2+0x66>
38592
38593HIDDEN _sk_load_4444_sse2
38594.globl _sk_load_4444_sse2
38595FUNCTION(_sk_load_4444_sse2)
38596_sk_load_4444_sse2:
38597  .byte  72,173                              // lods          %ds:(%rsi),%rax
38598  .byte  76,139,16                           // mov           (%rax),%r10
38599  .byte  77,133,192                          // test          %r8,%r8
38600  .byte  117,98                              // jne           3a72 <_sk_load_4444_sse2+0x6c>
38601  .byte  243,65,15,126,28,82                 // movq          (%r10,%rdx,2),%xmm3
38602  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
38603  .byte  102,15,111,5,14,52,0,0              // movdqa        0x340e(%rip),%xmm0        # 6e30 <_sk_callback_sse2+0xd94>
38604  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
38605  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
38606  .byte  15,89,5,16,52,0,0                   // mulps         0x3410(%rip),%xmm0        # 6e40 <_sk_callback_sse2+0xda4>
38607  .byte  102,15,111,13,24,52,0,0             // movdqa        0x3418(%rip),%xmm1        # 6e50 <_sk_callback_sse2+0xdb4>
38608  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
38609  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
38610  .byte  15,89,13,26,52,0,0                  // mulps         0x341a(%rip),%xmm1        # 6e60 <_sk_callback_sse2+0xdc4>
38611  .byte  102,15,111,21,34,52,0,0             // movdqa        0x3422(%rip),%xmm2        # 6e70 <_sk_callback_sse2+0xdd4>
38612  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
38613  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
38614  .byte  15,89,21,36,52,0,0                  // mulps         0x3424(%rip),%xmm2        # 6e80 <_sk_callback_sse2+0xde4>
38615  .byte  102,15,219,29,44,52,0,0             // pand          0x342c(%rip),%xmm3        # 6e90 <_sk_callback_sse2+0xdf4>
38616  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
38617  .byte  15,89,29,50,52,0,0                  // mulps         0x3432(%rip),%xmm3        # 6ea0 <_sk_callback_sse2+0xe04>
38618  .byte  72,173                              // lods          %ds:(%rsi),%rax
38619  .byte  255,224                             // jmpq          *%rax
38620  .byte  69,137,193                          // mov           %r8d,%r9d
38621  .byte  65,128,225,3                        // and           $0x3,%r9b
38622  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38623  .byte  116,50                              // je            3ab1 <_sk_load_4444_sse2+0xab>
38624  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
38625  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38626  .byte  116,21                              // je            3a9e <_sk_load_4444_sse2+0x98>
38627  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38628  .byte  117,139                             // jne           3a1a <_sk_load_4444_sse2+0x14>
38629  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%rdx,2),%eax
38630  .byte  102,15,110,192                      // movd          %eax,%xmm0
38631  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
38632  .byte  102,65,15,110,4,82                  // movd          (%r10,%rdx,2),%xmm0
38633  .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
38634  .byte  242,15,16,216                       // movsd         %xmm0,%xmm3
38635  .byte  233,105,255,255,255                 // jmpq          3a1a <_sk_load_4444_sse2+0x14>
38636  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
38637  .byte  102,15,110,216                      // movd          %eax,%xmm3
38638  .byte  233,91,255,255,255                  // jmpq          3a1a <_sk_load_4444_sse2+0x14>
38639
38640HIDDEN _sk_load_4444_dst_sse2
38641.globl _sk_load_4444_dst_sse2
38642FUNCTION(_sk_load_4444_dst_sse2)
38643_sk_load_4444_dst_sse2:
38644  .byte  72,173                              // lods          %ds:(%rsi),%rax
38645  .byte  76,139,16                           // mov           (%rax),%r10
38646  .byte  77,133,192                          // test          %r8,%r8
38647  .byte  117,98                              // jne           3b2b <_sk_load_4444_dst_sse2+0x6c>
38648  .byte  243,65,15,126,60,82                 // movq          (%r10,%rdx,2),%xmm7
38649  .byte  102,15,97,248                       // punpcklwd     %xmm0,%xmm7
38650  .byte  102,15,111,37,213,51,0,0            // movdqa        0x33d5(%rip),%xmm4        # 6eb0 <_sk_callback_sse2+0xe14>
38651  .byte  102,15,219,231                      // pand          %xmm7,%xmm4
38652  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
38653  .byte  15,89,37,215,51,0,0                 // mulps         0x33d7(%rip),%xmm4        # 6ec0 <_sk_callback_sse2+0xe24>
38654  .byte  102,15,111,45,223,51,0,0            // movdqa        0x33df(%rip),%xmm5        # 6ed0 <_sk_callback_sse2+0xe34>
38655  .byte  102,15,219,239                      // pand          %xmm7,%xmm5
38656  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
38657  .byte  15,89,45,225,51,0,0                 // mulps         0x33e1(%rip),%xmm5        # 6ee0 <_sk_callback_sse2+0xe44>
38658  .byte  102,15,111,53,233,51,0,0            // movdqa        0x33e9(%rip),%xmm6        # 6ef0 <_sk_callback_sse2+0xe54>
38659  .byte  102,15,219,247                      // pand          %xmm7,%xmm6
38660  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
38661  .byte  15,89,53,235,51,0,0                 // mulps         0x33eb(%rip),%xmm6        # 6f00 <_sk_callback_sse2+0xe64>
38662  .byte  102,15,219,61,243,51,0,0            // pand          0x33f3(%rip),%xmm7        # 6f10 <_sk_callback_sse2+0xe74>
38663  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
38664  .byte  15,89,61,249,51,0,0                 // mulps         0x33f9(%rip),%xmm7        # 6f20 <_sk_callback_sse2+0xe84>
38665  .byte  72,173                              // lods          %ds:(%rsi),%rax
38666  .byte  255,224                             // jmpq          *%rax
38667  .byte  69,137,193                          // mov           %r8d,%r9d
38668  .byte  65,128,225,3                        // and           $0x3,%r9b
38669  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38670  .byte  116,50                              // je            3b6a <_sk_load_4444_dst_sse2+0xab>
38671  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
38672  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38673  .byte  116,21                              // je            3b57 <_sk_load_4444_dst_sse2+0x98>
38674  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38675  .byte  117,139                             // jne           3ad3 <_sk_load_4444_dst_sse2+0x14>
38676  .byte  65,15,183,68,82,4                   // movzwl        0x4(%r10,%rdx,2),%eax
38677  .byte  102,15,110,224                      // movd          %eax,%xmm4
38678  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
38679  .byte  102,65,15,110,36,82                 // movd          (%r10,%rdx,2),%xmm4
38680  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
38681  .byte  242,15,16,252                       // movsd         %xmm4,%xmm7
38682  .byte  233,105,255,255,255                 // jmpq          3ad3 <_sk_load_4444_dst_sse2+0x14>
38683  .byte  65,15,183,4,82                      // movzwl        (%r10,%rdx,2),%eax
38684  .byte  102,15,110,248                      // movd          %eax,%xmm7
38685  .byte  233,91,255,255,255                  // jmpq          3ad3 <_sk_load_4444_dst_sse2+0x14>
38686
38687HIDDEN _sk_gather_4444_sse2
38688.globl _sk_gather_4444_sse2
38689FUNCTION(_sk_gather_4444_sse2)
38690_sk_gather_4444_sse2:
38691  .byte  83                                  // push          %rbx
38692  .byte  72,173                              // lods          %ds:(%rsi),%rax
38693  .byte  76,139,8                            // mov           (%rax),%r9
38694  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
38695  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
38696  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
38697  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
38698  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
38699  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
38700  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
38701  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
38702  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
38703  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
38704  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
38705  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
38706  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
38707  .byte  65,137,194                          // mov           %eax,%r10d
38708  .byte  72,193,232,32                       // shr           $0x20,%rax
38709  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
38710  .byte  68,137,219                          // mov           %r11d,%ebx
38711  .byte  73,193,235,32                       // shr           $0x20,%r11
38712  .byte  102,65,15,196,28,89,0               // pinsrw        $0x0,(%r9,%rbx,2),%xmm3
38713  .byte  102,67,15,196,28,89,1               // pinsrw        $0x1,(%r9,%r11,2),%xmm3
38714  .byte  67,15,183,28,81                     // movzwl        (%r9,%r10,2),%ebx
38715  .byte  102,15,196,219,2                    // pinsrw        $0x2,%ebx,%xmm3
38716  .byte  65,15,183,4,65                      // movzwl        (%r9,%rax,2),%eax
38717  .byte  102,15,196,216,3                    // pinsrw        $0x3,%eax,%xmm3
38718  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
38719  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
38720  .byte  102,15,111,5,50,51,0,0              // movdqa        0x3332(%rip),%xmm0        # 6f30 <_sk_callback_sse2+0xe94>
38721  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
38722  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
38723  .byte  15,89,5,52,51,0,0                   // mulps         0x3334(%rip),%xmm0        # 6f40 <_sk_callback_sse2+0xea4>
38724  .byte  102,15,111,13,60,51,0,0             // movdqa        0x333c(%rip),%xmm1        # 6f50 <_sk_callback_sse2+0xeb4>
38725  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
38726  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
38727  .byte  15,89,13,62,51,0,0                  // mulps         0x333e(%rip),%xmm1        # 6f60 <_sk_callback_sse2+0xec4>
38728  .byte  102,15,111,21,70,51,0,0             // movdqa        0x3346(%rip),%xmm2        # 6f70 <_sk_callback_sse2+0xed4>
38729  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
38730  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
38731  .byte  15,89,21,72,51,0,0                  // mulps         0x3348(%rip),%xmm2        # 6f80 <_sk_callback_sse2+0xee4>
38732  .byte  102,15,219,29,80,51,0,0             // pand          0x3350(%rip),%xmm3        # 6f90 <_sk_callback_sse2+0xef4>
38733  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
38734  .byte  15,89,29,86,51,0,0                  // mulps         0x3356(%rip),%xmm3        # 6fa0 <_sk_callback_sse2+0xf04>
38735  .byte  72,173                              // lods          %ds:(%rsi),%rax
38736  .byte  91                                  // pop           %rbx
38737  .byte  255,224                             // jmpq          *%rax
38738
38739HIDDEN _sk_store_4444_sse2
38740.globl _sk_store_4444_sse2
38741FUNCTION(_sk_store_4444_sse2)
38742_sk_store_4444_sse2:
38743  .byte  72,173                              // lods          %ds:(%rsi),%rax
38744  .byte  76,139,16                           // mov           (%rax),%r10
38745  .byte  68,15,40,5,84,51,0,0                // movaps        0x3354(%rip),%xmm8        # 6fb0 <_sk_callback_sse2+0xf14>
38746  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
38747  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
38748  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
38749  .byte  102,65,15,114,241,12                // pslld         $0xc,%xmm9
38750  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
38751  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
38752  .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
38753  .byte  102,65,15,114,242,8                 // pslld         $0x8,%xmm10
38754  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
38755  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
38756  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
38757  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
38758  .byte  102,65,15,114,241,4                 // pslld         $0x4,%xmm9
38759  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
38760  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
38761  .byte  102,69,15,86,193                    // orpd          %xmm9,%xmm8
38762  .byte  102,69,15,86,194                    // orpd          %xmm10,%xmm8
38763  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
38764  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
38765  .byte  102,69,15,107,192                   // packssdw      %xmm8,%xmm8
38766  .byte  77,133,192                          // test          %r8,%r8
38767  .byte  117,10                              // jne           3ccd <_sk_store_4444_sse2+0x7e>
38768  .byte  242,69,15,17,4,82                   // movsd         %xmm8,(%r10,%rdx,2)
38769  .byte  72,173                              // lods          %ds:(%rsi),%rax
38770  .byte  255,224                             // jmpq          *%rax
38771  .byte  102,68,15,97,192                    // punpcklwd     %xmm0,%xmm8
38772  .byte  69,137,193                          // mov           %r8d,%r9d
38773  .byte  65,128,225,3                        // and           $0x3,%r9b
38774  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38775  .byte  116,38                              // je            3d05 <_sk_store_4444_sse2+0xb6>
38776  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38777  .byte  116,18                              // je            3cf7 <_sk_store_4444_sse2+0xa8>
38778  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38779  .byte  117,222                             // jne           3cc9 <_sk_store_4444_sse2+0x7a>
38780  .byte  102,65,15,197,192,4                 // pextrw        $0x4,%xmm8,%eax
38781  .byte  102,65,137,68,82,4                  // mov           %ax,0x4(%r10,%rdx,2)
38782  .byte  242,69,15,112,192,232               // pshuflw       $0xe8,%xmm8,%xmm8
38783  .byte  102,69,15,126,4,82                  // movd          %xmm8,(%r10,%rdx,2)
38784  .byte  235,196                             // jmp           3cc9 <_sk_store_4444_sse2+0x7a>
38785  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
38786  .byte  102,65,137,4,82                     // mov           %ax,(%r10,%rdx,2)
38787  .byte  235,184                             // jmp           3cc9 <_sk_store_4444_sse2+0x7a>
38788
38789HIDDEN _sk_load_8888_sse2
38790.globl _sk_load_8888_sse2
38791FUNCTION(_sk_load_8888_sse2)
38792_sk_load_8888_sse2:
38793  .byte  72,173                              // lods          %ds:(%rsi),%rax
38794  .byte  72,139,0                            // mov           (%rax),%rax
38795  .byte  77,133,192                          // test          %r8,%r8
38796  .byte  117,98                              // jne           3d7d <_sk_load_8888_sse2+0x6c>
38797  .byte  243,68,15,111,12,144                // movdqu        (%rax,%rdx,4),%xmm9
38798  .byte  102,15,111,21,151,50,0,0            // movdqa        0x3297(%rip),%xmm2        # 6fc0 <_sk_callback_sse2+0xf24>
38799  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
38800  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
38801  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
38802  .byte  68,15,40,5,147,50,0,0               // movaps        0x3293(%rip),%xmm8        # 6fd0 <_sk_callback_sse2+0xf34>
38803  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
38804  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
38805  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
38806  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
38807  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
38808  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
38809  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
38810  .byte  102,15,114,211,16                   // psrld         $0x10,%xmm3
38811  .byte  102,15,219,218                      // pand          %xmm2,%xmm3
38812  .byte  15,91,211                           // cvtdq2ps      %xmm3,%xmm2
38813  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
38814  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
38815  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
38816  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
38817  .byte  72,173                              // lods          %ds:(%rsi),%rax
38818  .byte  255,224                             // jmpq          *%rax
38819  .byte  69,137,193                          // mov           %r8d,%r9d
38820  .byte  65,128,225,3                        // and           $0x3,%r9b
38821  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38822  .byte  116,40                              // je            3db2 <_sk_load_8888_sse2+0xa1>
38823  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
38824  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38825  .byte  116,18                              // je            3da7 <_sk_load_8888_sse2+0x96>
38826  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38827  .byte  117,134                             // jne           3d21 <_sk_load_8888_sse2+0x10>
38828  .byte  102,15,110,68,144,8                 // movd          0x8(%rax,%rdx,4),%xmm0
38829  .byte  102,68,15,112,200,69                // pshufd        $0x45,%xmm0,%xmm9
38830  .byte  102,68,15,18,12,144                 // movlpd        (%rax,%rdx,4),%xmm9
38831  .byte  233,111,255,255,255                 // jmpq          3d21 <_sk_load_8888_sse2+0x10>
38832  .byte  102,68,15,110,12,144                // movd          (%rax,%rdx,4),%xmm9
38833  .byte  233,100,255,255,255                 // jmpq          3d21 <_sk_load_8888_sse2+0x10>
38834
38835HIDDEN _sk_load_8888_dst_sse2
38836.globl _sk_load_8888_dst_sse2
38837FUNCTION(_sk_load_8888_dst_sse2)
38838_sk_load_8888_dst_sse2:
38839  .byte  72,173                              // lods          %ds:(%rsi),%rax
38840  .byte  72,139,0                            // mov           (%rax),%rax
38841  .byte  77,133,192                          // test          %r8,%r8
38842  .byte  117,98                              // jne           3e29 <_sk_load_8888_dst_sse2+0x6c>
38843  .byte  243,68,15,111,12,144                // movdqu        (%rax,%rdx,4),%xmm9
38844  .byte  102,15,111,53,11,50,0,0             // movdqa        0x320b(%rip),%xmm6        # 6fe0 <_sk_callback_sse2+0xf44>
38845  .byte  102,65,15,111,225                   // movdqa        %xmm9,%xmm4
38846  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
38847  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
38848  .byte  68,15,40,5,7,50,0,0                 // movaps        0x3207(%rip),%xmm8        # 6ff0 <_sk_callback_sse2+0xf54>
38849  .byte  65,15,89,224                        // mulps         %xmm8,%xmm4
38850  .byte  102,65,15,111,233                   // movdqa        %xmm9,%xmm5
38851  .byte  102,15,114,213,8                    // psrld         $0x8,%xmm5
38852  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
38853  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
38854  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
38855  .byte  102,65,15,111,249                   // movdqa        %xmm9,%xmm7
38856  .byte  102,15,114,215,16                   // psrld         $0x10,%xmm7
38857  .byte  102,15,219,254                      // pand          %xmm6,%xmm7
38858  .byte  15,91,247                           // cvtdq2ps      %xmm7,%xmm6
38859  .byte  65,15,89,240                        // mulps         %xmm8,%xmm6
38860  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
38861  .byte  65,15,91,249                        // cvtdq2ps      %xmm9,%xmm7
38862  .byte  65,15,89,248                        // mulps         %xmm8,%xmm7
38863  .byte  72,173                              // lods          %ds:(%rsi),%rax
38864  .byte  255,224                             // jmpq          *%rax
38865  .byte  69,137,193                          // mov           %r8d,%r9d
38866  .byte  65,128,225,3                        // and           $0x3,%r9b
38867  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38868  .byte  116,40                              // je            3e5e <_sk_load_8888_dst_sse2+0xa1>
38869  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
38870  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38871  .byte  116,18                              // je            3e53 <_sk_load_8888_dst_sse2+0x96>
38872  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38873  .byte  117,134                             // jne           3dcd <_sk_load_8888_dst_sse2+0x10>
38874  .byte  102,15,110,100,144,8                // movd          0x8(%rax,%rdx,4),%xmm4
38875  .byte  102,68,15,112,204,69                // pshufd        $0x45,%xmm4,%xmm9
38876  .byte  102,68,15,18,12,144                 // movlpd        (%rax,%rdx,4),%xmm9
38877  .byte  233,111,255,255,255                 // jmpq          3dcd <_sk_load_8888_dst_sse2+0x10>
38878  .byte  102,68,15,110,12,144                // movd          (%rax,%rdx,4),%xmm9
38879  .byte  233,100,255,255,255                 // jmpq          3dcd <_sk_load_8888_dst_sse2+0x10>
38880
38881HIDDEN _sk_gather_8888_sse2
38882.globl _sk_gather_8888_sse2
38883FUNCTION(_sk_gather_8888_sse2)
38884_sk_gather_8888_sse2:
38885  .byte  83                                  // push          %rbx
38886  .byte  72,173                              // lods          %ds:(%rsi),%rax
38887  .byte  76,139,8                            // mov           (%rax),%r9
38888  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
38889  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
38890  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
38891  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
38892  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
38893  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
38894  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
38895  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
38896  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
38897  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
38898  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
38899  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
38900  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
38901  .byte  65,137,194                          // mov           %eax,%r10d
38902  .byte  72,193,232,32                       // shr           $0x20,%rax
38903  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
38904  .byte  68,137,219                          // mov           %r11d,%ebx
38905  .byte  73,193,235,32                       // shr           $0x20,%r11
38906  .byte  102,67,15,110,4,153                 // movd          (%r9,%r11,4),%xmm0
38907  .byte  102,65,15,110,12,129                // movd          (%r9,%rax,4),%xmm1
38908  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
38909  .byte  102,69,15,110,12,153                // movd          (%r9,%rbx,4),%xmm9
38910  .byte  102,67,15,110,12,145                // movd          (%r9,%r10,4),%xmm1
38911  .byte  102,68,15,98,201                    // punpckldq     %xmm1,%xmm9
38912  .byte  102,68,15,98,200                    // punpckldq     %xmm0,%xmm9
38913  .byte  102,15,111,21,21,49,0,0             // movdqa        0x3115(%rip),%xmm2        # 7000 <_sk_callback_sse2+0xf64>
38914  .byte  102,65,15,111,193                   // movdqa        %xmm9,%xmm0
38915  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
38916  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
38917  .byte  68,15,40,5,17,49,0,0                // movaps        0x3111(%rip),%xmm8        # 7010 <_sk_callback_sse2+0xf74>
38918  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
38919  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
38920  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
38921  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
38922  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
38923  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
38924  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
38925  .byte  102,15,114,211,16                   // psrld         $0x10,%xmm3
38926  .byte  102,15,219,218                      // pand          %xmm2,%xmm3
38927  .byte  15,91,211                           // cvtdq2ps      %xmm3,%xmm2
38928  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
38929  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
38930  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
38931  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
38932  .byte  72,173                              // lods          %ds:(%rsi),%rax
38933  .byte  91                                  // pop           %rbx
38934  .byte  255,224                             // jmpq          *%rax
38935
38936HIDDEN _sk_store_8888_sse2
38937.globl _sk_store_8888_sse2
38938FUNCTION(_sk_store_8888_sse2)
38939_sk_store_8888_sse2:
38940  .byte  72,173                              // lods          %ds:(%rsi),%rax
38941  .byte  72,139,0                            // mov           (%rax),%rax
38942  .byte  68,15,40,5,211,48,0,0               // movaps        0x30d3(%rip),%xmm8        # 7020 <_sk_callback_sse2+0xf84>
38943  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
38944  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
38945  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
38946  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
38947  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
38948  .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
38949  .byte  102,65,15,114,242,8                 // pslld         $0x8,%xmm10
38950  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
38951  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
38952  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
38953  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
38954  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
38955  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
38956  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
38957  .byte  102,65,15,114,240,24                // pslld         $0x18,%xmm8
38958  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
38959  .byte  102,69,15,235,194                   // por           %xmm10,%xmm8
38960  .byte  77,133,192                          // test          %r8,%r8
38961  .byte  117,10                              // jne           3fad <_sk_store_8888_sse2+0x6d>
38962  .byte  243,68,15,127,4,144                 // movdqu        %xmm8,(%rax,%rdx,4)
38963  .byte  72,173                              // lods          %ds:(%rsi),%rax
38964  .byte  255,224                             // jmpq          *%rax
38965  .byte  69,137,193                          // mov           %r8d,%r9d
38966  .byte  65,128,225,3                        // and           $0x3,%r9b
38967  .byte  65,128,249,1                        // cmp           $0x1,%r9b
38968  .byte  116,33                              // je            3fdb <_sk_store_8888_sse2+0x9b>
38969  .byte  65,128,249,2                        // cmp           $0x2,%r9b
38970  .byte  116,19                              // je            3fd3 <_sk_store_8888_sse2+0x93>
38971  .byte  65,128,249,3                        // cmp           $0x3,%r9b
38972  .byte  117,227                             // jne           3fa9 <_sk_store_8888_sse2+0x69>
38973  .byte  102,69,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm9
38974  .byte  102,68,15,126,76,144,8              // movd          %xmm9,0x8(%rax,%rdx,4)
38975  .byte  102,68,15,214,4,144                 // movq          %xmm8,(%rax,%rdx,4)
38976  .byte  235,206                             // jmp           3fa9 <_sk_store_8888_sse2+0x69>
38977  .byte  102,68,15,126,4,144                 // movd          %xmm8,(%rax,%rdx,4)
38978  .byte  235,198                             // jmp           3fa9 <_sk_store_8888_sse2+0x69>
38979
38980HIDDEN _sk_store_8888_2d_sse2
38981.globl _sk_store_8888_2d_sse2
38982FUNCTION(_sk_store_8888_2d_sse2)
38983_sk_store_8888_2d_sse2:
38984  .byte  72,173                              // lods          %ds:(%rsi),%rax
38985  .byte  76,99,72,8                          // movslq        0x8(%rax),%r9
38986  .byte  76,15,175,201                       // imul          %rcx,%r9
38987  .byte  73,193,225,2                        // shl           $0x2,%r9
38988  .byte  76,3,8                              // add           (%rax),%r9
38989  .byte  68,15,40,5,52,48,0,0                // movaps        0x3034(%rip),%xmm8        # 7030 <_sk_callback_sse2+0xf94>
38990  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
38991  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
38992  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
38993  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
38994  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
38995  .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
38996  .byte  102,65,15,114,242,8                 // pslld         $0x8,%xmm10
38997  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
38998  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
38999  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
39000  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
39001  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
39002  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
39003  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
39004  .byte  102,65,15,114,240,24                // pslld         $0x18,%xmm8
39005  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
39006  .byte  102,69,15,235,194                   // por           %xmm10,%xmm8
39007  .byte  77,133,192                          // test          %r8,%r8
39008  .byte  117,10                              // jne           405c <_sk_store_8888_2d_sse2+0x79>
39009  .byte  243,69,15,127,4,145                 // movdqu        %xmm8,(%r9,%rdx,4)
39010  .byte  72,173                              // lods          %ds:(%rsi),%rax
39011  .byte  255,224                             // jmpq          *%rax
39012  .byte  68,137,192                          // mov           %r8d,%eax
39013  .byte  36,3                                // and           $0x3,%al
39014  .byte  60,1                                // cmp           $0x1,%al
39015  .byte  116,29                              // je            4082 <_sk_store_8888_2d_sse2+0x9f>
39016  .byte  60,2                                // cmp           $0x2,%al
39017  .byte  116,17                              // je            407a <_sk_store_8888_2d_sse2+0x97>
39018  .byte  60,3                                // cmp           $0x3,%al
39019  .byte  117,235                             // jne           4058 <_sk_store_8888_2d_sse2+0x75>
39020  .byte  102,69,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm9
39021  .byte  102,69,15,126,76,145,8              // movd          %xmm9,0x8(%r9,%rdx,4)
39022  .byte  102,69,15,214,4,145                 // movq          %xmm8,(%r9,%rdx,4)
39023  .byte  235,214                             // jmp           4058 <_sk_store_8888_2d_sse2+0x75>
39024  .byte  102,69,15,126,4,145                 // movd          %xmm8,(%r9,%rdx,4)
39025  .byte  235,206                             // jmp           4058 <_sk_store_8888_2d_sse2+0x75>
39026
39027HIDDEN _sk_load_bgra_sse2
39028.globl _sk_load_bgra_sse2
39029FUNCTION(_sk_load_bgra_sse2)
39030_sk_load_bgra_sse2:
39031  .byte  72,173                              // lods          %ds:(%rsi),%rax
39032  .byte  72,139,0                            // mov           (%rax),%rax
39033  .byte  77,133,192                          // test          %r8,%r8
39034  .byte  117,98                              // jne           40f6 <_sk_load_bgra_sse2+0x6c>
39035  .byte  243,68,15,111,12,144                // movdqu        (%rax,%rdx,4),%xmm9
39036  .byte  102,15,111,5,158,47,0,0             // movdqa        0x2f9e(%rip),%xmm0        # 7040 <_sk_callback_sse2+0xfa4>
39037  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
39038  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
39039  .byte  15,91,209                           // cvtdq2ps      %xmm1,%xmm2
39040  .byte  68,15,40,5,154,47,0,0               // movaps        0x2f9a(%rip),%xmm8        # 7050 <_sk_callback_sse2+0xfb4>
39041  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
39042  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
39043  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
39044  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
39045  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
39046  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
39047  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
39048  .byte  102,15,114,211,16                   // psrld         $0x10,%xmm3
39049  .byte  102,15,219,216                      // pand          %xmm0,%xmm3
39050  .byte  15,91,195                           // cvtdq2ps      %xmm3,%xmm0
39051  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
39052  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
39053  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
39054  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
39055  .byte  72,173                              // lods          %ds:(%rsi),%rax
39056  .byte  255,224                             // jmpq          *%rax
39057  .byte  69,137,193                          // mov           %r8d,%r9d
39058  .byte  65,128,225,3                        // and           $0x3,%r9b
39059  .byte  65,128,249,1                        // cmp           $0x1,%r9b
39060  .byte  116,40                              // je            412b <_sk_load_bgra_sse2+0xa1>
39061  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
39062  .byte  65,128,249,2                        // cmp           $0x2,%r9b
39063  .byte  116,18                              // je            4120 <_sk_load_bgra_sse2+0x96>
39064  .byte  65,128,249,3                        // cmp           $0x3,%r9b
39065  .byte  117,134                             // jne           409a <_sk_load_bgra_sse2+0x10>
39066  .byte  102,15,110,68,144,8                 // movd          0x8(%rax,%rdx,4),%xmm0
39067  .byte  102,68,15,112,200,69                // pshufd        $0x45,%xmm0,%xmm9
39068  .byte  102,68,15,18,12,144                 // movlpd        (%rax,%rdx,4),%xmm9
39069  .byte  233,111,255,255,255                 // jmpq          409a <_sk_load_bgra_sse2+0x10>
39070  .byte  102,68,15,110,12,144                // movd          (%rax,%rdx,4),%xmm9
39071  .byte  233,100,255,255,255                 // jmpq          409a <_sk_load_bgra_sse2+0x10>
39072
39073HIDDEN _sk_load_bgra_dst_sse2
39074.globl _sk_load_bgra_dst_sse2
39075FUNCTION(_sk_load_bgra_dst_sse2)
39076_sk_load_bgra_dst_sse2:
39077  .byte  72,173                              // lods          %ds:(%rsi),%rax
39078  .byte  72,139,0                            // mov           (%rax),%rax
39079  .byte  77,133,192                          // test          %r8,%r8
39080  .byte  117,98                              // jne           41a2 <_sk_load_bgra_dst_sse2+0x6c>
39081  .byte  243,68,15,111,12,144                // movdqu        (%rax,%rdx,4),%xmm9
39082  .byte  102,15,111,37,18,47,0,0             // movdqa        0x2f12(%rip),%xmm4        # 7060 <_sk_callback_sse2+0xfc4>
39083  .byte  102,65,15,111,233                   // movdqa        %xmm9,%xmm5
39084  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
39085  .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
39086  .byte  68,15,40,5,14,47,0,0                // movaps        0x2f0e(%rip),%xmm8        # 7070 <_sk_callback_sse2+0xfd4>
39087  .byte  65,15,89,240                        // mulps         %xmm8,%xmm6
39088  .byte  102,65,15,111,233                   // movdqa        %xmm9,%xmm5
39089  .byte  102,15,114,213,8                    // psrld         $0x8,%xmm5
39090  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
39091  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
39092  .byte  65,15,89,232                        // mulps         %xmm8,%xmm5
39093  .byte  102,65,15,111,249                   // movdqa        %xmm9,%xmm7
39094  .byte  102,15,114,215,16                   // psrld         $0x10,%xmm7
39095  .byte  102,15,219,252                      // pand          %xmm4,%xmm7
39096  .byte  15,91,231                           // cvtdq2ps      %xmm7,%xmm4
39097  .byte  65,15,89,224                        // mulps         %xmm8,%xmm4
39098  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
39099  .byte  65,15,91,249                        // cvtdq2ps      %xmm9,%xmm7
39100  .byte  65,15,89,248                        // mulps         %xmm8,%xmm7
39101  .byte  72,173                              // lods          %ds:(%rsi),%rax
39102  .byte  255,224                             // jmpq          *%rax
39103  .byte  69,137,193                          // mov           %r8d,%r9d
39104  .byte  65,128,225,3                        // and           $0x3,%r9b
39105  .byte  65,128,249,1                        // cmp           $0x1,%r9b
39106  .byte  116,40                              // je            41d7 <_sk_load_bgra_dst_sse2+0xa1>
39107  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
39108  .byte  65,128,249,2                        // cmp           $0x2,%r9b
39109  .byte  116,18                              // je            41cc <_sk_load_bgra_dst_sse2+0x96>
39110  .byte  65,128,249,3                        // cmp           $0x3,%r9b
39111  .byte  117,134                             // jne           4146 <_sk_load_bgra_dst_sse2+0x10>
39112  .byte  102,15,110,100,144,8                // movd          0x8(%rax,%rdx,4),%xmm4
39113  .byte  102,68,15,112,204,69                // pshufd        $0x45,%xmm4,%xmm9
39114  .byte  102,68,15,18,12,144                 // movlpd        (%rax,%rdx,4),%xmm9
39115  .byte  233,111,255,255,255                 // jmpq          4146 <_sk_load_bgra_dst_sse2+0x10>
39116  .byte  102,68,15,110,12,144                // movd          (%rax,%rdx,4),%xmm9
39117  .byte  233,100,255,255,255                 // jmpq          4146 <_sk_load_bgra_dst_sse2+0x10>
39118
39119HIDDEN _sk_gather_bgra_sse2
39120.globl _sk_gather_bgra_sse2
39121FUNCTION(_sk_gather_bgra_sse2)
39122_sk_gather_bgra_sse2:
39123  .byte  83                                  // push          %rbx
39124  .byte  72,173                              // lods          %ds:(%rsi),%rax
39125  .byte  76,139,8                            // mov           (%rax),%r9
39126  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
39127  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
39128  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
39129  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
39130  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
39131  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
39132  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
39133  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
39134  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
39135  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
39136  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
39137  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
39138  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
39139  .byte  65,137,194                          // mov           %eax,%r10d
39140  .byte  72,193,232,32                       // shr           $0x20,%rax
39141  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
39142  .byte  68,137,219                          // mov           %r11d,%ebx
39143  .byte  73,193,235,32                       // shr           $0x20,%r11
39144  .byte  102,67,15,110,4,153                 // movd          (%r9,%r11,4),%xmm0
39145  .byte  102,65,15,110,12,129                // movd          (%r9,%rax,4),%xmm1
39146  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
39147  .byte  102,69,15,110,12,153                // movd          (%r9,%rbx,4),%xmm9
39148  .byte  102,67,15,110,12,145                // movd          (%r9,%r10,4),%xmm1
39149  .byte  102,68,15,98,201                    // punpckldq     %xmm1,%xmm9
39150  .byte  102,68,15,98,200                    // punpckldq     %xmm0,%xmm9
39151  .byte  102,15,111,5,28,46,0,0              // movdqa        0x2e1c(%rip),%xmm0        # 7080 <_sk_callback_sse2+0xfe4>
39152  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
39153  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
39154  .byte  15,91,209                           // cvtdq2ps      %xmm1,%xmm2
39155  .byte  68,15,40,5,24,46,0,0                // movaps        0x2e18(%rip),%xmm8        # 7090 <_sk_callback_sse2+0xff4>
39156  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
39157  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
39158  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
39159  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
39160  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
39161  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
39162  .byte  102,65,15,111,217                   // movdqa        %xmm9,%xmm3
39163  .byte  102,15,114,211,16                   // psrld         $0x10,%xmm3
39164  .byte  102,15,219,216                      // pand          %xmm0,%xmm3
39165  .byte  15,91,195                           // cvtdq2ps      %xmm3,%xmm0
39166  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
39167  .byte  102,65,15,114,209,24                // psrld         $0x18,%xmm9
39168  .byte  65,15,91,217                        // cvtdq2ps      %xmm9,%xmm3
39169  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
39170  .byte  72,173                              // lods          %ds:(%rsi),%rax
39171  .byte  91                                  // pop           %rbx
39172  .byte  255,224                             // jmpq          *%rax
39173
39174HIDDEN _sk_store_bgra_sse2
39175.globl _sk_store_bgra_sse2
39176FUNCTION(_sk_store_bgra_sse2)
39177_sk_store_bgra_sse2:
39178  .byte  72,173                              // lods          %ds:(%rsi),%rax
39179  .byte  72,139,0                            // mov           (%rax),%rax
39180  .byte  68,15,40,5,218,45,0,0               // movaps        0x2dda(%rip),%xmm8        # 70a0 <_sk_callback_sse2+0x1004>
39181  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
39182  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
39183  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
39184  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
39185  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
39186  .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
39187  .byte  102,65,15,114,242,8                 // pslld         $0x8,%xmm10
39188  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
39189  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
39190  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
39191  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
39192  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
39193  .byte  68,15,89,195                        // mulps         %xmm3,%xmm8
39194  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
39195  .byte  102,65,15,114,240,24                // pslld         $0x18,%xmm8
39196  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
39197  .byte  102,69,15,235,194                   // por           %xmm10,%xmm8
39198  .byte  77,133,192                          // test          %r8,%r8
39199  .byte  117,10                              // jne           4326 <_sk_store_bgra_sse2+0x6d>
39200  .byte  243,68,15,127,4,144                 // movdqu        %xmm8,(%rax,%rdx,4)
39201  .byte  72,173                              // lods          %ds:(%rsi),%rax
39202  .byte  255,224                             // jmpq          *%rax
39203  .byte  69,137,193                          // mov           %r8d,%r9d
39204  .byte  65,128,225,3                        // and           $0x3,%r9b
39205  .byte  65,128,249,1                        // cmp           $0x1,%r9b
39206  .byte  116,33                              // je            4354 <_sk_store_bgra_sse2+0x9b>
39207  .byte  65,128,249,2                        // cmp           $0x2,%r9b
39208  .byte  116,19                              // je            434c <_sk_store_bgra_sse2+0x93>
39209  .byte  65,128,249,3                        // cmp           $0x3,%r9b
39210  .byte  117,227                             // jne           4322 <_sk_store_bgra_sse2+0x69>
39211  .byte  102,69,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm9
39212  .byte  102,68,15,126,76,144,8              // movd          %xmm9,0x8(%rax,%rdx,4)
39213  .byte  102,68,15,214,4,144                 // movq          %xmm8,(%rax,%rdx,4)
39214  .byte  235,206                             // jmp           4322 <_sk_store_bgra_sse2+0x69>
39215  .byte  102,68,15,126,4,144                 // movd          %xmm8,(%rax,%rdx,4)
39216  .byte  235,198                             // jmp           4322 <_sk_store_bgra_sse2+0x69>
39217
39218HIDDEN _sk_load_f16_sse2
39219.globl _sk_load_f16_sse2
39220FUNCTION(_sk_load_f16_sse2)
39221_sk_load_f16_sse2:
39222  .byte  72,173                              // lods          %ds:(%rsi),%rax
39223  .byte  72,139,0                            // mov           (%rax),%rax
39224  .byte  77,133,192                          // test          %r8,%r8
39225  .byte  15,133,96,1,0,0                     // jne           44ca <_sk_load_f16_sse2+0x16e>
39226  .byte  102,15,16,4,208                     // movupd        (%rax,%rdx,8),%xmm0
39227  .byte  102,15,16,76,208,16                 // movupd        0x10(%rax,%rdx,8),%xmm1
39228  .byte  102,68,15,40,192                    // movapd        %xmm0,%xmm8
39229  .byte  102,68,15,97,193                    // punpcklwd     %xmm1,%xmm8
39230  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
39231  .byte  102,69,15,111,240                   // movdqa        %xmm8,%xmm14
39232  .byte  102,68,15,97,240                    // punpcklwd     %xmm0,%xmm14
39233  .byte  102,68,15,105,192                   // punpckhwd     %xmm0,%xmm8
39234  .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
39235  .byte  102,65,15,111,206                   // movdqa        %xmm14,%xmm1
39236  .byte  102,65,15,97,202                    // punpcklwd     %xmm10,%xmm1
39237  .byte  102,68,15,111,13,6,45,0,0           // movdqa        0x2d06(%rip),%xmm9        # 70b0 <_sk_callback_sse2+0x1014>
39238  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
39239  .byte  102,65,15,219,193                   // pand          %xmm9,%xmm0
39240  .byte  102,15,239,200                      // pxor          %xmm0,%xmm1
39241  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
39242  .byte  102,68,15,111,233                   // movdqa        %xmm1,%xmm13
39243  .byte  102,65,15,114,245,13                // pslld         $0xd,%xmm13
39244  .byte  102,68,15,235,232                   // por           %xmm0,%xmm13
39245  .byte  102,68,15,111,29,235,44,0,0         // movdqa        0x2ceb(%rip),%xmm11        # 70c0 <_sk_callback_sse2+0x1024>
39246  .byte  102,69,15,254,235                   // paddd         %xmm11,%xmm13
39247  .byte  102,68,15,111,37,237,44,0,0         // movdqa        0x2ced(%rip),%xmm12        # 70d0 <_sk_callback_sse2+0x1034>
39248  .byte  102,65,15,239,204                   // pxor          %xmm12,%xmm1
39249  .byte  102,15,111,29,240,44,0,0            // movdqa        0x2cf0(%rip),%xmm3        # 70e0 <_sk_callback_sse2+0x1044>
39250  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
39251  .byte  102,15,102,193                      // pcmpgtd       %xmm1,%xmm0
39252  .byte  102,65,15,223,197                   // pandn         %xmm13,%xmm0
39253  .byte  102,65,15,115,222,8                 // psrldq        $0x8,%xmm14
39254  .byte  102,69,15,97,242                    // punpcklwd     %xmm10,%xmm14
39255  .byte  102,65,15,111,206                   // movdqa        %xmm14,%xmm1
39256  .byte  102,65,15,219,201                   // pand          %xmm9,%xmm1
39257  .byte  102,68,15,239,241                   // pxor          %xmm1,%xmm14
39258  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
39259  .byte  102,65,15,111,214                   // movdqa        %xmm14,%xmm2
39260  .byte  102,15,114,242,13                   // pslld         $0xd,%xmm2
39261  .byte  102,15,235,209                      // por           %xmm1,%xmm2
39262  .byte  102,65,15,254,211                   // paddd         %xmm11,%xmm2
39263  .byte  102,69,15,239,244                   // pxor          %xmm12,%xmm14
39264  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
39265  .byte  102,65,15,102,206                   // pcmpgtd       %xmm14,%xmm1
39266  .byte  102,15,223,202                      // pandn         %xmm2,%xmm1
39267  .byte  102,69,15,111,232                   // movdqa        %xmm8,%xmm13
39268  .byte  102,69,15,97,234                    // punpcklwd     %xmm10,%xmm13
39269  .byte  102,65,15,111,213                   // movdqa        %xmm13,%xmm2
39270  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
39271  .byte  102,68,15,239,234                   // pxor          %xmm2,%xmm13
39272  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
39273  .byte  102,69,15,111,245                   // movdqa        %xmm13,%xmm14
39274  .byte  102,65,15,114,246,13                // pslld         $0xd,%xmm14
39275  .byte  102,68,15,235,242                   // por           %xmm2,%xmm14
39276  .byte  102,69,15,254,243                   // paddd         %xmm11,%xmm14
39277  .byte  102,69,15,239,236                   // pxor          %xmm12,%xmm13
39278  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
39279  .byte  102,65,15,102,213                   // pcmpgtd       %xmm13,%xmm2
39280  .byte  102,65,15,223,214                   // pandn         %xmm14,%xmm2
39281  .byte  102,65,15,115,216,8                 // psrldq        $0x8,%xmm8
39282  .byte  102,69,15,97,194                    // punpcklwd     %xmm10,%xmm8
39283  .byte  102,69,15,219,200                   // pand          %xmm8,%xmm9
39284  .byte  102,69,15,239,193                   // pxor          %xmm9,%xmm8
39285  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
39286  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
39287  .byte  102,65,15,114,242,13                // pslld         $0xd,%xmm10
39288  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
39289  .byte  102,69,15,254,211                   // paddd         %xmm11,%xmm10
39290  .byte  102,69,15,239,196                   // pxor          %xmm12,%xmm8
39291  .byte  102,65,15,102,216                   // pcmpgtd       %xmm8,%xmm3
39292  .byte  102,65,15,223,218                   // pandn         %xmm10,%xmm3
39293  .byte  72,173                              // lods          %ds:(%rsi),%rax
39294  .byte  255,224                             // jmpq          *%rax
39295  .byte  242,15,16,4,208                     // movsd         (%rax,%rdx,8),%xmm0
39296  .byte  73,131,248,1                        // cmp           $0x1,%r8
39297  .byte  117,17                              // jne           44e6 <_sk_load_f16_sse2+0x18a>
39298  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
39299  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
39300  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
39301  .byte  233,143,254,255,255                 // jmpq          4375 <_sk_load_f16_sse2+0x19>
39302  .byte  102,15,22,68,208,8                  // movhpd        0x8(%rax,%rdx,8),%xmm0
39303  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
39304  .byte  73,131,248,3                        // cmp           $0x3,%r8
39305  .byte  15,130,123,254,255,255              // jb            4375 <_sk_load_f16_sse2+0x19>
39306  .byte  242,15,16,76,208,16                 // movsd         0x10(%rax,%rdx,8),%xmm1
39307  .byte  233,112,254,255,255                 // jmpq          4375 <_sk_load_f16_sse2+0x19>
39308
39309HIDDEN _sk_load_f16_dst_sse2
39310.globl _sk_load_f16_dst_sse2
39311FUNCTION(_sk_load_f16_dst_sse2)
39312_sk_load_f16_dst_sse2:
39313  .byte  72,173                              // lods          %ds:(%rsi),%rax
39314  .byte  72,139,0                            // mov           (%rax),%rax
39315  .byte  77,133,192                          // test          %r8,%r8
39316  .byte  15,133,96,1,0,0                     // jne           4673 <_sk_load_f16_dst_sse2+0x16e>
39317  .byte  102,15,16,36,208                    // movupd        (%rax,%rdx,8),%xmm4
39318  .byte  102,15,16,108,208,16                // movupd        0x10(%rax,%rdx,8),%xmm5
39319  .byte  102,68,15,40,196                    // movapd        %xmm4,%xmm8
39320  .byte  102,68,15,97,197                    // punpcklwd     %xmm5,%xmm8
39321  .byte  102,15,105,229                      // punpckhwd     %xmm5,%xmm4
39322  .byte  102,69,15,111,240                   // movdqa        %xmm8,%xmm14
39323  .byte  102,68,15,97,244                    // punpcklwd     %xmm4,%xmm14
39324  .byte  102,68,15,105,196                   // punpckhwd     %xmm4,%xmm8
39325  .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
39326  .byte  102,65,15,111,238                   // movdqa        %xmm14,%xmm5
39327  .byte  102,65,15,97,234                    // punpcklwd     %xmm10,%xmm5
39328  .byte  102,68,15,111,13,157,43,0,0         // movdqa        0x2b9d(%rip),%xmm9        # 70f0 <_sk_callback_sse2+0x1054>
39329  .byte  102,15,111,229                      // movdqa        %xmm5,%xmm4
39330  .byte  102,65,15,219,225                   // pand          %xmm9,%xmm4
39331  .byte  102,15,239,236                      // pxor          %xmm4,%xmm5
39332  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
39333  .byte  102,68,15,111,237                   // movdqa        %xmm5,%xmm13
39334  .byte  102,65,15,114,245,13                // pslld         $0xd,%xmm13
39335  .byte  102,68,15,235,236                   // por           %xmm4,%xmm13
39336  .byte  102,68,15,111,29,130,43,0,0         // movdqa        0x2b82(%rip),%xmm11        # 7100 <_sk_callback_sse2+0x1064>
39337  .byte  102,69,15,254,235                   // paddd         %xmm11,%xmm13
39338  .byte  102,68,15,111,37,132,43,0,0         // movdqa        0x2b84(%rip),%xmm12        # 7110 <_sk_callback_sse2+0x1074>
39339  .byte  102,65,15,239,236                   // pxor          %xmm12,%xmm5
39340  .byte  102,15,111,61,135,43,0,0            // movdqa        0x2b87(%rip),%xmm7        # 7120 <_sk_callback_sse2+0x1084>
39341  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
39342  .byte  102,15,102,229                      // pcmpgtd       %xmm5,%xmm4
39343  .byte  102,65,15,223,229                   // pandn         %xmm13,%xmm4
39344  .byte  102,65,15,115,222,8                 // psrldq        $0x8,%xmm14
39345  .byte  102,69,15,97,242                    // punpcklwd     %xmm10,%xmm14
39346  .byte  102,65,15,111,238                   // movdqa        %xmm14,%xmm5
39347  .byte  102,65,15,219,233                   // pand          %xmm9,%xmm5
39348  .byte  102,68,15,239,245                   // pxor          %xmm5,%xmm14
39349  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
39350  .byte  102,65,15,111,246                   // movdqa        %xmm14,%xmm6
39351  .byte  102,15,114,246,13                   // pslld         $0xd,%xmm6
39352  .byte  102,15,235,245                      // por           %xmm5,%xmm6
39353  .byte  102,65,15,254,243                   // paddd         %xmm11,%xmm6
39354  .byte  102,69,15,239,244                   // pxor          %xmm12,%xmm14
39355  .byte  102,15,111,239                      // movdqa        %xmm7,%xmm5
39356  .byte  102,65,15,102,238                   // pcmpgtd       %xmm14,%xmm5
39357  .byte  102,15,223,238                      // pandn         %xmm6,%xmm5
39358  .byte  102,69,15,111,232                   // movdqa        %xmm8,%xmm13
39359  .byte  102,69,15,97,234                    // punpcklwd     %xmm10,%xmm13
39360  .byte  102,65,15,111,245                   // movdqa        %xmm13,%xmm6
39361  .byte  102,65,15,219,241                   // pand          %xmm9,%xmm6
39362  .byte  102,68,15,239,238                   // pxor          %xmm6,%xmm13
39363  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
39364  .byte  102,69,15,111,245                   // movdqa        %xmm13,%xmm14
39365  .byte  102,65,15,114,246,13                // pslld         $0xd,%xmm14
39366  .byte  102,68,15,235,246                   // por           %xmm6,%xmm14
39367  .byte  102,69,15,254,243                   // paddd         %xmm11,%xmm14
39368  .byte  102,69,15,239,236                   // pxor          %xmm12,%xmm13
39369  .byte  102,15,111,247                      // movdqa        %xmm7,%xmm6
39370  .byte  102,65,15,102,245                   // pcmpgtd       %xmm13,%xmm6
39371  .byte  102,65,15,223,246                   // pandn         %xmm14,%xmm6
39372  .byte  102,65,15,115,216,8                 // psrldq        $0x8,%xmm8
39373  .byte  102,69,15,97,194                    // punpcklwd     %xmm10,%xmm8
39374  .byte  102,69,15,219,200                   // pand          %xmm8,%xmm9
39375  .byte  102,69,15,239,193                   // pxor          %xmm9,%xmm8
39376  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
39377  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
39378  .byte  102,65,15,114,242,13                // pslld         $0xd,%xmm10
39379  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
39380  .byte  102,69,15,254,211                   // paddd         %xmm11,%xmm10
39381  .byte  102,69,15,239,196                   // pxor          %xmm12,%xmm8
39382  .byte  102,65,15,102,248                   // pcmpgtd       %xmm8,%xmm7
39383  .byte  102,65,15,223,250                   // pandn         %xmm10,%xmm7
39384  .byte  72,173                              // lods          %ds:(%rsi),%rax
39385  .byte  255,224                             // jmpq          *%rax
39386  .byte  242,15,16,36,208                    // movsd         (%rax,%rdx,8),%xmm4
39387  .byte  73,131,248,1                        // cmp           $0x1,%r8
39388  .byte  117,17                              // jne           468f <_sk_load_f16_dst_sse2+0x18a>
39389  .byte  102,15,87,237                       // xorpd         %xmm5,%xmm5
39390  .byte  102,15,20,229                       // unpcklpd      %xmm5,%xmm4
39391  .byte  102,15,87,237                       // xorpd         %xmm5,%xmm5
39392  .byte  233,143,254,255,255                 // jmpq          451e <_sk_load_f16_dst_sse2+0x19>
39393  .byte  102,15,22,100,208,8                 // movhpd        0x8(%rax,%rdx,8),%xmm4
39394  .byte  102,15,87,237                       // xorpd         %xmm5,%xmm5
39395  .byte  73,131,248,3                        // cmp           $0x3,%r8
39396  .byte  15,130,123,254,255,255              // jb            451e <_sk_load_f16_dst_sse2+0x19>
39397  .byte  242,15,16,108,208,16                // movsd         0x10(%rax,%rdx,8),%xmm5
39398  .byte  233,112,254,255,255                 // jmpq          451e <_sk_load_f16_dst_sse2+0x19>
39399
39400HIDDEN _sk_gather_f16_sse2
39401.globl _sk_gather_f16_sse2
39402FUNCTION(_sk_gather_f16_sse2)
39403_sk_gather_f16_sse2:
39404  .byte  83                                  // push          %rbx
39405  .byte  72,173                              // lods          %ds:(%rsi),%rax
39406  .byte  76,139,8                            // mov           (%rax),%r9
39407  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
39408  .byte  102,15,110,80,8                     // movd          0x8(%rax),%xmm2
39409  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
39410  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
39411  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
39412  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
39413  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
39414  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
39415  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
39416  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
39417  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
39418  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
39419  .byte  102,72,15,126,200                   // movq          %xmm1,%rax
39420  .byte  65,137,194                          // mov           %eax,%r10d
39421  .byte  72,193,232,32                       // shr           $0x20,%rax
39422  .byte  102,73,15,126,195                   // movq          %xmm0,%r11
39423  .byte  68,137,219                          // mov           %r11d,%ebx
39424  .byte  73,193,235,32                       // shr           $0x20,%r11
39425  .byte  243,67,15,126,4,217                 // movq          (%r9,%r11,8),%xmm0
39426  .byte  243,65,15,126,12,217                // movq          (%r9,%rbx,8),%xmm1
39427  .byte  102,15,108,200                      // punpcklqdq    %xmm0,%xmm1
39428  .byte  243,65,15,126,4,193                 // movq          (%r9,%rax,8),%xmm0
39429  .byte  243,67,15,126,20,209                // movq          (%r9,%r10,8),%xmm2
39430  .byte  102,15,108,208                      // punpcklqdq    %xmm0,%xmm2
39431  .byte  102,68,15,111,193                   // movdqa        %xmm1,%xmm8
39432  .byte  102,68,15,97,194                    // punpcklwd     %xmm2,%xmm8
39433  .byte  102,15,105,202                      // punpckhwd     %xmm2,%xmm1
39434  .byte  102,69,15,111,240                   // movdqa        %xmm8,%xmm14
39435  .byte  102,68,15,97,241                    // punpcklwd     %xmm1,%xmm14
39436  .byte  102,68,15,105,193                   // punpckhwd     %xmm1,%xmm8
39437  .byte  102,69,15,239,210                   // pxor          %xmm10,%xmm10
39438  .byte  102,65,15,111,206                   // movdqa        %xmm14,%xmm1
39439  .byte  102,65,15,97,202                    // punpcklwd     %xmm10,%xmm1
39440  .byte  102,68,15,111,13,217,41,0,0         // movdqa        0x29d9(%rip),%xmm9        # 7130 <_sk_callback_sse2+0x1094>
39441  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
39442  .byte  102,65,15,219,193                   // pand          %xmm9,%xmm0
39443  .byte  102,15,239,200                      // pxor          %xmm0,%xmm1
39444  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
39445  .byte  102,68,15,111,233                   // movdqa        %xmm1,%xmm13
39446  .byte  102,65,15,114,245,13                // pslld         $0xd,%xmm13
39447  .byte  102,68,15,235,232                   // por           %xmm0,%xmm13
39448  .byte  102,68,15,111,29,190,41,0,0         // movdqa        0x29be(%rip),%xmm11        # 7140 <_sk_callback_sse2+0x10a4>
39449  .byte  102,69,15,254,235                   // paddd         %xmm11,%xmm13
39450  .byte  102,68,15,111,37,192,41,0,0         // movdqa        0x29c0(%rip),%xmm12        # 7150 <_sk_callback_sse2+0x10b4>
39451  .byte  102,65,15,239,204                   // pxor          %xmm12,%xmm1
39452  .byte  102,15,111,29,195,41,0,0            // movdqa        0x29c3(%rip),%xmm3        # 7160 <_sk_callback_sse2+0x10c4>
39453  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
39454  .byte  102,15,102,193                      // pcmpgtd       %xmm1,%xmm0
39455  .byte  102,65,15,223,197                   // pandn         %xmm13,%xmm0
39456  .byte  102,65,15,115,222,8                 // psrldq        $0x8,%xmm14
39457  .byte  102,69,15,97,242                    // punpcklwd     %xmm10,%xmm14
39458  .byte  102,65,15,111,206                   // movdqa        %xmm14,%xmm1
39459  .byte  102,65,15,219,201                   // pand          %xmm9,%xmm1
39460  .byte  102,68,15,239,241                   // pxor          %xmm1,%xmm14
39461  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
39462  .byte  102,65,15,111,214                   // movdqa        %xmm14,%xmm2
39463  .byte  102,15,114,242,13                   // pslld         $0xd,%xmm2
39464  .byte  102,15,235,209                      // por           %xmm1,%xmm2
39465  .byte  102,65,15,254,211                   // paddd         %xmm11,%xmm2
39466  .byte  102,69,15,239,244                   // pxor          %xmm12,%xmm14
39467  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
39468  .byte  102,65,15,102,206                   // pcmpgtd       %xmm14,%xmm1
39469  .byte  102,15,223,202                      // pandn         %xmm2,%xmm1
39470  .byte  102,69,15,111,232                   // movdqa        %xmm8,%xmm13
39471  .byte  102,69,15,97,234                    // punpcklwd     %xmm10,%xmm13
39472  .byte  102,65,15,111,213                   // movdqa        %xmm13,%xmm2
39473  .byte  102,65,15,219,209                   // pand          %xmm9,%xmm2
39474  .byte  102,68,15,239,234                   // pxor          %xmm2,%xmm13
39475  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
39476  .byte  102,69,15,111,245                   // movdqa        %xmm13,%xmm14
39477  .byte  102,65,15,114,246,13                // pslld         $0xd,%xmm14
39478  .byte  102,68,15,235,242                   // por           %xmm2,%xmm14
39479  .byte  102,69,15,254,243                   // paddd         %xmm11,%xmm14
39480  .byte  102,69,15,239,236                   // pxor          %xmm12,%xmm13
39481  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
39482  .byte  102,65,15,102,213                   // pcmpgtd       %xmm13,%xmm2
39483  .byte  102,65,15,223,214                   // pandn         %xmm14,%xmm2
39484  .byte  102,65,15,115,216,8                 // psrldq        $0x8,%xmm8
39485  .byte  102,69,15,97,194                    // punpcklwd     %xmm10,%xmm8
39486  .byte  102,69,15,219,200                   // pand          %xmm8,%xmm9
39487  .byte  102,69,15,239,193                   // pxor          %xmm9,%xmm8
39488  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
39489  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
39490  .byte  102,65,15,114,242,13                // pslld         $0xd,%xmm10
39491  .byte  102,69,15,235,209                   // por           %xmm9,%xmm10
39492  .byte  102,69,15,254,211                   // paddd         %xmm11,%xmm10
39493  .byte  102,69,15,239,196                   // pxor          %xmm12,%xmm8
39494  .byte  102,65,15,102,216                   // pcmpgtd       %xmm8,%xmm3
39495  .byte  102,65,15,223,218                   // pandn         %xmm10,%xmm3
39496  .byte  72,173                              // lods          %ds:(%rsi),%rax
39497  .byte  91                                  // pop           %rbx
39498  .byte  255,224                             // jmpq          *%rax
39499
39500HIDDEN _sk_store_f16_sse2
39501.globl _sk_store_f16_sse2
39502FUNCTION(_sk_store_f16_sse2)
39503_sk_store_f16_sse2:
39504  .byte  72,173                              // lods          %ds:(%rsi),%rax
39505  .byte  72,139,0                            // mov           (%rax),%rax
39506  .byte  102,68,15,111,21,234,40,0,0         // movdqa        0x28ea(%rip),%xmm10        # 7170 <_sk_callback_sse2+0x10d4>
39507  .byte  102,68,15,111,224                   // movdqa        %xmm0,%xmm12
39508  .byte  102,69,15,219,226                   // pand          %xmm10,%xmm12
39509  .byte  102,68,15,111,232                   // movdqa        %xmm0,%xmm13
39510  .byte  102,69,15,239,236                   // pxor          %xmm12,%xmm13
39511  .byte  102,68,15,111,13,221,40,0,0         // movdqa        0x28dd(%rip),%xmm9        # 7180 <_sk_callback_sse2+0x10e4>
39512  .byte  102,65,15,114,212,16                // psrld         $0x10,%xmm12
39513  .byte  102,69,15,111,193                   // movdqa        %xmm9,%xmm8
39514  .byte  102,69,15,102,197                   // pcmpgtd       %xmm13,%xmm8
39515  .byte  102,65,15,114,213,13                // psrld         $0xd,%xmm13
39516  .byte  102,68,15,111,29,206,40,0,0         // movdqa        0x28ce(%rip),%xmm11        # 7190 <_sk_callback_sse2+0x10f4>
39517  .byte  102,69,15,235,227                   // por           %xmm11,%xmm12
39518  .byte  102,69,15,254,229                   // paddd         %xmm13,%xmm12
39519  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
39520  .byte  102,65,15,114,228,16                // psrad         $0x10,%xmm12
39521  .byte  102,69,15,223,196                   // pandn         %xmm12,%xmm8
39522  .byte  102,69,15,107,192                   // packssdw      %xmm8,%xmm8
39523  .byte  102,68,15,111,225                   // movdqa        %xmm1,%xmm12
39524  .byte  102,69,15,219,226                   // pand          %xmm10,%xmm12
39525  .byte  102,68,15,111,241                   // movdqa        %xmm1,%xmm14
39526  .byte  102,69,15,239,244                   // pxor          %xmm12,%xmm14
39527  .byte  102,65,15,114,212,16                // psrld         $0x10,%xmm12
39528  .byte  102,69,15,111,233                   // movdqa        %xmm9,%xmm13
39529  .byte  102,69,15,102,238                   // pcmpgtd       %xmm14,%xmm13
39530  .byte  102,65,15,114,214,13                // psrld         $0xd,%xmm14
39531  .byte  102,69,15,235,227                   // por           %xmm11,%xmm12
39532  .byte  102,69,15,254,230                   // paddd         %xmm14,%xmm12
39533  .byte  102,65,15,114,244,16                // pslld         $0x10,%xmm12
39534  .byte  102,65,15,114,228,16                // psrad         $0x10,%xmm12
39535  .byte  102,69,15,223,236                   // pandn         %xmm12,%xmm13
39536  .byte  102,69,15,107,237                   // packssdw      %xmm13,%xmm13
39537  .byte  102,68,15,111,242                   // movdqa        %xmm2,%xmm14
39538  .byte  102,69,15,219,242                   // pand          %xmm10,%xmm14
39539  .byte  102,68,15,111,250                   // movdqa        %xmm2,%xmm15
39540  .byte  102,69,15,239,254                   // pxor          %xmm14,%xmm15
39541  .byte  102,65,15,114,214,16                // psrld         $0x10,%xmm14
39542  .byte  102,69,15,111,225                   // movdqa        %xmm9,%xmm12
39543  .byte  102,69,15,102,231                   // pcmpgtd       %xmm15,%xmm12
39544  .byte  102,65,15,114,215,13                // psrld         $0xd,%xmm15
39545  .byte  102,69,15,235,243                   // por           %xmm11,%xmm14
39546  .byte  102,69,15,254,247                   // paddd         %xmm15,%xmm14
39547  .byte  102,65,15,114,246,16                // pslld         $0x10,%xmm14
39548  .byte  102,65,15,114,230,16                // psrad         $0x10,%xmm14
39549  .byte  102,69,15,223,230                   // pandn         %xmm14,%xmm12
39550  .byte  102,69,15,107,228                   // packssdw      %xmm12,%xmm12
39551  .byte  102,68,15,219,211                   // pand          %xmm3,%xmm10
39552  .byte  102,68,15,111,243                   // movdqa        %xmm3,%xmm14
39553  .byte  102,69,15,239,242                   // pxor          %xmm10,%xmm14
39554  .byte  102,65,15,114,210,16                // psrld         $0x10,%xmm10
39555  .byte  102,69,15,102,206                   // pcmpgtd       %xmm14,%xmm9
39556  .byte  102,65,15,114,214,13                // psrld         $0xd,%xmm14
39557  .byte  102,69,15,235,211                   // por           %xmm11,%xmm10
39558  .byte  102,69,15,254,214                   // paddd         %xmm14,%xmm10
39559  .byte  102,65,15,114,242,16                // pslld         $0x10,%xmm10
39560  .byte  102,65,15,114,226,16                // psrad         $0x10,%xmm10
39561  .byte  102,69,15,223,202                   // pandn         %xmm10,%xmm9
39562  .byte  102,69,15,107,201                   // packssdw      %xmm9,%xmm9
39563  .byte  102,69,15,97,197                    // punpcklwd     %xmm13,%xmm8
39564  .byte  102,69,15,97,225                    // punpcklwd     %xmm9,%xmm12
39565  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
39566  .byte  102,69,15,98,204                    // punpckldq     %xmm12,%xmm9
39567  .byte  77,133,192                          // test          %r8,%r8
39568  .byte  117,21                              // jne           49e4 <_sk_store_f16_sse2+0x16c>
39569  .byte  68,15,17,12,208                     // movups        %xmm9,(%rax,%rdx,8)
39570  .byte  102,69,15,106,196                   // punpckhdq     %xmm12,%xmm8
39571  .byte  243,68,15,127,68,208,16             // movdqu        %xmm8,0x10(%rax,%rdx,8)
39572  .byte  72,173                              // lods          %ds:(%rsi),%rax
39573  .byte  255,224                             // jmpq          *%rax
39574  .byte  102,68,15,214,12,208                // movq          %xmm9,(%rax,%rdx,8)
39575  .byte  73,131,248,1                        // cmp           $0x1,%r8
39576  .byte  116,240                             // je            49e0 <_sk_store_f16_sse2+0x168>
39577  .byte  102,68,15,23,76,208,8               // movhpd        %xmm9,0x8(%rax,%rdx,8)
39578  .byte  73,131,248,3                        // cmp           $0x3,%r8
39579  .byte  114,227                             // jb            49e0 <_sk_store_f16_sse2+0x168>
39580  .byte  102,69,15,106,196                   // punpckhdq     %xmm12,%xmm8
39581  .byte  102,68,15,214,68,208,16             // movq          %xmm8,0x10(%rax,%rdx,8)
39582  .byte  235,213                             // jmp           49e0 <_sk_store_f16_sse2+0x168>
39583
39584HIDDEN _sk_load_u16_be_sse2
39585.globl _sk_load_u16_be_sse2
39586FUNCTION(_sk_load_u16_be_sse2)
39587_sk_load_u16_be_sse2:
39588  .byte  72,173                              // lods          %ds:(%rsi),%rax
39589  .byte  76,139,8                            // mov           (%rax),%r9
39590  .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
39591  .byte  77,133,192                          // test          %r8,%r8
39592  .byte  15,133,190,0,0,0                    // jne           4adf <_sk_load_u16_be_sse2+0xd4>
39593  .byte  102,65,15,16,4,65                   // movupd        (%r9,%rax,2),%xmm0
39594  .byte  102,65,15,16,76,65,16               // movupd        0x10(%r9,%rax,2),%xmm1
39595  .byte  102,15,40,208                       // movapd        %xmm0,%xmm2
39596  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
39597  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
39598  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
39599  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
39600  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
39601  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
39602  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
39603  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
39604  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
39605  .byte  102,15,235,200                      // por           %xmm0,%xmm1
39606  .byte  102,69,15,239,201                   // pxor          %xmm9,%xmm9
39607  .byte  102,65,15,97,201                    // punpcklwd     %xmm9,%xmm1
39608  .byte  15,91,193                           // cvtdq2ps      %xmm1,%xmm0
39609  .byte  68,15,40,5,46,39,0,0                // movaps        0x272e(%rip),%xmm8        # 71a0 <_sk_callback_sse2+0x1104>
39610  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
39611  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
39612  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
39613  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
39614  .byte  102,15,235,217                      // por           %xmm1,%xmm3
39615  .byte  102,65,15,97,217                    // punpcklwd     %xmm9,%xmm3
39616  .byte  15,91,203                           // cvtdq2ps      %xmm3,%xmm1
39617  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
39618  .byte  102,68,15,111,210                   // movdqa        %xmm2,%xmm10
39619  .byte  102,65,15,113,242,8                 // psllw         $0x8,%xmm10
39620  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
39621  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
39622  .byte  102,65,15,235,210                   // por           %xmm10,%xmm2
39623  .byte  102,65,15,97,209                    // punpcklwd     %xmm9,%xmm2
39624  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
39625  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
39626  .byte  102,68,15,111,211                   // movdqa        %xmm3,%xmm10
39627  .byte  102,65,15,113,242,8                 // psllw         $0x8,%xmm10
39628  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
39629  .byte  102,65,15,235,218                   // por           %xmm10,%xmm3
39630  .byte  102,65,15,97,217                    // punpcklwd     %xmm9,%xmm3
39631  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
39632  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
39633  .byte  72,173                              // lods          %ds:(%rsi),%rax
39634  .byte  255,224                             // jmpq          *%rax
39635  .byte  242,65,15,16,4,65                   // movsd         (%r9,%rax,2),%xmm0
39636  .byte  73,131,248,1                        // cmp           $0x1,%r8
39637  .byte  117,17                              // jne           4afc <_sk_load_u16_be_sse2+0xf1>
39638  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
39639  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
39640  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
39641  .byte  233,50,255,255,255                  // jmpq          4a2e <_sk_load_u16_be_sse2+0x23>
39642  .byte  102,65,15,22,68,65,8                // movhpd        0x8(%r9,%rax,2),%xmm0
39643  .byte  102,15,87,201                       // xorpd         %xmm1,%xmm1
39644  .byte  73,131,248,3                        // cmp           $0x3,%r8
39645  .byte  15,130,29,255,255,255               // jb            4a2e <_sk_load_u16_be_sse2+0x23>
39646  .byte  242,65,15,16,76,65,16               // movsd         0x10(%r9,%rax,2),%xmm1
39647  .byte  233,17,255,255,255                  // jmpq          4a2e <_sk_load_u16_be_sse2+0x23>
39648
39649HIDDEN _sk_load_rgb_u16_be_sse2
39650.globl _sk_load_rgb_u16_be_sse2
39651FUNCTION(_sk_load_rgb_u16_be_sse2)
39652_sk_load_rgb_u16_be_sse2:
39653  .byte  72,173                              // lods          %ds:(%rsi),%rax
39654  .byte  76,139,8                            // mov           (%rax),%r9
39655  .byte  72,141,4,82                         // lea           (%rdx,%rdx,2),%rax
39656  .byte  77,133,192                          // test          %r8,%r8
39657  .byte  15,133,175,0,0,0                    // jne           4bde <_sk_load_rgb_u16_be_sse2+0xc1>
39658  .byte  243,65,15,111,20,65                 // movdqu        (%r9,%rax,2),%xmm2
39659  .byte  243,65,15,111,92,65,8               // movdqu        0x8(%r9,%rax,2),%xmm3
39660  .byte  102,15,115,219,4                    // psrldq        $0x4,%xmm3
39661  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
39662  .byte  102,15,115,216,6                    // psrldq        $0x6,%xmm0
39663  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
39664  .byte  102,15,115,217,6                    // psrldq        $0x6,%xmm1
39665  .byte  102,15,97,211                       // punpcklwd     %xmm3,%xmm2
39666  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
39667  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
39668  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
39669  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
39670  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
39671  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
39672  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
39673  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
39674  .byte  102,15,235,200                      // por           %xmm0,%xmm1
39675  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
39676  .byte  102,65,15,97,200                    // punpcklwd     %xmm8,%xmm1
39677  .byte  15,91,193                           // cvtdq2ps      %xmm1,%xmm0
39678  .byte  68,15,40,13,29,38,0,0               // movaps        0x261d(%rip),%xmm9        # 71b0 <_sk_callback_sse2+0x1114>
39679  .byte  65,15,89,193                        // mulps         %xmm9,%xmm0
39680  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
39681  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
39682  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
39683  .byte  102,15,235,217                      // por           %xmm1,%xmm3
39684  .byte  102,65,15,97,216                    // punpcklwd     %xmm8,%xmm3
39685  .byte  15,91,203                           // cvtdq2ps      %xmm3,%xmm1
39686  .byte  65,15,89,201                        // mulps         %xmm9,%xmm1
39687  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
39688  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
39689  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
39690  .byte  102,15,235,211                      // por           %xmm3,%xmm2
39691  .byte  102,65,15,97,208                    // punpcklwd     %xmm8,%xmm2
39692  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
39693  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
39694  .byte  72,173                              // lods          %ds:(%rsi),%rax
39695  .byte  15,40,29,228,37,0,0                 // movaps        0x25e4(%rip),%xmm3        # 71c0 <_sk_callback_sse2+0x1124>
39696  .byte  255,224                             // jmpq          *%rax
39697  .byte  102,65,15,110,20,65                 // movd          (%r9,%rax,2),%xmm2
39698  .byte  102,65,15,196,84,65,4,2             // pinsrw        $0x2,0x4(%r9,%rax,2),%xmm2
39699  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
39700  .byte  73,131,248,1                        // cmp           $0x1,%r8
39701  .byte  117,13                              // jne           4c03 <_sk_load_rgb_u16_be_sse2+0xe6>
39702  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
39703  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
39704  .byte  233,80,255,255,255                  // jmpq          4b53 <_sk_load_rgb_u16_be_sse2+0x36>
39705  .byte  102,65,15,110,68,65,6               // movd          0x6(%r9,%rax,2),%xmm0
39706  .byte  102,65,15,196,68,65,10,2            // pinsrw        $0x2,0xa(%r9,%rax,2),%xmm0
39707  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
39708  .byte  73,131,248,3                        // cmp           $0x3,%r8
39709  .byte  114,24                              // jb            4c34 <_sk_load_rgb_u16_be_sse2+0x117>
39710  .byte  102,65,15,110,92,65,12              // movd          0xc(%r9,%rax,2),%xmm3
39711  .byte  102,65,15,196,92,65,16,2            // pinsrw        $0x2,0x10(%r9,%rax,2),%xmm3
39712  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
39713  .byte  233,31,255,255,255                  // jmpq          4b53 <_sk_load_rgb_u16_be_sse2+0x36>
39714  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
39715  .byte  233,22,255,255,255                  // jmpq          4b53 <_sk_load_rgb_u16_be_sse2+0x36>
39716
39717HIDDEN _sk_store_u16_be_sse2
39718.globl _sk_store_u16_be_sse2
39719FUNCTION(_sk_store_u16_be_sse2)
39720_sk_store_u16_be_sse2:
39721  .byte  72,173                              // lods          %ds:(%rsi),%rax
39722  .byte  76,139,8                            // mov           (%rax),%r9
39723  .byte  72,141,4,149,0,0,0,0                // lea           0x0(,%rdx,4),%rax
39724  .byte  68,15,40,21,126,37,0,0              // movaps        0x257e(%rip),%xmm10        # 71d0 <_sk_callback_sse2+0x1134>
39725  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
39726  .byte  69,15,89,194                        // mulps         %xmm10,%xmm8
39727  .byte  102,69,15,91,192                    // cvtps2dq      %xmm8,%xmm8
39728  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
39729  .byte  102,65,15,114,224,16                // psrad         $0x10,%xmm8
39730  .byte  102,69,15,107,192                   // packssdw      %xmm8,%xmm8
39731  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
39732  .byte  102,65,15,113,241,8                 // psllw         $0x8,%xmm9
39733  .byte  102,65,15,113,208,8                 // psrlw         $0x8,%xmm8
39734  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
39735  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
39736  .byte  69,15,89,202                        // mulps         %xmm10,%xmm9
39737  .byte  102,69,15,91,217                    // cvtps2dq      %xmm9,%xmm11
39738  .byte  102,65,15,114,243,16                // pslld         $0x10,%xmm11
39739  .byte  102,65,15,114,227,16                // psrad         $0x10,%xmm11
39740  .byte  102,69,15,107,219                   // packssdw      %xmm11,%xmm11
39741  .byte  102,69,15,111,203                   // movdqa        %xmm11,%xmm9
39742  .byte  102,65,15,113,241,8                 // psllw         $0x8,%xmm9
39743  .byte  102,65,15,113,211,8                 // psrlw         $0x8,%xmm11
39744  .byte  102,69,15,235,217                   // por           %xmm9,%xmm11
39745  .byte  68,15,40,202                        // movaps        %xmm2,%xmm9
39746  .byte  69,15,89,202                        // mulps         %xmm10,%xmm9
39747  .byte  102,69,15,91,201                    // cvtps2dq      %xmm9,%xmm9
39748  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
39749  .byte  102,65,15,114,225,16                // psrad         $0x10,%xmm9
39750  .byte  102,69,15,107,201                   // packssdw      %xmm9,%xmm9
39751  .byte  102,69,15,111,225                   // movdqa        %xmm9,%xmm12
39752  .byte  102,65,15,113,244,8                 // psllw         $0x8,%xmm12
39753  .byte  102,65,15,113,209,8                 // psrlw         $0x8,%xmm9
39754  .byte  102,69,15,235,204                   // por           %xmm12,%xmm9
39755  .byte  68,15,89,211                        // mulps         %xmm3,%xmm10
39756  .byte  102,69,15,91,210                    // cvtps2dq      %xmm10,%xmm10
39757  .byte  102,65,15,114,242,16                // pslld         $0x10,%xmm10
39758  .byte  102,65,15,114,226,16                // psrad         $0x10,%xmm10
39759  .byte  102,69,15,107,210                   // packssdw      %xmm10,%xmm10
39760  .byte  102,69,15,111,226                   // movdqa        %xmm10,%xmm12
39761  .byte  102,65,15,113,244,8                 // psllw         $0x8,%xmm12
39762  .byte  102,65,15,113,210,8                 // psrlw         $0x8,%xmm10
39763  .byte  102,69,15,235,212                   // por           %xmm12,%xmm10
39764  .byte  102,69,15,97,195                    // punpcklwd     %xmm11,%xmm8
39765  .byte  102,69,15,97,202                    // punpcklwd     %xmm10,%xmm9
39766  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
39767  .byte  102,69,15,98,209                    // punpckldq     %xmm9,%xmm10
39768  .byte  77,133,192                          // test          %r8,%r8
39769  .byte  117,21                              // jne           4d4c <_sk_store_u16_be_sse2+0x10f>
39770  .byte  69,15,17,20,65                      // movups        %xmm10,(%r9,%rax,2)
39771  .byte  102,69,15,106,193                   // punpckhdq     %xmm9,%xmm8
39772  .byte  243,69,15,127,68,65,16              // movdqu        %xmm8,0x10(%r9,%rax,2)
39773  .byte  72,173                              // lods          %ds:(%rsi),%rax
39774  .byte  255,224                             // jmpq          *%rax
39775  .byte  102,69,15,214,20,65                 // movq          %xmm10,(%r9,%rax,2)
39776  .byte  73,131,248,1                        // cmp           $0x1,%r8
39777  .byte  116,240                             // je            4d48 <_sk_store_u16_be_sse2+0x10b>
39778  .byte  102,69,15,23,84,65,8                // movhpd        %xmm10,0x8(%r9,%rax,2)
39779  .byte  73,131,248,3                        // cmp           $0x3,%r8
39780  .byte  114,227                             // jb            4d48 <_sk_store_u16_be_sse2+0x10b>
39781  .byte  102,69,15,106,193                   // punpckhdq     %xmm9,%xmm8
39782  .byte  102,69,15,214,68,65,16              // movq          %xmm8,0x10(%r9,%rax,2)
39783  .byte  235,213                             // jmp           4d48 <_sk_store_u16_be_sse2+0x10b>
39784
39785HIDDEN _sk_load_f32_sse2
39786.globl _sk_load_f32_sse2
39787FUNCTION(_sk_load_f32_sse2)
39788_sk_load_f32_sse2:
39789  .byte  72,173                              // lods          %ds:(%rsi),%rax
39790  .byte  76,139,16                           // mov           (%rax),%r10
39791  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
39792  .byte  72,137,208                          // mov           %rdx,%rax
39793  .byte  72,193,224,4                        // shl           $0x4,%rax
39794  .byte  69,15,16,4,2                        // movups        (%r10,%rax,1),%xmm8
39795  .byte  77,133,192                          // test          %r8,%r8
39796  .byte  117,66                              // jne           4dd3 <_sk_load_f32_sse2+0x60>
39797  .byte  67,15,16,68,138,16                  // movups        0x10(%r10,%r9,4),%xmm0
39798  .byte  67,15,16,92,138,32                  // movups        0x20(%r10,%r9,4),%xmm3
39799  .byte  71,15,16,76,138,48                  // movups        0x30(%r10,%r9,4),%xmm9
39800  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
39801  .byte  15,20,208                           // unpcklps      %xmm0,%xmm2
39802  .byte  15,40,203                           // movaps        %xmm3,%xmm1
39803  .byte  65,15,20,201                        // unpcklps      %xmm9,%xmm1
39804  .byte  68,15,21,192                        // unpckhps      %xmm0,%xmm8
39805  .byte  65,15,21,217                        // unpckhps      %xmm9,%xmm3
39806  .byte  15,40,194                           // movaps        %xmm2,%xmm0
39807  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
39808  .byte  15,18,202                           // movhlps       %xmm2,%xmm1
39809  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
39810  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
39811  .byte  65,15,18,216                        // movhlps       %xmm8,%xmm3
39812  .byte  72,173                              // lods          %ds:(%rsi),%rax
39813  .byte  255,224                             // jmpq          *%rax
39814  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
39815  .byte  73,131,248,1                        // cmp           $0x1,%r8
39816  .byte  117,8                               // jne           4de5 <_sk_load_f32_sse2+0x72>
39817  .byte  15,87,219                           // xorps         %xmm3,%xmm3
39818  .byte  15,87,192                           // xorps         %xmm0,%xmm0
39819  .byte  235,190                             // jmp           4da3 <_sk_load_f32_sse2+0x30>
39820  .byte  67,15,16,68,138,16                  // movups        0x10(%r10,%r9,4),%xmm0
39821  .byte  73,131,248,3                        // cmp           $0x3,%r8
39822  .byte  114,8                               // jb            4df9 <_sk_load_f32_sse2+0x86>
39823  .byte  67,15,16,92,138,32                  // movups        0x20(%r10,%r9,4),%xmm3
39824  .byte  235,170                             // jmp           4da3 <_sk_load_f32_sse2+0x30>
39825  .byte  15,87,219                           // xorps         %xmm3,%xmm3
39826  .byte  235,165                             // jmp           4da3 <_sk_load_f32_sse2+0x30>
39827
39828HIDDEN _sk_load_f32_dst_sse2
39829.globl _sk_load_f32_dst_sse2
39830FUNCTION(_sk_load_f32_dst_sse2)
39831_sk_load_f32_dst_sse2:
39832  .byte  72,173                              // lods          %ds:(%rsi),%rax
39833  .byte  76,139,16                           // mov           (%rax),%r10
39834  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
39835  .byte  72,137,208                          // mov           %rdx,%rax
39836  .byte  72,193,224,4                        // shl           $0x4,%rax
39837  .byte  69,15,16,4,2                        // movups        (%r10,%rax,1),%xmm8
39838  .byte  77,133,192                          // test          %r8,%r8
39839  .byte  117,66                              // jne           4e5e <_sk_load_f32_dst_sse2+0x60>
39840  .byte  67,15,16,100,138,16                 // movups        0x10(%r10,%r9,4),%xmm4
39841  .byte  67,15,16,124,138,32                 // movups        0x20(%r10,%r9,4),%xmm7
39842  .byte  71,15,16,76,138,48                  // movups        0x30(%r10,%r9,4),%xmm9
39843  .byte  65,15,40,240                        // movaps        %xmm8,%xmm6
39844  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
39845  .byte  15,40,239                           // movaps        %xmm7,%xmm5
39846  .byte  65,15,20,233                        // unpcklps      %xmm9,%xmm5
39847  .byte  68,15,21,196                        // unpckhps      %xmm4,%xmm8
39848  .byte  65,15,21,249                        // unpckhps      %xmm9,%xmm7
39849  .byte  15,40,230                           // movaps        %xmm6,%xmm4
39850  .byte  102,15,20,229                       // unpcklpd      %xmm5,%xmm4
39851  .byte  15,18,238                           // movhlps       %xmm6,%xmm5
39852  .byte  65,15,40,240                        // movaps        %xmm8,%xmm6
39853  .byte  102,15,20,247                       // unpcklpd      %xmm7,%xmm6
39854  .byte  65,15,18,248                        // movhlps       %xmm8,%xmm7
39855  .byte  72,173                              // lods          %ds:(%rsi),%rax
39856  .byte  255,224                             // jmpq          *%rax
39857  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
39858  .byte  73,131,248,1                        // cmp           $0x1,%r8
39859  .byte  117,8                               // jne           4e70 <_sk_load_f32_dst_sse2+0x72>
39860  .byte  15,87,255                           // xorps         %xmm7,%xmm7
39861  .byte  15,87,228                           // xorps         %xmm4,%xmm4
39862  .byte  235,190                             // jmp           4e2e <_sk_load_f32_dst_sse2+0x30>
39863  .byte  67,15,16,100,138,16                 // movups        0x10(%r10,%r9,4),%xmm4
39864  .byte  73,131,248,3                        // cmp           $0x3,%r8
39865  .byte  114,8                               // jb            4e84 <_sk_load_f32_dst_sse2+0x86>
39866  .byte  67,15,16,124,138,32                 // movups        0x20(%r10,%r9,4),%xmm7
39867  .byte  235,170                             // jmp           4e2e <_sk_load_f32_dst_sse2+0x30>
39868  .byte  15,87,255                           // xorps         %xmm7,%xmm7
39869  .byte  235,165                             // jmp           4e2e <_sk_load_f32_dst_sse2+0x30>
39870
39871HIDDEN _sk_store_f32_sse2
39872.globl _sk_store_f32_sse2
39873FUNCTION(_sk_store_f32_sse2)
39874_sk_store_f32_sse2:
39875  .byte  72,173                              // lods          %ds:(%rsi),%rax
39876  .byte  76,139,16                           // mov           (%rax),%r10
39877  .byte  76,141,12,149,0,0,0,0               // lea           0x0(,%rdx,4),%r9
39878  .byte  72,137,208                          // mov           %rdx,%rax
39879  .byte  72,193,224,4                        // shl           $0x4,%rax
39880  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
39881  .byte  68,15,20,201                        // unpcklps      %xmm1,%xmm9
39882  .byte  68,15,40,194                        // movaps        %xmm2,%xmm8
39883  .byte  68,15,20,195                        // unpcklps      %xmm3,%xmm8
39884  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
39885  .byte  68,15,21,209                        // unpckhps      %xmm1,%xmm10
39886  .byte  68,15,40,218                        // movaps        %xmm2,%xmm11
39887  .byte  68,15,21,219                        // unpckhps      %xmm3,%xmm11
39888  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
39889  .byte  102,69,15,20,224                    // unpcklpd      %xmm8,%xmm12
39890  .byte  69,15,18,193                        // movhlps       %xmm9,%xmm8
39891  .byte  69,15,40,202                        // movaps        %xmm10,%xmm9
39892  .byte  102,69,15,20,203                    // unpcklpd      %xmm11,%xmm9
39893  .byte  102,69,15,17,36,2                   // movupd        %xmm12,(%r10,%rax,1)
39894  .byte  77,133,192                          // test          %r8,%r8
39895  .byte  117,29                              // jne           4efb <_sk_store_f32_sse2+0x72>
39896  .byte  102,69,15,21,211                    // unpckhpd      %xmm11,%xmm10
39897  .byte  71,15,17,68,138,16                  // movups        %xmm8,0x10(%r10,%r9,4)
39898  .byte  102,71,15,17,76,138,32              // movupd        %xmm9,0x20(%r10,%r9,4)
39899  .byte  102,71,15,17,84,138,48              // movupd        %xmm10,0x30(%r10,%r9,4)
39900  .byte  72,173                              // lods          %ds:(%rsi),%rax
39901  .byte  255,224                             // jmpq          *%rax
39902  .byte  73,131,248,1                        // cmp           $0x1,%r8
39903  .byte  116,246                             // je            4ef7 <_sk_store_f32_sse2+0x6e>
39904  .byte  71,15,17,68,138,16                  // movups        %xmm8,0x10(%r10,%r9,4)
39905  .byte  73,131,248,3                        // cmp           $0x3,%r8
39906  .byte  114,234                             // jb            4ef7 <_sk_store_f32_sse2+0x6e>
39907  .byte  102,71,15,17,76,138,32              // movupd        %xmm9,0x20(%r10,%r9,4)
39908  .byte  235,225                             // jmp           4ef7 <_sk_store_f32_sse2+0x6e>
39909
39910HIDDEN _sk_clamp_x_sse2
39911.globl _sk_clamp_x_sse2
39912FUNCTION(_sk_clamp_x_sse2)
39913_sk_clamp_x_sse2:
39914  .byte  72,173                              // lods          %ds:(%rsi),%rax
39915  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
39916  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
39917  .byte  243,68,15,16,8                      // movss         (%rax),%xmm9
39918  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
39919  .byte  102,15,118,192                      // pcmpeqd       %xmm0,%xmm0
39920  .byte  102,65,15,254,193                   // paddd         %xmm9,%xmm0
39921  .byte  68,15,93,192                        // minps         %xmm0,%xmm8
39922  .byte  72,173                              // lods          %ds:(%rsi),%rax
39923  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
39924  .byte  255,224                             // jmpq          *%rax
39925
39926HIDDEN _sk_clamp_y_sse2
39927.globl _sk_clamp_y_sse2
39928FUNCTION(_sk_clamp_y_sse2)
39929_sk_clamp_y_sse2:
39930  .byte  72,173                              // lods          %ds:(%rsi),%rax
39931  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
39932  .byte  68,15,95,193                        // maxps         %xmm1,%xmm8
39933  .byte  243,68,15,16,8                      // movss         (%rax),%xmm9
39934  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
39935  .byte  102,15,118,201                      // pcmpeqd       %xmm1,%xmm1
39936  .byte  102,65,15,254,201                   // paddd         %xmm9,%xmm1
39937  .byte  68,15,93,193                        // minps         %xmm1,%xmm8
39938  .byte  72,173                              // lods          %ds:(%rsi),%rax
39939  .byte  65,15,40,200                        // movaps        %xmm8,%xmm1
39940  .byte  255,224                             // jmpq          *%rax
39941
39942HIDDEN _sk_repeat_x_sse2
39943.globl _sk_repeat_x_sse2
39944FUNCTION(_sk_repeat_x_sse2)
39945_sk_repeat_x_sse2:
39946  .byte  72,173                              // lods          %ds:(%rsi),%rax
39947  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
39948  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
39949  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
39950  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
39951  .byte  243,69,15,91,209                    // cvttps2dq     %xmm9,%xmm10
39952  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
39953  .byte  69,15,194,202,1                     // cmpltps       %xmm10,%xmm9
39954  .byte  68,15,84,13,76,34,0,0               // andps         0x224c(%rip),%xmm9        # 71e0 <_sk_callback_sse2+0x1144>
39955  .byte  69,15,92,209                        // subps         %xmm9,%xmm10
39956  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
39957  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
39958  .byte  65,15,92,194                        // subps         %xmm10,%xmm0
39959  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
39960  .byte  102,69,15,254,200                   // paddd         %xmm8,%xmm9
39961  .byte  65,15,93,193                        // minps         %xmm9,%xmm0
39962  .byte  72,173                              // lods          %ds:(%rsi),%rax
39963  .byte  255,224                             // jmpq          *%rax
39964
39965HIDDEN _sk_repeat_y_sse2
39966.globl _sk_repeat_y_sse2
39967FUNCTION(_sk_repeat_y_sse2)
39968_sk_repeat_y_sse2:
39969  .byte  72,173                              // lods          %ds:(%rsi),%rax
39970  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
39971  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
39972  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
39973  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
39974  .byte  243,69,15,91,209                    // cvttps2dq     %xmm9,%xmm10
39975  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
39976  .byte  69,15,194,202,1                     // cmpltps       %xmm10,%xmm9
39977  .byte  68,15,84,13,13,34,0,0               // andps         0x220d(%rip),%xmm9        # 71f0 <_sk_callback_sse2+0x1154>
39978  .byte  69,15,92,209                        // subps         %xmm9,%xmm10
39979  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
39980  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
39981  .byte  65,15,92,202                        // subps         %xmm10,%xmm1
39982  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
39983  .byte  102,69,15,254,200                   // paddd         %xmm8,%xmm9
39984  .byte  65,15,93,201                        // minps         %xmm9,%xmm1
39985  .byte  72,173                              // lods          %ds:(%rsi),%rax
39986  .byte  255,224                             // jmpq          *%rax
39987
39988HIDDEN _sk_mirror_x_sse2
39989.globl _sk_mirror_x_sse2
39990FUNCTION(_sk_mirror_x_sse2)
39991_sk_mirror_x_sse2:
39992  .byte  72,173                              // lods          %ds:(%rsi),%rax
39993  .byte  243,68,15,16,8                      // movss         (%rax),%xmm9
39994  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
39995  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
39996  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
39997  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
39998  .byte  243,69,15,88,201                    // addss         %xmm9,%xmm9
39999  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
40000  .byte  243,68,15,89,21,125,38,0,0          // mulss         0x267d(%rip),%xmm10        # 76b0 <_sk_callback_sse2+0x1614>
40001  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40002  .byte  68,15,89,208                        // mulps         %xmm0,%xmm10
40003  .byte  243,69,15,91,218                    // cvttps2dq     %xmm10,%xmm11
40004  .byte  69,15,91,219                        // cvtdq2ps      %xmm11,%xmm11
40005  .byte  69,15,194,211,1                     // cmpltps       %xmm11,%xmm10
40006  .byte  68,15,84,21,174,33,0,0              // andps         0x21ae(%rip),%xmm10        # 7200 <_sk_callback_sse2+0x1164>
40007  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
40008  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
40009  .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
40010  .byte  65,15,92,195                        // subps         %xmm11,%xmm0
40011  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
40012  .byte  68,15,92,224                        // subps         %xmm0,%xmm12
40013  .byte  65,15,84,196                        // andps         %xmm12,%xmm0
40014  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
40015  .byte  102,69,15,254,200                   // paddd         %xmm8,%xmm9
40016  .byte  65,15,93,193                        // minps         %xmm9,%xmm0
40017  .byte  72,173                              // lods          %ds:(%rsi),%rax
40018  .byte  255,224                             // jmpq          *%rax
40019
40020HIDDEN _sk_mirror_y_sse2
40021.globl _sk_mirror_y_sse2
40022FUNCTION(_sk_mirror_y_sse2)
40023_sk_mirror_y_sse2:
40024  .byte  72,173                              // lods          %ds:(%rsi),%rax
40025  .byte  243,68,15,16,8                      // movss         (%rax),%xmm9
40026  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
40027  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
40028  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
40029  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
40030  .byte  243,69,15,88,201                    // addss         %xmm9,%xmm9
40031  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
40032  .byte  243,68,15,89,21,7,38,0,0            // mulss         0x2607(%rip),%xmm10        # 76b4 <_sk_callback_sse2+0x1618>
40033  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40034  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
40035  .byte  243,69,15,91,218                    // cvttps2dq     %xmm10,%xmm11
40036  .byte  69,15,91,219                        // cvtdq2ps      %xmm11,%xmm11
40037  .byte  69,15,194,211,1                     // cmpltps       %xmm11,%xmm10
40038  .byte  68,15,84,21,68,33,0,0               // andps         0x2144(%rip),%xmm10        # 7210 <_sk_callback_sse2+0x1174>
40039  .byte  69,15,87,228                        // xorps         %xmm12,%xmm12
40040  .byte  69,15,92,218                        // subps         %xmm10,%xmm11
40041  .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
40042  .byte  65,15,92,203                        // subps         %xmm11,%xmm1
40043  .byte  65,15,92,200                        // subps         %xmm8,%xmm1
40044  .byte  68,15,92,225                        // subps         %xmm1,%xmm12
40045  .byte  65,15,84,204                        // andps         %xmm12,%xmm1
40046  .byte  102,69,15,118,201                   // pcmpeqd       %xmm9,%xmm9
40047  .byte  102,69,15,254,200                   // paddd         %xmm8,%xmm9
40048  .byte  65,15,93,201                        // minps         %xmm9,%xmm1
40049  .byte  72,173                              // lods          %ds:(%rsi),%rax
40050  .byte  255,224                             // jmpq          *%rax
40051
40052HIDDEN _sk_clamp_x_1_sse2
40053.globl _sk_clamp_x_1_sse2
40054FUNCTION(_sk_clamp_x_1_sse2)
40055_sk_clamp_x_1_sse2:
40056  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
40057  .byte  68,15,95,192                        // maxps         %xmm0,%xmm8
40058  .byte  68,15,93,5,22,33,0,0                // minps         0x2116(%rip),%xmm8        # 7220 <_sk_callback_sse2+0x1184>
40059  .byte  72,173                              // lods          %ds:(%rsi),%rax
40060  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
40061  .byte  255,224                             // jmpq          *%rax
40062
40063HIDDEN _sk_repeat_x_1_sse2
40064.globl _sk_repeat_x_1_sse2
40065FUNCTION(_sk_repeat_x_1_sse2)
40066_sk_repeat_x_1_sse2:
40067  .byte  243,68,15,91,192                    // cvttps2dq     %xmm0,%xmm8
40068  .byte  69,15,91,192                        // cvtdq2ps      %xmm8,%xmm8
40069  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
40070  .byte  69,15,194,200,1                     // cmpltps       %xmm8,%xmm9
40071  .byte  68,15,84,13,4,33,0,0                // andps         0x2104(%rip),%xmm9        # 7230 <_sk_callback_sse2+0x1194>
40072  .byte  69,15,92,193                        // subps         %xmm9,%xmm8
40073  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
40074  .byte  72,173                              // lods          %ds:(%rsi),%rax
40075  .byte  255,224                             // jmpq          *%rax
40076
40077HIDDEN _sk_mirror_x_1_sse2
40078.globl _sk_mirror_x_1_sse2
40079FUNCTION(_sk_mirror_x_1_sse2)
40080_sk_mirror_x_1_sse2:
40081  .byte  68,15,40,5,0,33,0,0                 // movaps        0x2100(%rip),%xmm8        # 7240 <_sk_callback_sse2+0x11a4>
40082  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
40083  .byte  68,15,40,13,4,33,0,0                // movaps        0x2104(%rip),%xmm9        # 7250 <_sk_callback_sse2+0x11b4>
40084  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
40085  .byte  243,69,15,91,209                    // cvttps2dq     %xmm9,%xmm10
40086  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
40087  .byte  69,15,194,202,1                     // cmpltps       %xmm10,%xmm9
40088  .byte  68,15,84,13,250,32,0,0              // andps         0x20fa(%rip),%xmm9        # 7260 <_sk_callback_sse2+0x11c4>
40089  .byte  69,15,87,219                        // xorps         %xmm11,%xmm11
40090  .byte  69,15,92,209                        // subps         %xmm9,%xmm10
40091  .byte  69,15,88,210                        // addps         %xmm10,%xmm10
40092  .byte  65,15,92,194                        // subps         %xmm10,%xmm0
40093  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
40094  .byte  68,15,92,216                        // subps         %xmm0,%xmm11
40095  .byte  65,15,84,195                        // andps         %xmm11,%xmm0
40096  .byte  72,173                              // lods          %ds:(%rsi),%rax
40097  .byte  255,224                             // jmpq          *%rax
40098
40099HIDDEN _sk_luminance_to_alpha_sse2
40100.globl _sk_luminance_to_alpha_sse2
40101FUNCTION(_sk_luminance_to_alpha_sse2)
40102_sk_luminance_to_alpha_sse2:
40103  .byte  15,40,218                           // movaps        %xmm2,%xmm3
40104  .byte  15,89,5,224,32,0,0                  // mulps         0x20e0(%rip),%xmm0        # 7270 <_sk_callback_sse2+0x11d4>
40105  .byte  15,89,13,233,32,0,0                 // mulps         0x20e9(%rip),%xmm1        # 7280 <_sk_callback_sse2+0x11e4>
40106  .byte  15,88,200                           // addps         %xmm0,%xmm1
40107  .byte  15,89,29,239,32,0,0                 // mulps         0x20ef(%rip),%xmm3        # 7290 <_sk_callback_sse2+0x11f4>
40108  .byte  15,88,217                           // addps         %xmm1,%xmm3
40109  .byte  72,173                              // lods          %ds:(%rsi),%rax
40110  .byte  15,87,192                           // xorps         %xmm0,%xmm0
40111  .byte  15,87,201                           // xorps         %xmm1,%xmm1
40112  .byte  15,87,210                           // xorps         %xmm2,%xmm2
40113  .byte  255,224                             // jmpq          *%rax
40114
40115HIDDEN _sk_matrix_translate_sse2
40116.globl _sk_matrix_translate_sse2
40117FUNCTION(_sk_matrix_translate_sse2)
40118_sk_matrix_translate_sse2:
40119  .byte  72,173                              // lods          %ds:(%rsi),%rax
40120  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
40121  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
40122  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
40123  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
40124  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
40125  .byte  65,15,88,201                        // addps         %xmm9,%xmm1
40126  .byte  72,173                              // lods          %ds:(%rsi),%rax
40127  .byte  255,224                             // jmpq          *%rax
40128
40129HIDDEN _sk_matrix_scale_translate_sse2
40130.globl _sk_matrix_scale_translate_sse2
40131FUNCTION(_sk_matrix_scale_translate_sse2)
40132_sk_matrix_scale_translate_sse2:
40133  .byte  72,173                              // lods          %ds:(%rsi),%rax
40134  .byte  243,68,15,16,64,8                   // movss         0x8(%rax),%xmm8
40135  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
40136  .byte  243,68,15,16,8                      // movss         (%rax),%xmm9
40137  .byte  243,68,15,16,80,4                   // movss         0x4(%rax),%xmm10
40138  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
40139  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
40140  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
40141  .byte  243,68,15,16,64,12                  // movss         0xc(%rax),%xmm8
40142  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
40143  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40144  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
40145  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
40146  .byte  72,173                              // lods          %ds:(%rsi),%rax
40147  .byte  255,224                             // jmpq          *%rax
40148
40149HIDDEN _sk_matrix_2x3_sse2
40150.globl _sk_matrix_2x3_sse2
40151FUNCTION(_sk_matrix_2x3_sse2)
40152_sk_matrix_2x3_sse2:
40153  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
40154  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
40155  .byte  72,173                              // lods          %ds:(%rsi),%rax
40156  .byte  243,15,16,0                         // movss         (%rax),%xmm0
40157  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
40158  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
40159  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
40160  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40161  .byte  243,68,15,16,88,16                  // movss         0x10(%rax),%xmm11
40162  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40163  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
40164  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
40165  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
40166  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
40167  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
40168  .byte  243,68,15,16,80,12                  // movss         0xc(%rax),%xmm10
40169  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40170  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
40171  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40172  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
40173  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
40174  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
40175  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
40176  .byte  72,173                              // lods          %ds:(%rsi),%rax
40177  .byte  255,224                             // jmpq          *%rax
40178
40179HIDDEN _sk_matrix_3x4_sse2
40180.globl _sk_matrix_3x4_sse2
40181FUNCTION(_sk_matrix_3x4_sse2)
40182_sk_matrix_3x4_sse2:
40183  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
40184  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
40185  .byte  72,173                              // lods          %ds:(%rsi),%rax
40186  .byte  243,15,16,0                         // movss         (%rax),%xmm0
40187  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
40188  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
40189  .byte  243,68,15,16,80,12                  // movss         0xc(%rax),%xmm10
40190  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40191  .byte  243,68,15,16,88,24                  // movss         0x18(%rax),%xmm11
40192  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40193  .byte  243,68,15,16,96,36                  // movss         0x24(%rax),%xmm12
40194  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
40195  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
40196  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
40197  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
40198  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
40199  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
40200  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
40201  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
40202  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
40203  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40204  .byte  243,68,15,16,88,28                  // movss         0x1c(%rax),%xmm11
40205  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40206  .byte  243,68,15,16,96,40                  // movss         0x28(%rax),%xmm12
40207  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
40208  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
40209  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
40210  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
40211  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
40212  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
40213  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
40214  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
40215  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40216  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
40217  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40218  .byte  243,68,15,16,96,32                  // movss         0x20(%rax),%xmm12
40219  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
40220  .byte  243,68,15,16,104,44                 // movss         0x2c(%rax),%xmm13
40221  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
40222  .byte  68,15,89,226                        // mulps         %xmm2,%xmm12
40223  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
40224  .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
40225  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
40226  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
40227  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
40228  .byte  72,173                              // lods          %ds:(%rsi),%rax
40229  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
40230  .byte  255,224                             // jmpq          *%rax
40231
40232HIDDEN _sk_matrix_4x5_sse2
40233.globl _sk_matrix_4x5_sse2
40234FUNCTION(_sk_matrix_4x5_sse2)
40235_sk_matrix_4x5_sse2:
40236  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
40237  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
40238  .byte  72,173                              // lods          %ds:(%rsi),%rax
40239  .byte  243,15,16,0                         // movss         (%rax),%xmm0
40240  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
40241  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
40242  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
40243  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40244  .byte  243,68,15,16,88,32                  // movss         0x20(%rax),%xmm11
40245  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40246  .byte  243,68,15,16,96,48                  // movss         0x30(%rax),%xmm12
40247  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
40248  .byte  243,68,15,16,104,64                 // movss         0x40(%rax),%xmm13
40249  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
40250  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
40251  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
40252  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
40253  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
40254  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
40255  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
40256  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
40257  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
40258  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
40259  .byte  243,68,15,16,80,20                  // movss         0x14(%rax),%xmm10
40260  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40261  .byte  243,68,15,16,88,36                  // movss         0x24(%rax),%xmm11
40262  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40263  .byte  243,68,15,16,96,52                  // movss         0x34(%rax),%xmm12
40264  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
40265  .byte  243,68,15,16,104,68                 // movss         0x44(%rax),%xmm13
40266  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
40267  .byte  68,15,89,227                        // mulps         %xmm3,%xmm12
40268  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
40269  .byte  68,15,89,218                        // mulps         %xmm2,%xmm11
40270  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
40271  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
40272  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
40273  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
40274  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
40275  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
40276  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40277  .byte  243,68,15,16,88,24                  // movss         0x18(%rax),%xmm11
40278  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40279  .byte  243,68,15,16,96,40                  // movss         0x28(%rax),%xmm12
40280  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
40281  .byte  243,68,15,16,104,56                 // movss         0x38(%rax),%xmm13
40282  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
40283  .byte  243,68,15,16,112,72                 // movss         0x48(%rax),%xmm14
40284  .byte  69,15,198,246,0                     // shufps        $0x0,%xmm14,%xmm14
40285  .byte  68,15,89,235                        // mulps         %xmm3,%xmm13
40286  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
40287  .byte  68,15,89,226                        // mulps         %xmm2,%xmm12
40288  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
40289  .byte  69,15,89,217                        // mulps         %xmm9,%xmm11
40290  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
40291  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
40292  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
40293  .byte  243,68,15,16,88,12                  // movss         0xc(%rax),%xmm11
40294  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40295  .byte  243,68,15,16,96,28                  // movss         0x1c(%rax),%xmm12
40296  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
40297  .byte  243,68,15,16,104,44                 // movss         0x2c(%rax),%xmm13
40298  .byte  69,15,198,237,0                     // shufps        $0x0,%xmm13,%xmm13
40299  .byte  243,68,15,16,112,60                 // movss         0x3c(%rax),%xmm14
40300  .byte  69,15,198,246,0                     // shufps        $0x0,%xmm14,%xmm14
40301  .byte  243,68,15,16,120,76                 // movss         0x4c(%rax),%xmm15
40302  .byte  69,15,198,255,0                     // shufps        $0x0,%xmm15,%xmm15
40303  .byte  68,15,89,243                        // mulps         %xmm3,%xmm14
40304  .byte  69,15,88,247                        // addps         %xmm15,%xmm14
40305  .byte  68,15,89,234                        // mulps         %xmm2,%xmm13
40306  .byte  69,15,88,238                        // addps         %xmm14,%xmm13
40307  .byte  69,15,89,225                        // mulps         %xmm9,%xmm12
40308  .byte  69,15,88,229                        // addps         %xmm13,%xmm12
40309  .byte  69,15,89,216                        // mulps         %xmm8,%xmm11
40310  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
40311  .byte  72,173                              // lods          %ds:(%rsi),%rax
40312  .byte  65,15,40,210                        // movaps        %xmm10,%xmm2
40313  .byte  65,15,40,219                        // movaps        %xmm11,%xmm3
40314  .byte  255,224                             // jmpq          *%rax
40315
40316HIDDEN _sk_matrix_4x3_sse2
40317.globl _sk_matrix_4x3_sse2
40318FUNCTION(_sk_matrix_4x3_sse2)
40319_sk_matrix_4x3_sse2:
40320  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
40321  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
40322  .byte  72,173                              // lods          %ds:(%rsi),%rax
40323  .byte  243,15,16,0                         // movss         (%rax),%xmm0
40324  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
40325  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
40326  .byte  243,15,16,80,16                     // movss         0x10(%rax),%xmm2
40327  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
40328  .byte  243,15,16,88,32                     // movss         0x20(%rax),%xmm3
40329  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
40330  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
40331  .byte  15,88,211                           // addps         %xmm3,%xmm2
40332  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
40333  .byte  15,88,194                           // addps         %xmm2,%xmm0
40334  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
40335  .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
40336  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
40337  .byte  243,15,16,88,36                     // movss         0x24(%rax),%xmm3
40338  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
40339  .byte  65,15,89,209                        // mulps         %xmm9,%xmm2
40340  .byte  15,88,211                           // addps         %xmm3,%xmm2
40341  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
40342  .byte  15,88,202                           // addps         %xmm2,%xmm1
40343  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
40344  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
40345  .byte  243,15,16,88,24                     // movss         0x18(%rax),%xmm3
40346  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
40347  .byte  243,68,15,16,80,40                  // movss         0x28(%rax),%xmm10
40348  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40349  .byte  65,15,89,217                        // mulps         %xmm9,%xmm3
40350  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
40351  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
40352  .byte  15,88,211                           // addps         %xmm3,%xmm2
40353  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
40354  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
40355  .byte  243,68,15,16,80,28                  // movss         0x1c(%rax),%xmm10
40356  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40357  .byte  243,68,15,16,88,44                  // movss         0x2c(%rax),%xmm11
40358  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40359  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
40360  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
40361  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
40362  .byte  65,15,88,218                        // addps         %xmm10,%xmm3
40363  .byte  72,173                              // lods          %ds:(%rsi),%rax
40364  .byte  255,224                             // jmpq          *%rax
40365
40366HIDDEN _sk_matrix_perspective_sse2
40367.globl _sk_matrix_perspective_sse2
40368FUNCTION(_sk_matrix_perspective_sse2)
40369_sk_matrix_perspective_sse2:
40370  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
40371  .byte  72,173                              // lods          %ds:(%rsi),%rax
40372  .byte  243,15,16,0                         // movss         (%rax),%xmm0
40373  .byte  243,68,15,16,72,4                   // movss         0x4(%rax),%xmm9
40374  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
40375  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
40376  .byte  243,68,15,16,80,8                   // movss         0x8(%rax),%xmm10
40377  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40378  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
40379  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
40380  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
40381  .byte  65,15,88,193                        // addps         %xmm9,%xmm0
40382  .byte  243,68,15,16,72,12                  // movss         0xc(%rax),%xmm9
40383  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
40384  .byte  243,68,15,16,80,16                  // movss         0x10(%rax),%xmm10
40385  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40386  .byte  243,68,15,16,88,20                  // movss         0x14(%rax),%xmm11
40387  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40388  .byte  68,15,89,209                        // mulps         %xmm1,%xmm10
40389  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
40390  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
40391  .byte  69,15,88,202                        // addps         %xmm10,%xmm9
40392  .byte  243,68,15,16,80,24                  // movss         0x18(%rax),%xmm10
40393  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40394  .byte  243,68,15,16,88,28                  // movss         0x1c(%rax),%xmm11
40395  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40396  .byte  243,68,15,16,96,32                  // movss         0x20(%rax),%xmm12
40397  .byte  69,15,198,228,0                     // shufps        $0x0,%xmm12,%xmm12
40398  .byte  68,15,89,217                        // mulps         %xmm1,%xmm11
40399  .byte  69,15,88,220                        // addps         %xmm12,%xmm11
40400  .byte  69,15,89,208                        // mulps         %xmm8,%xmm10
40401  .byte  69,15,88,211                        // addps         %xmm11,%xmm10
40402  .byte  65,15,83,202                        // rcpps         %xmm10,%xmm1
40403  .byte  15,89,193                           // mulps         %xmm1,%xmm0
40404  .byte  68,15,89,201                        // mulps         %xmm1,%xmm9
40405  .byte  72,173                              // lods          %ds:(%rsi),%rax
40406  .byte  65,15,40,201                        // movaps        %xmm9,%xmm1
40407  .byte  255,224                             // jmpq          *%rax
40408
40409HIDDEN _sk_evenly_spaced_gradient_sse2
40410.globl _sk_evenly_spaced_gradient_sse2
40411FUNCTION(_sk_evenly_spaced_gradient_sse2)
40412_sk_evenly_spaced_gradient_sse2:
40413  .byte  65,86                               // push          %r14
40414  .byte  83                                  // push          %rbx
40415  .byte  72,173                              // lods          %ds:(%rsi),%rax
40416  .byte  72,139,24                           // mov           (%rax),%rbx
40417  .byte  76,139,112,8                        // mov           0x8(%rax),%r14
40418  .byte  72,255,203                          // dec           %rbx
40419  .byte  120,7                               // js            5641 <_sk_evenly_spaced_gradient_sse2+0x18>
40420  .byte  243,72,15,42,203                    // cvtsi2ss      %rbx,%xmm1
40421  .byte  235,21                              // jmp           5656 <_sk_evenly_spaced_gradient_sse2+0x2d>
40422  .byte  73,137,217                          // mov           %rbx,%r9
40423  .byte  73,209,233                          // shr           %r9
40424  .byte  131,227,1                           // and           $0x1,%ebx
40425  .byte  76,9,203                            // or            %r9,%rbx
40426  .byte  243,72,15,42,203                    // cvtsi2ss      %rbx,%xmm1
40427  .byte  243,15,88,201                       // addss         %xmm1,%xmm1
40428  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
40429  .byte  15,89,200                           // mulps         %xmm0,%xmm1
40430  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
40431  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
40432  .byte  102,73,15,126,211                   // movq          %xmm2,%r11
40433  .byte  69,137,217                          // mov           %r11d,%r9d
40434  .byte  73,193,235,32                       // shr           $0x20,%r11
40435  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
40436  .byte  65,137,218                          // mov           %ebx,%r10d
40437  .byte  72,193,235,32                       // shr           $0x20,%rbx
40438  .byte  243,65,15,16,12,158                 // movss         (%r14,%rbx,4),%xmm1
40439  .byte  243,67,15,16,20,158                 // movss         (%r14,%r11,4),%xmm2
40440  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
40441  .byte  243,71,15,16,4,150                  // movss         (%r14,%r10,4),%xmm8
40442  .byte  243,67,15,16,20,142                 // movss         (%r14,%r9,4),%xmm2
40443  .byte  68,15,20,194                        // unpcklps      %xmm2,%xmm8
40444  .byte  68,15,20,193                        // unpcklps      %xmm1,%xmm8
40445  .byte  76,139,112,40                       // mov           0x28(%rax),%r14
40446  .byte  243,65,15,16,12,158                 // movss         (%r14,%rbx,4),%xmm1
40447  .byte  243,67,15,16,20,158                 // movss         (%r14,%r11,4),%xmm2
40448  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
40449  .byte  243,71,15,16,12,150                 // movss         (%r14,%r10,4),%xmm9
40450  .byte  243,67,15,16,20,142                 // movss         (%r14,%r9,4),%xmm2
40451  .byte  68,15,20,202                        // unpcklps      %xmm2,%xmm9
40452  .byte  68,15,20,201                        // unpcklps      %xmm1,%xmm9
40453  .byte  76,139,112,16                       // mov           0x10(%rax),%r14
40454  .byte  243,65,15,16,20,158                 // movss         (%r14,%rbx,4),%xmm2
40455  .byte  243,67,15,16,12,158                 // movss         (%r14,%r11,4),%xmm1
40456  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
40457  .byte  243,67,15,16,12,150                 // movss         (%r14,%r10,4),%xmm1
40458  .byte  243,67,15,16,28,142                 // movss         (%r14,%r9,4),%xmm3
40459  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
40460  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
40461  .byte  76,139,112,48                       // mov           0x30(%rax),%r14
40462  .byte  243,65,15,16,20,158                 // movss         (%r14,%rbx,4),%xmm2
40463  .byte  243,67,15,16,28,158                 // movss         (%r14,%r11,4),%xmm3
40464  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
40465  .byte  243,71,15,16,20,150                 // movss         (%r14,%r10,4),%xmm10
40466  .byte  243,67,15,16,28,142                 // movss         (%r14,%r9,4),%xmm3
40467  .byte  68,15,20,211                        // unpcklps      %xmm3,%xmm10
40468  .byte  68,15,20,210                        // unpcklps      %xmm2,%xmm10
40469  .byte  76,139,112,24                       // mov           0x18(%rax),%r14
40470  .byte  243,69,15,16,28,158                 // movss         (%r14,%rbx,4),%xmm11
40471  .byte  243,67,15,16,20,158                 // movss         (%r14,%r11,4),%xmm2
40472  .byte  68,15,20,218                        // unpcklps      %xmm2,%xmm11
40473  .byte  243,67,15,16,20,150                 // movss         (%r14,%r10,4),%xmm2
40474  .byte  243,67,15,16,28,142                 // movss         (%r14,%r9,4),%xmm3
40475  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
40476  .byte  65,15,20,211                        // unpcklps      %xmm11,%xmm2
40477  .byte  76,139,112,56                       // mov           0x38(%rax),%r14
40478  .byte  243,69,15,16,36,158                 // movss         (%r14,%rbx,4),%xmm12
40479  .byte  243,67,15,16,28,158                 // movss         (%r14,%r11,4),%xmm3
40480  .byte  68,15,20,227                        // unpcklps      %xmm3,%xmm12
40481  .byte  243,71,15,16,28,150                 // movss         (%r14,%r10,4),%xmm11
40482  .byte  243,67,15,16,28,142                 // movss         (%r14,%r9,4),%xmm3
40483  .byte  68,15,20,219                        // unpcklps      %xmm3,%xmm11
40484  .byte  69,15,20,220                        // unpcklps      %xmm12,%xmm11
40485  .byte  76,139,112,32                       // mov           0x20(%rax),%r14
40486  .byte  243,69,15,16,36,158                 // movss         (%r14,%rbx,4),%xmm12
40487  .byte  243,67,15,16,28,158                 // movss         (%r14,%r11,4),%xmm3
40488  .byte  68,15,20,227                        // unpcklps      %xmm3,%xmm12
40489  .byte  243,67,15,16,28,150                 // movss         (%r14,%r10,4),%xmm3
40490  .byte  243,71,15,16,44,142                 // movss         (%r14,%r9,4),%xmm13
40491  .byte  65,15,20,221                        // unpcklps      %xmm13,%xmm3
40492  .byte  65,15,20,220                        // unpcklps      %xmm12,%xmm3
40493  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
40494  .byte  243,68,15,16,36,152                 // movss         (%rax,%rbx,4),%xmm12
40495  .byte  243,70,15,16,44,152                 // movss         (%rax,%r11,4),%xmm13
40496  .byte  69,15,20,229                        // unpcklps      %xmm13,%xmm12
40497  .byte  243,70,15,16,44,144                 // movss         (%rax,%r10,4),%xmm13
40498  .byte  243,70,15,16,52,136                 // movss         (%rax,%r9,4),%xmm14
40499  .byte  69,15,20,238                        // unpcklps      %xmm14,%xmm13
40500  .byte  69,15,20,236                        // unpcklps      %xmm12,%xmm13
40501  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
40502  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
40503  .byte  15,89,200                           // mulps         %xmm0,%xmm1
40504  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
40505  .byte  15,89,208                           // mulps         %xmm0,%xmm2
40506  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
40507  .byte  15,89,216                           // mulps         %xmm0,%xmm3
40508  .byte  65,15,88,221                        // addps         %xmm13,%xmm3
40509  .byte  72,173                              // lods          %ds:(%rsi),%rax
40510  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
40511  .byte  91                                  // pop           %rbx
40512  .byte  65,94                               // pop           %r14
40513  .byte  255,224                             // jmpq          *%rax
40514
40515HIDDEN _sk_gauss_a_to_rgba_sse2
40516.globl _sk_gauss_a_to_rgba_sse2
40517FUNCTION(_sk_gauss_a_to_rgba_sse2)
40518_sk_gauss_a_to_rgba_sse2:
40519  .byte  15,40,5,190,26,0,0                  // movaps        0x1abe(%rip),%xmm0        # 72a0 <_sk_callback_sse2+0x1204>
40520  .byte  15,89,195                           // mulps         %xmm3,%xmm0
40521  .byte  15,88,5,196,26,0,0                  // addps         0x1ac4(%rip),%xmm0        # 72b0 <_sk_callback_sse2+0x1214>
40522  .byte  15,89,195                           // mulps         %xmm3,%xmm0
40523  .byte  15,88,5,202,26,0,0                  // addps         0x1aca(%rip),%xmm0        # 72c0 <_sk_callback_sse2+0x1224>
40524  .byte  15,89,195                           // mulps         %xmm3,%xmm0
40525  .byte  15,88,5,208,26,0,0                  // addps         0x1ad0(%rip),%xmm0        # 72d0 <_sk_callback_sse2+0x1234>
40526  .byte  15,89,195                           // mulps         %xmm3,%xmm0
40527  .byte  15,88,5,214,26,0,0                  // addps         0x1ad6(%rip),%xmm0        # 72e0 <_sk_callback_sse2+0x1244>
40528  .byte  72,173                              // lods          %ds:(%rsi),%rax
40529  .byte  15,40,200                           // movaps        %xmm0,%xmm1
40530  .byte  15,40,208                           // movaps        %xmm0,%xmm2
40531  .byte  15,40,216                           // movaps        %xmm0,%xmm3
40532  .byte  255,224                             // jmpq          *%rax
40533
40534HIDDEN _sk_gradient_sse2
40535.globl _sk_gradient_sse2
40536FUNCTION(_sk_gradient_sse2)
40537_sk_gradient_sse2:
40538  .byte  65,87                               // push          %r15
40539  .byte  65,86                               // push          %r14
40540  .byte  83                                  // push          %rbx
40541  .byte  72,173                              // lods          %ds:(%rsi),%rax
40542  .byte  76,139,8                            // mov           (%rax),%r9
40543  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
40544  .byte  73,131,249,2                        // cmp           $0x2,%r9
40545  .byte  114,50                              // jb            585d <_sk_gradient_sse2+0x46>
40546  .byte  72,139,88,72                        // mov           0x48(%rax),%rbx
40547  .byte  73,255,201                          // dec           %r9
40548  .byte  72,131,195,4                        // add           $0x4,%rbx
40549  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
40550  .byte  15,40,21,175,26,0,0                 // movaps        0x1aaf(%rip),%xmm2        # 72f0 <_sk_callback_sse2+0x1254>
40551  .byte  243,15,16,27                        // movss         (%rbx),%xmm3
40552  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
40553  .byte  15,194,216,2                        // cmpleps       %xmm0,%xmm3
40554  .byte  15,84,218                           // andps         %xmm2,%xmm3
40555  .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
40556  .byte  72,131,195,4                        // add           $0x4,%rbx
40557  .byte  73,255,201                          // dec           %r9
40558  .byte  117,228                             // jne           5841 <_sk_gradient_sse2+0x2a>
40559  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
40560  .byte  102,73,15,126,211                   // movq          %xmm2,%r11
40561  .byte  69,137,217                          // mov           %r11d,%r9d
40562  .byte  73,193,235,32                       // shr           $0x20,%r11
40563  .byte  102,72,15,126,203                   // movq          %xmm1,%rbx
40564  .byte  65,137,218                          // mov           %ebx,%r10d
40565  .byte  72,193,235,32                       // shr           $0x20,%rbx
40566  .byte  76,139,112,8                        // mov           0x8(%rax),%r14
40567  .byte  76,139,120,16                       // mov           0x10(%rax),%r15
40568  .byte  243,65,15,16,12,158                 // movss         (%r14,%rbx,4),%xmm1
40569  .byte  243,67,15,16,20,158                 // movss         (%r14,%r11,4),%xmm2
40570  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
40571  .byte  243,71,15,16,4,150                  // movss         (%r14,%r10,4),%xmm8
40572  .byte  243,67,15,16,20,142                 // movss         (%r14,%r9,4),%xmm2
40573  .byte  68,15,20,194                        // unpcklps      %xmm2,%xmm8
40574  .byte  68,15,20,193                        // unpcklps      %xmm1,%xmm8
40575  .byte  76,139,112,40                       // mov           0x28(%rax),%r14
40576  .byte  243,65,15,16,12,158                 // movss         (%r14,%rbx,4),%xmm1
40577  .byte  243,67,15,16,20,158                 // movss         (%r14,%r11,4),%xmm2
40578  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
40579  .byte  243,71,15,16,12,150                 // movss         (%r14,%r10,4),%xmm9
40580  .byte  243,67,15,16,20,142                 // movss         (%r14,%r9,4),%xmm2
40581  .byte  68,15,20,202                        // unpcklps      %xmm2,%xmm9
40582  .byte  68,15,20,201                        // unpcklps      %xmm1,%xmm9
40583  .byte  243,65,15,16,20,159                 // movss         (%r15,%rbx,4),%xmm2
40584  .byte  243,67,15,16,12,159                 // movss         (%r15,%r11,4),%xmm1
40585  .byte  15,20,209                           // unpcklps      %xmm1,%xmm2
40586  .byte  243,67,15,16,12,151                 // movss         (%r15,%r10,4),%xmm1
40587  .byte  243,67,15,16,28,143                 // movss         (%r15,%r9,4),%xmm3
40588  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
40589  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
40590  .byte  76,139,112,48                       // mov           0x30(%rax),%r14
40591  .byte  243,65,15,16,20,158                 // movss         (%r14,%rbx,4),%xmm2
40592  .byte  243,67,15,16,28,158                 // movss         (%r14,%r11,4),%xmm3
40593  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
40594  .byte  243,71,15,16,20,150                 // movss         (%r14,%r10,4),%xmm10
40595  .byte  243,67,15,16,28,142                 // movss         (%r14,%r9,4),%xmm3
40596  .byte  68,15,20,211                        // unpcklps      %xmm3,%xmm10
40597  .byte  68,15,20,210                        // unpcklps      %xmm2,%xmm10
40598  .byte  76,139,112,24                       // mov           0x18(%rax),%r14
40599  .byte  243,69,15,16,28,158                 // movss         (%r14,%rbx,4),%xmm11
40600  .byte  243,67,15,16,20,158                 // movss         (%r14,%r11,4),%xmm2
40601  .byte  68,15,20,218                        // unpcklps      %xmm2,%xmm11
40602  .byte  243,67,15,16,20,150                 // movss         (%r14,%r10,4),%xmm2
40603  .byte  243,67,15,16,28,142                 // movss         (%r14,%r9,4),%xmm3
40604  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
40605  .byte  65,15,20,211                        // unpcklps      %xmm11,%xmm2
40606  .byte  76,139,112,56                       // mov           0x38(%rax),%r14
40607  .byte  243,69,15,16,36,158                 // movss         (%r14,%rbx,4),%xmm12
40608  .byte  243,67,15,16,28,158                 // movss         (%r14,%r11,4),%xmm3
40609  .byte  68,15,20,227                        // unpcklps      %xmm3,%xmm12
40610  .byte  243,71,15,16,28,150                 // movss         (%r14,%r10,4),%xmm11
40611  .byte  243,67,15,16,28,142                 // movss         (%r14,%r9,4),%xmm3
40612  .byte  68,15,20,219                        // unpcklps      %xmm3,%xmm11
40613  .byte  69,15,20,220                        // unpcklps      %xmm12,%xmm11
40614  .byte  76,139,112,32                       // mov           0x20(%rax),%r14
40615  .byte  243,69,15,16,36,158                 // movss         (%r14,%rbx,4),%xmm12
40616  .byte  243,67,15,16,28,158                 // movss         (%r14,%r11,4),%xmm3
40617  .byte  68,15,20,227                        // unpcklps      %xmm3,%xmm12
40618  .byte  243,67,15,16,28,150                 // movss         (%r14,%r10,4),%xmm3
40619  .byte  243,71,15,16,44,142                 // movss         (%r14,%r9,4),%xmm13
40620  .byte  65,15,20,221                        // unpcklps      %xmm13,%xmm3
40621  .byte  65,15,20,220                        // unpcklps      %xmm12,%xmm3
40622  .byte  72,139,64,64                        // mov           0x40(%rax),%rax
40623  .byte  243,68,15,16,36,152                 // movss         (%rax,%rbx,4),%xmm12
40624  .byte  243,70,15,16,44,152                 // movss         (%rax,%r11,4),%xmm13
40625  .byte  69,15,20,229                        // unpcklps      %xmm13,%xmm12
40626  .byte  243,70,15,16,44,144                 // movss         (%rax,%r10,4),%xmm13
40627  .byte  243,70,15,16,52,136                 // movss         (%rax,%r9,4),%xmm14
40628  .byte  69,15,20,238                        // unpcklps      %xmm14,%xmm13
40629  .byte  69,15,20,236                        // unpcklps      %xmm12,%xmm13
40630  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
40631  .byte  69,15,88,193                        // addps         %xmm9,%xmm8
40632  .byte  15,89,200                           // mulps         %xmm0,%xmm1
40633  .byte  65,15,88,202                        // addps         %xmm10,%xmm1
40634  .byte  15,89,208                           // mulps         %xmm0,%xmm2
40635  .byte  65,15,88,211                        // addps         %xmm11,%xmm2
40636  .byte  15,89,216                           // mulps         %xmm0,%xmm3
40637  .byte  65,15,88,221                        // addps         %xmm13,%xmm3
40638  .byte  72,173                              // lods          %ds:(%rsi),%rax
40639  .byte  65,15,40,192                        // movaps        %xmm8,%xmm0
40640  .byte  91                                  // pop           %rbx
40641  .byte  65,94                               // pop           %r14
40642  .byte  65,95                               // pop           %r15
40643  .byte  255,224                             // jmpq          *%rax
40644
40645HIDDEN _sk_evenly_spaced_2_stop_gradient_sse2
40646.globl _sk_evenly_spaced_2_stop_gradient_sse2
40647FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse2)
40648_sk_evenly_spaced_2_stop_gradient_sse2:
40649  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
40650  .byte  72,173                              // lods          %ds:(%rsi),%rax
40651  .byte  243,15,16,0                         // movss         (%rax),%xmm0
40652  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
40653  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
40654  .byte  243,15,16,80,16                     // movss         0x10(%rax),%xmm2
40655  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
40656  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
40657  .byte  15,88,194                           // addps         %xmm2,%xmm0
40658  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
40659  .byte  243,15,16,80,20                     // movss         0x14(%rax),%xmm2
40660  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
40661  .byte  65,15,89,200                        // mulps         %xmm8,%xmm1
40662  .byte  15,88,202                           // addps         %xmm2,%xmm1
40663  .byte  243,15,16,80,8                      // movss         0x8(%rax),%xmm2
40664  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
40665  .byte  243,15,16,88,24                     // movss         0x18(%rax),%xmm3
40666  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
40667  .byte  65,15,89,208                        // mulps         %xmm8,%xmm2
40668  .byte  15,88,211                           // addps         %xmm3,%xmm2
40669  .byte  243,15,16,88,12                     // movss         0xc(%rax),%xmm3
40670  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
40671  .byte  243,68,15,16,72,28                  // movss         0x1c(%rax),%xmm9
40672  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
40673  .byte  65,15,89,216                        // mulps         %xmm8,%xmm3
40674  .byte  65,15,88,217                        // addps         %xmm9,%xmm3
40675  .byte  72,173                              // lods          %ds:(%rsi),%rax
40676  .byte  255,224                             // jmpq          *%rax
40677
40678HIDDEN _sk_xy_to_unit_angle_sse2
40679.globl _sk_xy_to_unit_angle_sse2
40680FUNCTION(_sk_xy_to_unit_angle_sse2)
40681_sk_xy_to_unit_angle_sse2:
40682  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
40683  .byte  15,87,192                           // xorps         %xmm0,%xmm0
40684  .byte  69,15,87,201                        // xorps         %xmm9,%xmm9
40685  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
40686  .byte  69,15,84,200                        // andps         %xmm8,%xmm9
40687  .byte  69,15,87,210                        // xorps         %xmm10,%xmm10
40688  .byte  68,15,92,209                        // subps         %xmm1,%xmm10
40689  .byte  68,15,84,209                        // andps         %xmm1,%xmm10
40690  .byte  69,15,40,217                        // movaps        %xmm9,%xmm11
40691  .byte  69,15,93,218                        // minps         %xmm10,%xmm11
40692  .byte  69,15,40,225                        // movaps        %xmm9,%xmm12
40693  .byte  69,15,95,226                        // maxps         %xmm10,%xmm12
40694  .byte  69,15,94,220                        // divps         %xmm12,%xmm11
40695  .byte  69,15,40,227                        // movaps        %xmm11,%xmm12
40696  .byte  69,15,89,228                        // mulps         %xmm12,%xmm12
40697  .byte  68,15,40,45,112,24,0,0              // movaps        0x1870(%rip),%xmm13        # 7300 <_sk_callback_sse2+0x1264>
40698  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
40699  .byte  68,15,88,45,116,24,0,0              // addps         0x1874(%rip),%xmm13        # 7310 <_sk_callback_sse2+0x1274>
40700  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
40701  .byte  68,15,88,45,120,24,0,0              // addps         0x1878(%rip),%xmm13        # 7320 <_sk_callback_sse2+0x1284>
40702  .byte  69,15,89,236                        // mulps         %xmm12,%xmm13
40703  .byte  68,15,88,45,124,24,0,0              // addps         0x187c(%rip),%xmm13        # 7330 <_sk_callback_sse2+0x1294>
40704  .byte  69,15,89,235                        // mulps         %xmm11,%xmm13
40705  .byte  69,15,194,202,1                     // cmpltps       %xmm10,%xmm9
40706  .byte  68,15,40,21,123,24,0,0              // movaps        0x187b(%rip),%xmm10        # 7340 <_sk_callback_sse2+0x12a4>
40707  .byte  69,15,92,213                        // subps         %xmm13,%xmm10
40708  .byte  69,15,84,209                        // andps         %xmm9,%xmm10
40709  .byte  69,15,85,205                        // andnps        %xmm13,%xmm9
40710  .byte  69,15,86,202                        // orps          %xmm10,%xmm9
40711  .byte  68,15,194,192,1                     // cmpltps       %xmm0,%xmm8
40712  .byte  68,15,40,21,110,24,0,0              // movaps        0x186e(%rip),%xmm10        # 7350 <_sk_callback_sse2+0x12b4>
40713  .byte  69,15,92,209                        // subps         %xmm9,%xmm10
40714  .byte  69,15,84,208                        // andps         %xmm8,%xmm10
40715  .byte  69,15,85,193                        // andnps        %xmm9,%xmm8
40716  .byte  69,15,86,194                        // orps          %xmm10,%xmm8
40717  .byte  68,15,40,201                        // movaps        %xmm1,%xmm9
40718  .byte  68,15,194,200,1                     // cmpltps       %xmm0,%xmm9
40719  .byte  68,15,40,21,93,24,0,0               // movaps        0x185d(%rip),%xmm10        # 7360 <_sk_callback_sse2+0x12c4>
40720  .byte  69,15,92,208                        // subps         %xmm8,%xmm10
40721  .byte  69,15,84,209                        // andps         %xmm9,%xmm10
40722  .byte  69,15,85,200                        // andnps        %xmm8,%xmm9
40723  .byte  69,15,86,202                        // orps          %xmm10,%xmm9
40724  .byte  65,15,194,193,7                     // cmpordps      %xmm9,%xmm0
40725  .byte  65,15,84,193                        // andps         %xmm9,%xmm0
40726  .byte  72,173                              // lods          %ds:(%rsi),%rax
40727  .byte  255,224                             // jmpq          *%rax
40728
40729HIDDEN _sk_xy_to_radius_sse2
40730.globl _sk_xy_to_radius_sse2
40731FUNCTION(_sk_xy_to_radius_sse2)
40732_sk_xy_to_radius_sse2:
40733  .byte  15,89,192                           // mulps         %xmm0,%xmm0
40734  .byte  68,15,40,193                        // movaps        %xmm1,%xmm8
40735  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
40736  .byte  68,15,88,192                        // addps         %xmm0,%xmm8
40737  .byte  65,15,81,192                        // sqrtps        %xmm8,%xmm0
40738  .byte  72,173                              // lods          %ds:(%rsi),%rax
40739  .byte  255,224                             // jmpq          *%rax
40740
40741HIDDEN _sk_xy_to_2pt_conical_quadratic_max_sse2
40742.globl _sk_xy_to_2pt_conical_quadratic_max_sse2
40743FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_sse2)
40744_sk_xy_to_2pt_conical_quadratic_max_sse2:
40745  .byte  72,173                              // lods          %ds:(%rsi),%rax
40746  .byte  243,68,15,16,80,32                  // movss         0x20(%rax),%xmm10
40747  .byte  243,68,15,16,64,36                  // movss         0x24(%rax),%xmm8
40748  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40749  .byte  243,68,15,16,88,40                  // movss         0x28(%rax),%xmm11
40750  .byte  243,68,15,16,72,44                  // movss         0x2c(%rax),%xmm9
40751  .byte  243,69,15,89,203                    // mulss         %xmm11,%xmm9
40752  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
40753  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
40754  .byte  68,15,89,13,4,24,0,0                // mulps         0x1804(%rip),%xmm9        # 7370 <_sk_callback_sse2+0x12d4>
40755  .byte  15,89,192                           // mulps         %xmm0,%xmm0
40756  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
40757  .byte  69,15,89,228                        // mulps         %xmm12,%xmm12
40758  .byte  68,15,88,224                        // addps         %xmm0,%xmm12
40759  .byte  243,69,15,89,219                    // mulss         %xmm11,%xmm11
40760  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40761  .byte  69,15,92,227                        // subps         %xmm11,%xmm12
40762  .byte  68,15,89,21,239,23,0,0              // mulps         0x17ef(%rip),%xmm10        # 7380 <_sk_callback_sse2+0x12e4>
40763  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
40764  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
40765  .byte  15,89,192                           // mulps         %xmm0,%xmm0
40766  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
40767  .byte  68,15,81,208                        // sqrtps        %xmm0,%xmm10
40768  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
40769  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
40770  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
40771  .byte  68,15,87,13,215,23,0,0              // xorps         0x17d7(%rip),%xmm9        # 7390 <_sk_callback_sse2+0x12f4>
40772  .byte  68,15,89,5,223,23,0,0               // mulps         0x17df(%rip),%xmm8        # 73a0 <_sk_callback_sse2+0x1304>
40773  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
40774  .byte  69,15,92,202                        // subps         %xmm10,%xmm9
40775  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
40776  .byte  65,15,95,193                        // maxps         %xmm9,%xmm0
40777  .byte  72,173                              // lods          %ds:(%rsi),%rax
40778  .byte  255,224                             // jmpq          *%rax
40779
40780HIDDEN _sk_xy_to_2pt_conical_quadratic_min_sse2
40781.globl _sk_xy_to_2pt_conical_quadratic_min_sse2
40782FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_sse2)
40783_sk_xy_to_2pt_conical_quadratic_min_sse2:
40784  .byte  72,173                              // lods          %ds:(%rsi),%rax
40785  .byte  243,68,15,16,80,32                  // movss         0x20(%rax),%xmm10
40786  .byte  243,68,15,16,64,36                  // movss         0x24(%rax),%xmm8
40787  .byte  69,15,198,210,0                     // shufps        $0x0,%xmm10,%xmm10
40788  .byte  243,68,15,16,88,40                  // movss         0x28(%rax),%xmm11
40789  .byte  243,68,15,16,72,44                  // movss         0x2c(%rax),%xmm9
40790  .byte  243,69,15,89,203                    // mulss         %xmm11,%xmm9
40791  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
40792  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
40793  .byte  68,15,89,13,166,23,0,0              // mulps         0x17a6(%rip),%xmm9        # 73b0 <_sk_callback_sse2+0x1314>
40794  .byte  15,89,192                           // mulps         %xmm0,%xmm0
40795  .byte  68,15,40,225                        // movaps        %xmm1,%xmm12
40796  .byte  69,15,89,228                        // mulps         %xmm12,%xmm12
40797  .byte  68,15,88,224                        // addps         %xmm0,%xmm12
40798  .byte  243,69,15,89,219                    // mulss         %xmm11,%xmm11
40799  .byte  69,15,198,219,0                     // shufps        $0x0,%xmm11,%xmm11
40800  .byte  69,15,92,227                        // subps         %xmm11,%xmm12
40801  .byte  68,15,89,21,145,23,0,0              // mulps         0x1791(%rip),%xmm10        # 73c0 <_sk_callback_sse2+0x1324>
40802  .byte  69,15,89,212                        // mulps         %xmm12,%xmm10
40803  .byte  65,15,40,193                        // movaps        %xmm9,%xmm0
40804  .byte  15,89,192                           // mulps         %xmm0,%xmm0
40805  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
40806  .byte  68,15,81,208                        // sqrtps        %xmm0,%xmm10
40807  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
40808  .byte  65,15,40,194                        // movaps        %xmm10,%xmm0
40809  .byte  65,15,92,193                        // subps         %xmm9,%xmm0
40810  .byte  68,15,87,13,121,23,0,0              // xorps         0x1779(%rip),%xmm9        # 73d0 <_sk_callback_sse2+0x1334>
40811  .byte  68,15,89,5,129,23,0,0               // mulps         0x1781(%rip),%xmm8        # 73e0 <_sk_callback_sse2+0x1344>
40812  .byte  65,15,89,192                        // mulps         %xmm8,%xmm0
40813  .byte  69,15,92,202                        // subps         %xmm10,%xmm9
40814  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
40815  .byte  65,15,93,193                        // minps         %xmm9,%xmm0
40816  .byte  72,173                              // lods          %ds:(%rsi),%rax
40817  .byte  255,224                             // jmpq          *%rax
40818
40819HIDDEN _sk_xy_to_2pt_conical_linear_sse2
40820.globl _sk_xy_to_2pt_conical_linear_sse2
40821FUNCTION(_sk_xy_to_2pt_conical_linear_sse2)
40822_sk_xy_to_2pt_conical_linear_sse2:
40823  .byte  72,173                              // lods          %ds:(%rsi),%rax
40824  .byte  243,68,15,16,64,40                  // movss         0x28(%rax),%xmm8
40825  .byte  243,68,15,16,72,44                  // movss         0x2c(%rax),%xmm9
40826  .byte  243,69,15,89,200                    // mulss         %xmm8,%xmm9
40827  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
40828  .byte  68,15,88,200                        // addps         %xmm0,%xmm9
40829  .byte  68,15,89,13,89,23,0,0               // mulps         0x1759(%rip),%xmm9        # 73f0 <_sk_callback_sse2+0x1354>
40830  .byte  15,89,192                           // mulps         %xmm0,%xmm0
40831  .byte  68,15,40,209                        // movaps        %xmm1,%xmm10
40832  .byte  69,15,89,210                        // mulps         %xmm10,%xmm10
40833  .byte  65,15,88,194                        // addps         %xmm10,%xmm0
40834  .byte  243,69,15,89,192                    // mulss         %xmm8,%xmm8
40835  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
40836  .byte  65,15,92,192                        // subps         %xmm8,%xmm0
40837  .byte  15,87,5,69,23,0,0                   // xorps         0x1745(%rip),%xmm0        # 7400 <_sk_callback_sse2+0x1364>
40838  .byte  65,15,94,193                        // divps         %xmm9,%xmm0
40839  .byte  72,173                              // lods          %ds:(%rsi),%rax
40840  .byte  255,224                             // jmpq          *%rax
40841
40842HIDDEN _sk_mask_2pt_conical_degenerates_sse2
40843.globl _sk_mask_2pt_conical_degenerates_sse2
40844FUNCTION(_sk_mask_2pt_conical_degenerates_sse2)
40845_sk_mask_2pt_conical_degenerates_sse2:
40846  .byte  72,173                              // lods          %ds:(%rsi),%rax
40847  .byte  243,68,15,16,64,40                  // movss         0x28(%rax),%xmm8
40848  .byte  243,68,15,16,72,44                  // movss         0x2c(%rax),%xmm9
40849  .byte  69,15,198,201,0                     // shufps        $0x0,%xmm9,%xmm9
40850  .byte  69,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm8
40851  .byte  68,15,89,200                        // mulps         %xmm0,%xmm9
40852  .byte  69,15,88,200                        // addps         %xmm8,%xmm9
40853  .byte  69,15,87,192                        // xorps         %xmm8,%xmm8
40854  .byte  68,15,40,208                        // movaps        %xmm0,%xmm10
40855  .byte  69,15,194,208,7                     // cmpordps      %xmm8,%xmm10
40856  .byte  69,15,194,193,2                     // cmpleps       %xmm9,%xmm8
40857  .byte  69,15,84,194                        // andps         %xmm10,%xmm8
40858  .byte  68,15,17,0                          // movups        %xmm8,(%rax)
40859  .byte  72,173                              // lods          %ds:(%rsi),%rax
40860  .byte  255,224                             // jmpq          *%rax
40861
40862HIDDEN _sk_apply_vector_mask_sse2
40863.globl _sk_apply_vector_mask_sse2
40864FUNCTION(_sk_apply_vector_mask_sse2)
40865_sk_apply_vector_mask_sse2:
40866  .byte  72,173                              // lods          %ds:(%rsi),%rax
40867  .byte  68,15,16,0                          // movups        (%rax),%xmm8
40868  .byte  65,15,84,192                        // andps         %xmm8,%xmm0
40869  .byte  65,15,84,200                        // andps         %xmm8,%xmm1
40870  .byte  65,15,84,208                        // andps         %xmm8,%xmm2
40871  .byte  65,15,84,216                        // andps         %xmm8,%xmm3
40872  .byte  72,173                              // lods          %ds:(%rsi),%rax
40873  .byte  255,224                             // jmpq          *%rax
40874
40875HIDDEN _sk_save_xy_sse2
40876.globl _sk_save_xy_sse2
40877FUNCTION(_sk_save_xy_sse2)
40878_sk_save_xy_sse2:
40879  .byte  72,173                              // lods          %ds:(%rsi),%rax
40880  .byte  68,15,40,5,235,22,0,0               // movaps        0x16eb(%rip),%xmm8        # 7410 <_sk_callback_sse2+0x1374>
40881  .byte  15,17,0                             // movups        %xmm0,(%rax)
40882  .byte  68,15,40,200                        // movaps        %xmm0,%xmm9
40883  .byte  69,15,88,200                        // addps         %xmm8,%xmm9
40884  .byte  243,69,15,91,209                    // cvttps2dq     %xmm9,%xmm10
40885  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
40886  .byte  69,15,40,217                        // movaps        %xmm9,%xmm11
40887  .byte  69,15,194,218,1                     // cmpltps       %xmm10,%xmm11
40888  .byte  68,15,40,37,214,22,0,0              // movaps        0x16d6(%rip),%xmm12        # 7420 <_sk_callback_sse2+0x1384>
40889  .byte  69,15,84,220                        // andps         %xmm12,%xmm11
40890  .byte  69,15,92,211                        // subps         %xmm11,%xmm10
40891  .byte  69,15,92,202                        // subps         %xmm10,%xmm9
40892  .byte  68,15,88,193                        // addps         %xmm1,%xmm8
40893  .byte  243,69,15,91,208                    // cvttps2dq     %xmm8,%xmm10
40894  .byte  69,15,91,210                        // cvtdq2ps      %xmm10,%xmm10
40895  .byte  69,15,40,216                        // movaps        %xmm8,%xmm11
40896  .byte  69,15,194,218,1                     // cmpltps       %xmm10,%xmm11
40897  .byte  69,15,84,220                        // andps         %xmm12,%xmm11
40898  .byte  69,15,92,211                        // subps         %xmm11,%xmm10
40899  .byte  69,15,92,194                        // subps         %xmm10,%xmm8
40900  .byte  15,17,72,32                         // movups        %xmm1,0x20(%rax)
40901  .byte  68,15,17,72,64                      // movups        %xmm9,0x40(%rax)
40902  .byte  68,15,17,64,96                      // movups        %xmm8,0x60(%rax)
40903  .byte  72,173                              // lods          %ds:(%rsi),%rax
40904  .byte  255,224                             // jmpq          *%rax
40905
40906HIDDEN _sk_accumulate_sse2
40907.globl _sk_accumulate_sse2
40908FUNCTION(_sk_accumulate_sse2)
40909_sk_accumulate_sse2:
40910  .byte  72,173                              // lods          %ds:(%rsi),%rax
40911  .byte  68,15,16,128,128,0,0,0              // movups        0x80(%rax),%xmm8
40912  .byte  68,15,16,136,160,0,0,0              // movups        0xa0(%rax),%xmm9
40913  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
40914  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
40915  .byte  68,15,89,192                        // mulps         %xmm0,%xmm8
40916  .byte  65,15,88,224                        // addps         %xmm8,%xmm4
40917  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
40918  .byte  68,15,89,193                        // mulps         %xmm1,%xmm8
40919  .byte  65,15,88,232                        // addps         %xmm8,%xmm5
40920  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
40921  .byte  68,15,89,194                        // mulps         %xmm2,%xmm8
40922  .byte  65,15,88,240                        // addps         %xmm8,%xmm6
40923  .byte  68,15,89,203                        // mulps         %xmm3,%xmm9
40924  .byte  65,15,88,249                        // addps         %xmm9,%xmm7
40925  .byte  72,173                              // lods          %ds:(%rsi),%rax
40926  .byte  255,224                             // jmpq          *%rax
40927
40928HIDDEN _sk_bilinear_nx_sse2
40929.globl _sk_bilinear_nx_sse2
40930FUNCTION(_sk_bilinear_nx_sse2)
40931_sk_bilinear_nx_sse2:
40932  .byte  72,173                              // lods          %ds:(%rsi),%rax
40933  .byte  15,16,0                             // movups        (%rax),%xmm0
40934  .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
40935  .byte  15,88,5,79,22,0,0                   // addps         0x164f(%rip),%xmm0        # 7430 <_sk_callback_sse2+0x1394>
40936  .byte  68,15,40,13,87,22,0,0               // movaps        0x1657(%rip),%xmm9        # 7440 <_sk_callback_sse2+0x13a4>
40937  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
40938  .byte  68,15,17,136,128,0,0,0              // movups        %xmm9,0x80(%rax)
40939  .byte  72,173                              // lods          %ds:(%rsi),%rax
40940  .byte  255,224                             // jmpq          *%rax
40941
40942HIDDEN _sk_bilinear_px_sse2
40943.globl _sk_bilinear_px_sse2
40944FUNCTION(_sk_bilinear_px_sse2)
40945_sk_bilinear_px_sse2:
40946  .byte  72,173                              // lods          %ds:(%rsi),%rax
40947  .byte  15,16,0                             // movups        (%rax),%xmm0
40948  .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
40949  .byte  15,88,5,70,22,0,0                   // addps         0x1646(%rip),%xmm0        # 7450 <_sk_callback_sse2+0x13b4>
40950  .byte  68,15,17,128,128,0,0,0              // movups        %xmm8,0x80(%rax)
40951  .byte  72,173                              // lods          %ds:(%rsi),%rax
40952  .byte  255,224                             // jmpq          *%rax
40953
40954HIDDEN _sk_bilinear_ny_sse2
40955.globl _sk_bilinear_ny_sse2
40956FUNCTION(_sk_bilinear_ny_sse2)
40957_sk_bilinear_ny_sse2:
40958  .byte  72,173                              // lods          %ds:(%rsi),%rax
40959  .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
40960  .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
40961  .byte  15,88,13,56,22,0,0                  // addps         0x1638(%rip),%xmm1        # 7460 <_sk_callback_sse2+0x13c4>
40962  .byte  68,15,40,13,64,22,0,0               // movaps        0x1640(%rip),%xmm9        # 7470 <_sk_callback_sse2+0x13d4>
40963  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
40964  .byte  68,15,17,136,160,0,0,0              // movups        %xmm9,0xa0(%rax)
40965  .byte  72,173                              // lods          %ds:(%rsi),%rax
40966  .byte  255,224                             // jmpq          *%rax
40967
40968HIDDEN _sk_bilinear_py_sse2
40969.globl _sk_bilinear_py_sse2
40970FUNCTION(_sk_bilinear_py_sse2)
40971_sk_bilinear_py_sse2:
40972  .byte  72,173                              // lods          %ds:(%rsi),%rax
40973  .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
40974  .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
40975  .byte  15,88,13,46,22,0,0                  // addps         0x162e(%rip),%xmm1        # 7480 <_sk_callback_sse2+0x13e4>
40976  .byte  68,15,17,128,160,0,0,0              // movups        %xmm8,0xa0(%rax)
40977  .byte  72,173                              // lods          %ds:(%rsi),%rax
40978  .byte  255,224                             // jmpq          *%rax
40979
40980HIDDEN _sk_bicubic_n3x_sse2
40981.globl _sk_bicubic_n3x_sse2
40982FUNCTION(_sk_bicubic_n3x_sse2)
40983_sk_bicubic_n3x_sse2:
40984  .byte  72,173                              // lods          %ds:(%rsi),%rax
40985  .byte  15,16,0                             // movups        (%rax),%xmm0
40986  .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
40987  .byte  15,88,5,33,22,0,0                   // addps         0x1621(%rip),%xmm0        # 7490 <_sk_callback_sse2+0x13f4>
40988  .byte  68,15,40,13,41,22,0,0               // movaps        0x1629(%rip),%xmm9        # 74a0 <_sk_callback_sse2+0x1404>
40989  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
40990  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
40991  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
40992  .byte  68,15,89,13,37,22,0,0               // mulps         0x1625(%rip),%xmm9        # 74b0 <_sk_callback_sse2+0x1414>
40993  .byte  68,15,88,13,45,22,0,0               // addps         0x162d(%rip),%xmm9        # 74c0 <_sk_callback_sse2+0x1424>
40994  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
40995  .byte  68,15,17,136,128,0,0,0              // movups        %xmm9,0x80(%rax)
40996  .byte  72,173                              // lods          %ds:(%rsi),%rax
40997  .byte  255,224                             // jmpq          *%rax
40998
40999HIDDEN _sk_bicubic_n1x_sse2
41000.globl _sk_bicubic_n1x_sse2
41001FUNCTION(_sk_bicubic_n1x_sse2)
41002_sk_bicubic_n1x_sse2:
41003  .byte  72,173                              // lods          %ds:(%rsi),%rax
41004  .byte  15,16,0                             // movups        (%rax),%xmm0
41005  .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
41006  .byte  15,88,5,28,22,0,0                   // addps         0x161c(%rip),%xmm0        # 74d0 <_sk_callback_sse2+0x1434>
41007  .byte  68,15,40,13,36,22,0,0               // movaps        0x1624(%rip),%xmm9        # 74e0 <_sk_callback_sse2+0x1444>
41008  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
41009  .byte  68,15,40,5,40,22,0,0                // movaps        0x1628(%rip),%xmm8        # 74f0 <_sk_callback_sse2+0x1454>
41010  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
41011  .byte  68,15,88,5,44,22,0,0                // addps         0x162c(%rip),%xmm8        # 7500 <_sk_callback_sse2+0x1464>
41012  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
41013  .byte  68,15,88,5,48,22,0,0                // addps         0x1630(%rip),%xmm8        # 7510 <_sk_callback_sse2+0x1474>
41014  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
41015  .byte  68,15,88,5,52,22,0,0                // addps         0x1634(%rip),%xmm8        # 7520 <_sk_callback_sse2+0x1484>
41016  .byte  68,15,17,128,128,0,0,0              // movups        %xmm8,0x80(%rax)
41017  .byte  72,173                              // lods          %ds:(%rsi),%rax
41018  .byte  255,224                             // jmpq          *%rax
41019
41020HIDDEN _sk_bicubic_p1x_sse2
41021.globl _sk_bicubic_p1x_sse2
41022FUNCTION(_sk_bicubic_p1x_sse2)
41023_sk_bicubic_p1x_sse2:
41024  .byte  72,173                              // lods          %ds:(%rsi),%rax
41025  .byte  68,15,40,5,46,22,0,0                // movaps        0x162e(%rip),%xmm8        # 7530 <_sk_callback_sse2+0x1494>
41026  .byte  15,16,0                             // movups        (%rax),%xmm0
41027  .byte  68,15,16,72,64                      // movups        0x40(%rax),%xmm9
41028  .byte  65,15,88,192                        // addps         %xmm8,%xmm0
41029  .byte  68,15,40,21,42,22,0,0               // movaps        0x162a(%rip),%xmm10        # 7540 <_sk_callback_sse2+0x14a4>
41030  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
41031  .byte  68,15,88,21,46,22,0,0               // addps         0x162e(%rip),%xmm10        # 7550 <_sk_callback_sse2+0x14b4>
41032  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
41033  .byte  69,15,88,208                        // addps         %xmm8,%xmm10
41034  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
41035  .byte  68,15,88,21,42,22,0,0               // addps         0x162a(%rip),%xmm10        # 7560 <_sk_callback_sse2+0x14c4>
41036  .byte  68,15,17,144,128,0,0,0              // movups        %xmm10,0x80(%rax)
41037  .byte  72,173                              // lods          %ds:(%rsi),%rax
41038  .byte  255,224                             // jmpq          *%rax
41039
41040HIDDEN _sk_bicubic_p3x_sse2
41041.globl _sk_bicubic_p3x_sse2
41042FUNCTION(_sk_bicubic_p3x_sse2)
41043_sk_bicubic_p3x_sse2:
41044  .byte  72,173                              // lods          %ds:(%rsi),%rax
41045  .byte  15,16,0                             // movups        (%rax),%xmm0
41046  .byte  68,15,16,64,64                      // movups        0x40(%rax),%xmm8
41047  .byte  15,88,5,29,22,0,0                   // addps         0x161d(%rip),%xmm0        # 7570 <_sk_callback_sse2+0x14d4>
41048  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
41049  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
41050  .byte  68,15,89,5,29,22,0,0                // mulps         0x161d(%rip),%xmm8        # 7580 <_sk_callback_sse2+0x14e4>
41051  .byte  68,15,88,5,37,22,0,0                // addps         0x1625(%rip),%xmm8        # 7590 <_sk_callback_sse2+0x14f4>
41052  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
41053  .byte  68,15,17,128,128,0,0,0              // movups        %xmm8,0x80(%rax)
41054  .byte  72,173                              // lods          %ds:(%rsi),%rax
41055  .byte  255,224                             // jmpq          *%rax
41056
41057HIDDEN _sk_bicubic_n3y_sse2
41058.globl _sk_bicubic_n3y_sse2
41059FUNCTION(_sk_bicubic_n3y_sse2)
41060_sk_bicubic_n3y_sse2:
41061  .byte  72,173                              // lods          %ds:(%rsi),%rax
41062  .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
41063  .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
41064  .byte  15,88,13,19,22,0,0                  // addps         0x1613(%rip),%xmm1        # 75a0 <_sk_callback_sse2+0x1504>
41065  .byte  68,15,40,13,27,22,0,0               // movaps        0x161b(%rip),%xmm9        # 75b0 <_sk_callback_sse2+0x1514>
41066  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
41067  .byte  69,15,40,193                        // movaps        %xmm9,%xmm8
41068  .byte  69,15,89,192                        // mulps         %xmm8,%xmm8
41069  .byte  68,15,89,13,23,22,0,0               // mulps         0x1617(%rip),%xmm9        # 75c0 <_sk_callback_sse2+0x1524>
41070  .byte  68,15,88,13,31,22,0,0               // addps         0x161f(%rip),%xmm9        # 75d0 <_sk_callback_sse2+0x1534>
41071  .byte  69,15,89,200                        // mulps         %xmm8,%xmm9
41072  .byte  68,15,17,136,160,0,0,0              // movups        %xmm9,0xa0(%rax)
41073  .byte  72,173                              // lods          %ds:(%rsi),%rax
41074  .byte  255,224                             // jmpq          *%rax
41075
41076HIDDEN _sk_bicubic_n1y_sse2
41077.globl _sk_bicubic_n1y_sse2
41078FUNCTION(_sk_bicubic_n1y_sse2)
41079_sk_bicubic_n1y_sse2:
41080  .byte  72,173                              // lods          %ds:(%rsi),%rax
41081  .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
41082  .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
41083  .byte  15,88,13,13,22,0,0                  // addps         0x160d(%rip),%xmm1        # 75e0 <_sk_callback_sse2+0x1544>
41084  .byte  68,15,40,13,21,22,0,0               // movaps        0x1615(%rip),%xmm9        # 75f0 <_sk_callback_sse2+0x1554>
41085  .byte  69,15,92,200                        // subps         %xmm8,%xmm9
41086  .byte  68,15,40,5,25,22,0,0                // movaps        0x1619(%rip),%xmm8        # 7600 <_sk_callback_sse2+0x1564>
41087  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
41088  .byte  68,15,88,5,29,22,0,0                // addps         0x161d(%rip),%xmm8        # 7610 <_sk_callback_sse2+0x1574>
41089  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
41090  .byte  68,15,88,5,33,22,0,0                // addps         0x1621(%rip),%xmm8        # 7620 <_sk_callback_sse2+0x1584>
41091  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
41092  .byte  68,15,88,5,37,22,0,0                // addps         0x1625(%rip),%xmm8        # 7630 <_sk_callback_sse2+0x1594>
41093  .byte  68,15,17,128,160,0,0,0              // movups        %xmm8,0xa0(%rax)
41094  .byte  72,173                              // lods          %ds:(%rsi),%rax
41095  .byte  255,224                             // jmpq          *%rax
41096
41097HIDDEN _sk_bicubic_p1y_sse2
41098.globl _sk_bicubic_p1y_sse2
41099FUNCTION(_sk_bicubic_p1y_sse2)
41100_sk_bicubic_p1y_sse2:
41101  .byte  72,173                              // lods          %ds:(%rsi),%rax
41102  .byte  68,15,40,5,31,22,0,0                // movaps        0x161f(%rip),%xmm8        # 7640 <_sk_callback_sse2+0x15a4>
41103  .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
41104  .byte  68,15,16,72,96                      // movups        0x60(%rax),%xmm9
41105  .byte  65,15,88,200                        // addps         %xmm8,%xmm1
41106  .byte  68,15,40,21,26,22,0,0               // movaps        0x161a(%rip),%xmm10        # 7650 <_sk_callback_sse2+0x15b4>
41107  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
41108  .byte  68,15,88,21,30,22,0,0               // addps         0x161e(%rip),%xmm10        # 7660 <_sk_callback_sse2+0x15c4>
41109  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
41110  .byte  69,15,88,208                        // addps         %xmm8,%xmm10
41111  .byte  69,15,89,209                        // mulps         %xmm9,%xmm10
41112  .byte  68,15,88,21,26,22,0,0               // addps         0x161a(%rip),%xmm10        # 7670 <_sk_callback_sse2+0x15d4>
41113  .byte  68,15,17,144,160,0,0,0              // movups        %xmm10,0xa0(%rax)
41114  .byte  72,173                              // lods          %ds:(%rsi),%rax
41115  .byte  255,224                             // jmpq          *%rax
41116
41117HIDDEN _sk_bicubic_p3y_sse2
41118.globl _sk_bicubic_p3y_sse2
41119FUNCTION(_sk_bicubic_p3y_sse2)
41120_sk_bicubic_p3y_sse2:
41121  .byte  72,173                              // lods          %ds:(%rsi),%rax
41122  .byte  15,16,72,32                         // movups        0x20(%rax),%xmm1
41123  .byte  68,15,16,64,96                      // movups        0x60(%rax),%xmm8
41124  .byte  15,88,13,12,22,0,0                  // addps         0x160c(%rip),%xmm1        # 7680 <_sk_callback_sse2+0x15e4>
41125  .byte  69,15,40,200                        // movaps        %xmm8,%xmm9
41126  .byte  69,15,89,201                        // mulps         %xmm9,%xmm9
41127  .byte  68,15,89,5,12,22,0,0                // mulps         0x160c(%rip),%xmm8        # 7690 <_sk_callback_sse2+0x15f4>
41128  .byte  68,15,88,5,20,22,0,0                // addps         0x1614(%rip),%xmm8        # 76a0 <_sk_callback_sse2+0x1604>
41129  .byte  69,15,89,193                        // mulps         %xmm9,%xmm8
41130  .byte  68,15,17,128,160,0,0,0              // movups        %xmm8,0xa0(%rax)
41131  .byte  72,173                              // lods          %ds:(%rsi),%rax
41132  .byte  255,224                             // jmpq          *%rax
41133
41134HIDDEN _sk_callback_sse2
41135.globl _sk_callback_sse2
41136FUNCTION(_sk_callback_sse2)
41137_sk_callback_sse2:
41138  .byte  85                                  // push          %rbp
41139  .byte  72,137,229                          // mov           %rsp,%rbp
41140  .byte  65,87                               // push          %r15
41141  .byte  65,86                               // push          %r14
41142  .byte  65,85                               // push          %r13
41143  .byte  65,84                               // push          %r12
41144  .byte  83                                  // push          %rbx
41145  .byte  72,131,236,72                       // sub           $0x48,%rsp
41146  .byte  15,41,125,144                       // movaps        %xmm7,-0x70(%rbp)
41147  .byte  15,41,117,160                       // movaps        %xmm6,-0x60(%rbp)
41148  .byte  15,41,109,176                       // movaps        %xmm5,-0x50(%rbp)
41149  .byte  15,41,101,192                       // movaps        %xmm4,-0x40(%rbp)
41150  .byte  76,137,195                          // mov           %r8,%rbx
41151  .byte  72,137,77,208                       // mov           %rcx,-0x30(%rbp)
41152  .byte  73,137,215                          // mov           %rdx,%r15
41153  .byte  73,137,252                          // mov           %rdi,%r12
41154  .byte  72,173                              // lods          %ds:(%rsi),%rax
41155  .byte  73,137,198                          // mov           %rax,%r14
41156  .byte  73,137,245                          // mov           %rsi,%r13
41157  .byte  15,40,224                           // movaps        %xmm0,%xmm4
41158  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
41159  .byte  15,40,234                           // movaps        %xmm2,%xmm5
41160  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
41161  .byte  15,21,193                           // unpckhps      %xmm1,%xmm0
41162  .byte  15,21,211                           // unpckhps      %xmm3,%xmm2
41163  .byte  15,40,204                           // movaps        %xmm4,%xmm1
41164  .byte  102,15,20,205                       // unpcklpd      %xmm5,%xmm1
41165  .byte  15,18,236                           // movhlps       %xmm4,%xmm5
41166  .byte  15,40,216                           // movaps        %xmm0,%xmm3
41167  .byte  102,15,20,218                       // unpcklpd      %xmm2,%xmm3
41168  .byte  102,65,15,17,78,8                   // movupd        %xmm1,0x8(%r14)
41169  .byte  15,18,208                           // movhlps       %xmm0,%xmm2
41170  .byte  65,15,17,110,24                     // movups        %xmm5,0x18(%r14)
41171  .byte  102,65,15,17,94,40                  // movupd        %xmm3,0x28(%r14)
41172  .byte  65,15,17,86,56                      // movups        %xmm2,0x38(%r14)
41173  .byte  72,133,219                          // test          %rbx,%rbx
41174  .byte  190,4,0,0,0                         // mov           $0x4,%esi
41175  .byte  15,69,243                           // cmovne        %ebx,%esi
41176  .byte  76,137,247                          // mov           %r14,%rdi
41177  .byte  65,255,22                           // callq         *(%r14)
41178  .byte  73,139,134,136,0,0,0                // mov           0x88(%r14),%rax
41179  .byte  15,16,32                            // movups        (%rax),%xmm4
41180  .byte  15,16,64,16                         // movups        0x10(%rax),%xmm0
41181  .byte  15,16,88,32                         // movups        0x20(%rax),%xmm3
41182  .byte  15,16,80,48                         // movups        0x30(%rax),%xmm2
41183  .byte  15,40,236                           // movaps        %xmm4,%xmm5
41184  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
41185  .byte  15,40,203                           // movaps        %xmm3,%xmm1
41186  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
41187  .byte  15,21,224                           // unpckhps      %xmm0,%xmm4
41188  .byte  15,21,218                           // unpckhps      %xmm2,%xmm3
41189  .byte  15,40,197                           // movaps        %xmm5,%xmm0
41190  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
41191  .byte  15,18,205                           // movhlps       %xmm5,%xmm1
41192  .byte  15,40,212                           // movaps        %xmm4,%xmm2
41193  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
41194  .byte  15,18,220                           // movhlps       %xmm4,%xmm3
41195  .byte  76,137,238                          // mov           %r13,%rsi
41196  .byte  72,173                              // lods          %ds:(%rsi),%rax
41197  .byte  76,137,231                          // mov           %r12,%rdi
41198  .byte  76,137,250                          // mov           %r15,%rdx
41199  .byte  72,139,77,208                       // mov           -0x30(%rbp),%rcx
41200  .byte  73,137,216                          // mov           %rbx,%r8
41201  .byte  15,40,101,192                       // movaps        -0x40(%rbp),%xmm4
41202  .byte  15,40,109,176                       // movaps        -0x50(%rbp),%xmm5
41203  .byte  15,40,117,160                       // movaps        -0x60(%rbp),%xmm6
41204  .byte  15,40,125,144                       // movaps        -0x70(%rbp),%xmm7
41205  .byte  72,131,196,72                       // add           $0x48,%rsp
41206  .byte  91                                  // pop           %rbx
41207  .byte  65,92                               // pop           %r12
41208  .byte  65,93                               // pop           %r13
41209  .byte  65,94                               // pop           %r14
41210  .byte  65,95                               // pop           %r15
41211  .byte  93                                  // pop           %rbp
41212  .byte  255,224                             // jmpq          *%rax
41213
41214BALIGN16
41215  .byte  0,0                                 // add           %al,(%rax)
41216  .byte  0,63                                // add           %bh,(%rdi)
41217  .byte  0,0                                 // add           %al,(%rax)
41218  .byte  0,63                                // add           %bh,(%rdi)
41219  .byte  0,0                                 // add           %al,(%rax)
41220  .byte  0,63                                // add           %bh,(%rdi)
41221  .byte  0,0                                 // add           %al,(%rax)
41222  .byte  0,63                                // add           %bh,(%rdi)
41223  .byte  0,0                                 // add           %al,(%rax)
41224  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41225  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41226  .byte  63                                  // (bad)
41227  .byte  0,0                                 // add           %al,(%rax)
41228  .byte  128,63,1                            // cmpb          $0x1,(%rdi)
41229  .byte  0,0                                 // add           %al,(%rax)
41230  .byte  0,1                                 // add           %al,(%rcx)
41231  .byte  0,0                                 // add           %al,(%rax)
41232  .byte  0,1                                 // add           %al,(%rcx)
41233  .byte  0,0                                 // add           %al,(%rax)
41234  .byte  0,1                                 // add           %al,(%rcx)
41235  .byte  0,0                                 // add           %al,(%rax)
41236  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
41237  .byte  0,0                                 // add           %al,(%rax)
41238  .byte  4,0                                 // add           $0x0,%al
41239  .byte  0,0                                 // add           %al,(%rax)
41240  .byte  4,0                                 // add           $0x0,%al
41241  .byte  0,0                                 // add           %al,(%rax)
41242  .byte  4,0                                 // add           $0x0,%al
41243  .byte  0,0                                 // add           %al,(%rax)
41244  .byte  2,0                                 // add           (%rax),%al
41245  .byte  0,0                                 // add           %al,(%rax)
41246  .byte  2,0                                 // add           (%rax),%al
41247  .byte  0,0                                 // add           %al,(%rax)
41248  .byte  2,0                                 // add           (%rax),%al
41249  .byte  0,0                                 // add           %al,(%rax)
41250  .byte  2,0                                 // add           (%rax),%al
41251  .byte  0,0                                 // add           %al,(%rax)
41252  .byte  0,0                                 // add           %al,(%rax)
41253  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
41254  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
41255  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
41256  .byte  128,60,0,0                          // cmpb          $0x0,(%rax,%rax,1)
41257  .byte  252                                 // cld
41258  .byte  190,0,0,252,190                     // mov           $0xbefc0000,%esi
41259  .byte  0,0                                 // add           %al,(%rax)
41260  .byte  252                                 // cld
41261  .byte  190,0,0,252,190                     // mov           $0xbefc0000,%esi
41262  .byte  0,0                                 // add           %al,(%rax)
41263  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41264  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41265  .byte  63                                  // (bad)
41266  .byte  0,0                                 // add           %al,(%rax)
41267  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41268  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41269  .byte  63                                  // (bad)
41270  .byte  0,0                                 // add           %al,(%rax)
41271  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41272  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41273  .byte  63                                  // (bad)
41274  .byte  0,0                                 // add           %al,(%rax)
41275  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41276  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41277  .byte  63                                  // (bad)
41278  .byte  0,0                                 // add           %al,(%rax)
41279  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41280  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41281  .byte  63                                  // (bad)
41282  .byte  0,0                                 // add           %al,(%rax)
41283  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41284  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41285  .byte  63                                  // (bad)
41286  .byte  0,0                                 // add           %al,(%rax)
41287  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41288  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41289  .byte  63                                  // (bad)
41290  .byte  0,0                                 // add           %al,(%rax)
41291  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41292  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41293  .byte  63                                  // (bad)
41294  .byte  0,0                                 // add           %al,(%rax)
41295  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41296  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41297  .byte  63                                  // (bad)
41298  .byte  0,0                                 // add           %al,(%rax)
41299  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41300  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41301  .byte  63                                  // (bad)
41302  .byte  0,0                                 // add           %al,(%rax)
41303  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41304  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41305  .byte  63                                  // (bad)
41306  .byte  0,0                                 // add           %al,(%rax)
41307  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41308  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41309  .byte  63                                  // (bad)
41310  .byte  0,0                                 // add           %al,(%rax)
41311  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41312  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41313  .byte  63                                  // (bad)
41314  .byte  0,0                                 // add           %al,(%rax)
41315  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41316  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41317  .byte  63                                  // (bad)
41318  .byte  0,0                                 // add           %al,(%rax)
41319  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41320  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41321  .byte  63                                  // (bad)
41322  .byte  0,0                                 // add           %al,(%rax)
41323  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41324  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41325  .byte  63                                  // (bad)
41326  .byte  0,0                                 // add           %al,(%rax)
41327  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41328  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41329  .byte  63                                  // (bad)
41330  .byte  0,0                                 // add           %al,(%rax)
41331  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41332  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41333  .byte  63                                  // (bad)
41334  .byte  0,0                                 // add           %al,(%rax)
41335  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41336  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41337  .byte  63                                  // (bad)
41338  .byte  0,0                                 // add           %al,(%rax)
41339  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41340  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41341  .byte  63                                  // (bad)
41342  .byte  0,0                                 // add           %al,(%rax)
41343  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41344  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41345  .byte  63                                  // (bad)
41346  .byte  0,0                                 // add           %al,(%rax)
41347  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41348  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41349  .byte  63                                  // (bad)
41350  .byte  0,0                                 // add           %al,(%rax)
41351  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41352  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41353  .byte  63                                  // (bad)
41354  .byte  0,0                                 // add           %al,(%rax)
41355  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41356  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41357  .byte  63                                  // (bad)
41358  .byte  0,0                                 // add           %al,(%rax)
41359  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41360  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41361  .byte  63                                  // (bad)
41362  .byte  0,0                                 // add           %al,(%rax)
41363  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41364  .byte  0,128,191,0,0,128                   // add           %al,-0x7fffff41(%rax)
41365  .byte  191,0,0,128,191                     // mov           $0xbf800000,%edi
41366  .byte  0,0                                 // add           %al,(%rax)
41367  .byte  128,191,0,0,224,64,0                // cmpb          $0x0,0x40e00000(%rdi)
41368  .byte  0,224                               // add           %ah,%al
41369  .byte  64,0,0                              // add           %al,(%rax)
41370  .byte  224,64                              // loopne        638c <.literal16+0x1fc>
41371  .byte  0,0                                 // add           %al,(%rax)
41372  .byte  224,64                              // loopne        6390 <.literal16+0x200>
41373  .byte  154                                 // (bad)
41374  .byte  153                                 // cltd
41375  .byte  153                                 // cltd
41376  .byte  62,154                              // ds            (bad)
41377  .byte  153                                 // cltd
41378  .byte  153                                 // cltd
41379  .byte  62,154                              // ds            (bad)
41380  .byte  153                                 // cltd
41381  .byte  153                                 // cltd
41382  .byte  62,154                              // ds            (bad)
41383  .byte  153                                 // cltd
41384  .byte  153                                 // cltd
41385  .byte  62,61,10,23,63,61                   // ds            cmp $0x3d3f170a,%eax
41386  .byte  10,23                               // or            (%rdi),%dl
41387  .byte  63                                  // (bad)
41388  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
41389  .byte  10,23                               // or            (%rdi),%dl
41390  .byte  63                                  // (bad)
41391  .byte  174                                 // scas          %es:(%rdi),%al
41392  .byte  71,225,61                           // rex.RXB       loope 63b1 <.literal16+0x221>
41393  .byte  174                                 // scas          %es:(%rdi),%al
41394  .byte  71,225,61                           // rex.RXB       loope 63b5 <.literal16+0x225>
41395  .byte  174                                 // scas          %es:(%rdi),%al
41396  .byte  71,225,61                           // rex.RXB       loope 63b9 <.literal16+0x229>
41397  .byte  174                                 // scas          %es:(%rdi),%al
41398  .byte  71,225,61                           // rex.RXB       loope 63bd <.literal16+0x22d>
41399  .byte  0,0                                 // add           %al,(%rax)
41400  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41401  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41402  .byte  63                                  // (bad)
41403  .byte  0,0                                 // add           %al,(%rax)
41404  .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
41405  .byte  153                                 // cltd
41406  .byte  153                                 // cltd
41407  .byte  62,154                              // ds            (bad)
41408  .byte  153                                 // cltd
41409  .byte  153                                 // cltd
41410  .byte  62,154                              // ds            (bad)
41411  .byte  153                                 // cltd
41412  .byte  153                                 // cltd
41413  .byte  62,154                              // ds            (bad)
41414  .byte  153                                 // cltd
41415  .byte  153                                 // cltd
41416  .byte  62,61,10,23,63,61                   // ds            cmp $0x3d3f170a,%eax
41417  .byte  10,23                               // or            (%rdi),%dl
41418  .byte  63                                  // (bad)
41419  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
41420  .byte  10,23                               // or            (%rdi),%dl
41421  .byte  63                                  // (bad)
41422  .byte  174                                 // scas          %es:(%rdi),%al
41423  .byte  71,225,61                           // rex.RXB       loope 63f1 <.literal16+0x261>
41424  .byte  174                                 // scas          %es:(%rdi),%al
41425  .byte  71,225,61                           // rex.RXB       loope 63f5 <.literal16+0x265>
41426  .byte  174                                 // scas          %es:(%rdi),%al
41427  .byte  71,225,61                           // rex.RXB       loope 63f9 <.literal16+0x269>
41428  .byte  174                                 // scas          %es:(%rdi),%al
41429  .byte  71,225,61                           // rex.RXB       loope 63fd <.literal16+0x26d>
41430  .byte  0,0                                 // add           %al,(%rax)
41431  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41432  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41433  .byte  63                                  // (bad)
41434  .byte  0,0                                 // add           %al,(%rax)
41435  .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
41436  .byte  153                                 // cltd
41437  .byte  153                                 // cltd
41438  .byte  62,154                              // ds            (bad)
41439  .byte  153                                 // cltd
41440  .byte  153                                 // cltd
41441  .byte  62,154                              // ds            (bad)
41442  .byte  153                                 // cltd
41443  .byte  153                                 // cltd
41444  .byte  62,154                              // ds            (bad)
41445  .byte  153                                 // cltd
41446  .byte  153                                 // cltd
41447  .byte  62,61,10,23,63,61                   // ds            cmp $0x3d3f170a,%eax
41448  .byte  10,23                               // or            (%rdi),%dl
41449  .byte  63                                  // (bad)
41450  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
41451  .byte  10,23                               // or            (%rdi),%dl
41452  .byte  63                                  // (bad)
41453  .byte  174                                 // scas          %es:(%rdi),%al
41454  .byte  71,225,61                           // rex.RXB       loope 6431 <.literal16+0x2a1>
41455  .byte  174                                 // scas          %es:(%rdi),%al
41456  .byte  71,225,61                           // rex.RXB       loope 6435 <.literal16+0x2a5>
41457  .byte  174                                 // scas          %es:(%rdi),%al
41458  .byte  71,225,61                           // rex.RXB       loope 6439 <.literal16+0x2a9>
41459  .byte  174                                 // scas          %es:(%rdi),%al
41460  .byte  71,225,61                           // rex.RXB       loope 643d <.literal16+0x2ad>
41461  .byte  0,0                                 // add           %al,(%rax)
41462  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41463  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41464  .byte  63                                  // (bad)
41465  .byte  0,0                                 // add           %al,(%rax)
41466  .byte  128,63,154                          // cmpb          $0x9a,(%rdi)
41467  .byte  153                                 // cltd
41468  .byte  153                                 // cltd
41469  .byte  62,154                              // ds            (bad)
41470  .byte  153                                 // cltd
41471  .byte  153                                 // cltd
41472  .byte  62,154                              // ds            (bad)
41473  .byte  153                                 // cltd
41474  .byte  153                                 // cltd
41475  .byte  62,154                              // ds            (bad)
41476  .byte  153                                 // cltd
41477  .byte  153                                 // cltd
41478  .byte  62,61,10,23,63,61                   // ds            cmp $0x3d3f170a,%eax
41479  .byte  10,23                               // or            (%rdi),%dl
41480  .byte  63                                  // (bad)
41481  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
41482  .byte  10,23                               // or            (%rdi),%dl
41483  .byte  63                                  // (bad)
41484  .byte  174                                 // scas          %es:(%rdi),%al
41485  .byte  71,225,61                           // rex.RXB       loope 6471 <.literal16+0x2e1>
41486  .byte  174                                 // scas          %es:(%rdi),%al
41487  .byte  71,225,61                           // rex.RXB       loope 6475 <.literal16+0x2e5>
41488  .byte  174                                 // scas          %es:(%rdi),%al
41489  .byte  71,225,61                           // rex.RXB       loope 6479 <.literal16+0x2e9>
41490  .byte  174                                 // scas          %es:(%rdi),%al
41491  .byte  71,225,61                           // rex.RXB       loope 647d <.literal16+0x2ed>
41492  .byte  0,0                                 // add           %al,(%rax)
41493  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41494  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41495  .byte  63                                  // (bad)
41496  .byte  0,0                                 // add           %al,(%rax)
41497  .byte  128,63,255                          // cmpb          $0xff,(%rdi)
41498  .byte  0,0                                 // add           %al,(%rax)
41499  .byte  0,255                               // add           %bh,%bh
41500  .byte  0,0                                 // add           %al,(%rax)
41501  .byte  0,255                               // add           %bh,%bh
41502  .byte  0,0                                 // add           %al,(%rax)
41503  .byte  0,255                               // add           %bh,%bh
41504  .byte  0,0                                 // add           %al,(%rax)
41505  .byte  0,0                                 // add           %al,(%rax)
41506  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41507  .byte  63                                  // (bad)
41508  .byte  0,0                                 // add           %al,(%rax)
41509  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41510  .byte  0,128,63,0,0,127                    // add           %al,0x7f00003f(%rax)
41511  .byte  67,0,0                              // rex.XB        add %al,(%r8)
41512  .byte  127,67                              // jg            64bb <.literal16+0x32b>
41513  .byte  0,0                                 // add           %al,(%rax)
41514  .byte  127,67                              // jg            64bf <.literal16+0x32f>
41515  .byte  0,0                                 // add           %al,(%rax)
41516  .byte  127,67                              // jg            64c3 <.literal16+0x333>
41517  .byte  0,0                                 // add           %al,(%rax)
41518  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41519  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41520  .byte  63                                  // (bad)
41521  .byte  0,0                                 // add           %al,(%rax)
41522  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41523  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41524  .byte  63                                  // (bad)
41525  .byte  0,0                                 // add           %al,(%rax)
41526  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41527  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41528  .byte  63                                  // (bad)
41529  .byte  0,0                                 // add           %al,(%rax)
41530  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41531  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41532  .byte  63                                  // (bad)
41533  .byte  0,0                                 // add           %al,(%rax)
41534  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41535  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41536  .byte  63                                  // (bad)
41537  .byte  0,0                                 // add           %al,(%rax)
41538  .byte  128,63,145                          // cmpb          $0x91,(%rdi)
41539  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
41540  .byte  145                                 // xchg          %eax,%ecx
41541  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
41542  .byte  154                                 // (bad)
41543  .byte  153                                 // cltd
41544  .byte  153                                 // cltd
41545  .byte  62,154                              // ds            (bad)
41546  .byte  153                                 // cltd
41547  .byte  153                                 // cltd
41548  .byte  62,154                              // ds            (bad)
41549  .byte  153                                 // cltd
41550  .byte  153                                 // cltd
41551  .byte  62,154                              // ds            (bad)
41552  .byte  153                                 // cltd
41553  .byte  153                                 // cltd
41554  .byte  62,92                               // ds            pop %rsp
41555  .byte  143                                 // (bad)
41556  .byte  50,63                               // xor           (%rdi),%bh
41557  .byte  92                                  // pop           %rsp
41558  .byte  143                                 // (bad)
41559  .byte  50,63                               // xor           (%rdi),%bh
41560  .byte  92                                  // pop           %rsp
41561  .byte  143                                 // (bad)
41562  .byte  50,63                               // xor           (%rdi),%bh
41563  .byte  92                                  // pop           %rsp
41564  .byte  143                                 // (bad)
41565  .byte  50,63                               // xor           (%rdi),%bh
41566  .byte  10,215                              // or            %bh,%dl
41567  .byte  35,59                               // and           (%rbx),%edi
41568  .byte  10,215                              // or            %bh,%dl
41569  .byte  35,59                               // and           (%rbx),%edi
41570  .byte  10,215                              // or            %bh,%dl
41571  .byte  35,59                               // and           (%rbx),%edi
41572  .byte  10,215                              // or            %bh,%dl
41573  .byte  35,59                               // and           (%rbx),%edi
41574  .byte  174                                 // scas          %es:(%rdi),%al
41575  .byte  71,97                               // rex.RXB       (bad)
41576  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
41577  .byte  174                                 // scas          %es:(%rdi),%al
41578  .byte  71,97                               // rex.RXB       (bad)
41579  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
41580  .byte  145                                 // xchg          %eax,%ecx
41581  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
41582  .byte  145                                 // xchg          %eax,%ecx
41583  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%rsi)
41584  .byte  154                                 // (bad)
41585  .byte  153                                 // cltd
41586  .byte  153                                 // cltd
41587  .byte  62,154                              // ds            (bad)
41588  .byte  153                                 // cltd
41589  .byte  153                                 // cltd
41590  .byte  62,154                              // ds            (bad)
41591  .byte  153                                 // cltd
41592  .byte  153                                 // cltd
41593  .byte  62,154                              // ds            (bad)
41594  .byte  153                                 // cltd
41595  .byte  153                                 // cltd
41596  .byte  62,92                               // ds            pop %rsp
41597  .byte  143                                 // (bad)
41598  .byte  50,63                               // xor           (%rdi),%bh
41599  .byte  92                                  // pop           %rsp
41600  .byte  143                                 // (bad)
41601  .byte  50,63                               // xor           (%rdi),%bh
41602  .byte  92                                  // pop           %rsp
41603  .byte  143                                 // (bad)
41604  .byte  50,63                               // xor           (%rdi),%bh
41605  .byte  92                                  // pop           %rsp
41606  .byte  143                                 // (bad)
41607  .byte  50,63                               // xor           (%rdi),%bh
41608  .byte  10,215                              // or            %bh,%dl
41609  .byte  35,59                               // and           (%rbx),%edi
41610  .byte  10,215                              // or            %bh,%dl
41611  .byte  35,59                               // and           (%rbx),%edi
41612  .byte  10,215                              // or            %bh,%dl
41613  .byte  35,59                               // and           (%rbx),%edi
41614  .byte  10,215                              // or            %bh,%dl
41615  .byte  35,59                               // and           (%rbx),%edi
41616  .byte  174                                 // scas          %es:(%rdi),%al
41617  .byte  71,97                               // rex.RXB       (bad)
41618  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
41619  .byte  174                                 // scas          %es:(%rdi),%al
41620  .byte  71,97                               // rex.RXB       (bad)
41621  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
41622  .byte  82                                  // push          %rdx
41623  .byte  184,78,65,82,184                    // mov           $0xb852414e,%eax
41624  .byte  78                                  // rex.WRX
41625  .byte  65,82                               // push          %r10
41626  .byte  184,78,65,82,184                    // mov           $0xb852414e,%eax
41627  .byte  78                                  // rex.WRX
41628  .byte  65,57,215                           // cmp           %edx,%r15d
41629  .byte  32,187,57,215,32,187                // and           %bh,-0x44df28c7(%rbx)
41630  .byte  57,215                              // cmp           %edx,%edi
41631  .byte  32,187,57,215,32,187                // and           %bh,-0x44df28c7(%rbx)
41632  .byte  186,159,98,60,186                   // mov           $0xba3c629f,%edx
41633  .byte  159                                 // lahf
41634  .byte  98                                  // (bad)
41635  .byte  60,186                              // cmp           $0xba,%al
41636  .byte  159                                 // lahf
41637  .byte  98                                  // (bad)
41638  .byte  60,186                              // cmp           $0xba,%al
41639  .byte  159                                 // lahf
41640  .byte  98                                  // (bad)
41641  .byte  60,109                              // cmp           $0x6d,%al
41642  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
41643  .byte  144                                 // nop
41644  .byte  63                                  // (bad)
41645  .byte  109                                 // insl          (%dx),%es:(%rdi)
41646  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
41647  .byte  144                                 // nop
41648  .byte  63                                  // (bad)
41649  .byte  109                                 // insl          (%dx),%es:(%rdi)
41650  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
41651  .byte  144                                 // nop
41652  .byte  63                                  // (bad)
41653  .byte  109                                 // insl          (%dx),%es:(%rdi)
41654  .byte  165                                 // movsl         %ds:(%rsi),%es:(%rdi)
41655  .byte  144                                 // nop
41656  .byte  63                                  // (bad)
41657  .byte  252                                 // cld
41658  .byte  191,16,62,252,191                   // mov           $0xbffc3e10,%edi
41659  .byte  16,62                               // adc           %bh,(%rsi)
41660  .byte  252                                 // cld
41661  .byte  191,16,62,252,191                   // mov           $0xbffc3e10,%edi
41662  .byte  16,62                               // adc           %bh,(%rsi)
41663  .byte  168,177                             // test          $0xb1,%al
41664  .byte  152                                 // cwtl
41665  .byte  59,168,177,152,59,168               // cmp           -0x57c4674f(%rax),%ebp
41666  .byte  177,152                             // mov           $0x98,%cl
41667  .byte  59,168,177,152,59,0                 // cmp           0x3b98b1(%rax),%ebp
41668  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41669  .byte  63                                  // (bad)
41670  .byte  0,0                                 // add           %al,(%rax)
41671  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41672  .byte  0,128,63,0,0,192                    // add           %al,-0x3fffffc1(%rax)
41673  .byte  64,0,0                              // add           %al,(%rax)
41674  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
41675  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
41676  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
41677  .byte  0,64,0                              // add           %al,0x0(%rax)
41678  .byte  0,0                                 // add           %al,(%rax)
41679  .byte  64,0,0                              // add           %al,(%rax)
41680  .byte  0,64,0                              // add           %al,0x0(%rax)
41681  .byte  0,0                                 // add           %al,(%rax)
41682  .byte  64,0,0                              // add           %al,(%rax)
41683  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
41684  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
41685  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
41686  .byte  128,64,171,170                      // addb          $0xaa,-0x55(%rax)
41687  .byte  42,62                               // sub           (%rsi),%bh
41688  .byte  171                                 // stos          %eax,%es:(%rdi)
41689  .byte  170                                 // stos          %al,%es:(%rdi)
41690  .byte  42,62                               // sub           (%rsi),%bh
41691  .byte  171                                 // stos          %eax,%es:(%rdi)
41692  .byte  170                                 // stos          %al,%es:(%rdi)
41693  .byte  42,62                               // sub           (%rsi),%bh
41694  .byte  171                                 // stos          %eax,%es:(%rdi)
41695  .byte  170                                 // stos          %al,%es:(%rdi)
41696  .byte  42,62                               // sub           (%rsi),%bh
41697  .byte  0,0                                 // add           %al,(%rax)
41698  .byte  0,63                                // add           %bh,(%rdi)
41699  .byte  0,0                                 // add           %al,(%rax)
41700  .byte  0,63                                // add           %bh,(%rdi)
41701  .byte  0,0                                 // add           %al,(%rax)
41702  .byte  0,63                                // add           %bh,(%rdi)
41703  .byte  0,0                                 // add           %al,(%rax)
41704  .byte  0,63                                // add           %bh,(%rdi)
41705  .byte  0,0                                 // add           %al,(%rax)
41706  .byte  0,63                                // add           %bh,(%rdi)
41707  .byte  0,0                                 // add           %al,(%rax)
41708  .byte  0,63                                // add           %bh,(%rdi)
41709  .byte  0,0                                 // add           %al,(%rax)
41710  .byte  0,63                                // add           %bh,(%rdi)
41711  .byte  0,0                                 // add           %al,(%rax)
41712  .byte  0,63                                // add           %bh,(%rdi)
41713  .byte  171                                 // stos          %eax,%es:(%rdi)
41714  .byte  170                                 // stos          %al,%es:(%rdi)
41715  .byte  170                                 // stos          %al,%es:(%rdi)
41716  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
41717  .byte  170                                 // stos          %al,%es:(%rdi)
41718  .byte  170                                 // stos          %al,%es:(%rdi)
41719  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
41720  .byte  170                                 // stos          %al,%es:(%rdi)
41721  .byte  170                                 // stos          %al,%es:(%rdi)
41722  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
41723  .byte  170                                 // stos          %al,%es:(%rdi)
41724  .byte  170                                 // stos          %al,%es:(%rdi)
41725  .byte  62,0,0                              // add           %al,%ds:(%rax)
41726  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41727  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41728  .byte  63                                  // (bad)
41729  .byte  0,0                                 // add           %al,(%rax)
41730  .byte  128,63,171                          // cmpb          $0xab,(%rdi)
41731  .byte  170                                 // stos          %al,%es:(%rdi)
41732  .byte  42,63                               // sub           (%rdi),%bh
41733  .byte  171                                 // stos          %eax,%es:(%rdi)
41734  .byte  170                                 // stos          %al,%es:(%rdi)
41735  .byte  42,63                               // sub           (%rdi),%bh
41736  .byte  171                                 // stos          %eax,%es:(%rdi)
41737  .byte  170                                 // stos          %al,%es:(%rdi)
41738  .byte  42,63                               // sub           (%rdi),%bh
41739  .byte  171                                 // stos          %eax,%es:(%rdi)
41740  .byte  170                                 // stos          %al,%es:(%rdi)
41741  .byte  42,63                               // sub           (%rdi),%bh
41742  .byte  0,0                                 // add           %al,(%rax)
41743  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
41744  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
41745  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
41746  .byte  192,64,0,0                          // rolb          $0x0,0x0(%rax)
41747  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
41748  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
41749  .byte  128,64,0,0                          // addb          $0x0,0x0(%rax)
41750  .byte  128,64,171,170                      // addb          $0xaa,-0x55(%rax)
41751  .byte  42,62                               // sub           (%rsi),%bh
41752  .byte  171                                 // stos          %eax,%es:(%rdi)
41753  .byte  170                                 // stos          %al,%es:(%rdi)
41754  .byte  42,62                               // sub           (%rsi),%bh
41755  .byte  171                                 // stos          %eax,%es:(%rdi)
41756  .byte  170                                 // stos          %al,%es:(%rdi)
41757  .byte  42,62                               // sub           (%rsi),%bh
41758  .byte  171                                 // stos          %eax,%es:(%rdi)
41759  .byte  170                                 // stos          %al,%es:(%rdi)
41760  .byte  42,62                               // sub           (%rsi),%bh
41761  .byte  171                                 // stos          %eax,%es:(%rdi)
41762  .byte  170                                 // stos          %al,%es:(%rdi)
41763  .byte  170                                 // stos          %al,%es:(%rdi)
41764  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
41765  .byte  171                                 // stos          %eax,%es:(%rdi)
41766  .byte  170                                 // stos          %al,%es:(%rdi)
41767  .byte  170                                 // stos          %al,%es:(%rdi)
41768  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
41769  .byte  255,0                               // incl          (%rax)
41770  .byte  0,0                                 // add           %al,(%rax)
41771  .byte  255,0                               // incl          (%rax)
41772  .byte  0,0                                 // add           %al,(%rax)
41773  .byte  255,0                               // incl          (%rax)
41774  .byte  0,0                                 // add           %al,(%rax)
41775  .byte  255,0                               // incl          (%rax)
41776  .byte  0,0                                 // add           %al,(%rax)
41777  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
41778  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
41779  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%rax)
41780  .byte  255,0                               // incl          (%rax)
41781  .byte  0,0                                 // add           %al,(%rax)
41782  .byte  255,0                               // incl          (%rax)
41783  .byte  0,0                                 // add           %al,(%rax)
41784  .byte  255,0                               // incl          (%rax)
41785  .byte  0,0                                 // add           %al,(%rax)
41786  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
41787  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
41788  .byte  128,128,59,0,248,0,0                // addb          $0x0,0xf8003b(%rax)
41789  .byte  0,248                               // add           %bh,%al
41790  .byte  0,0                                 // add           %al,(%rax)
41791  .byte  0,248                               // add           %bh,%al
41792  .byte  0,0                                 // add           %al,(%rax)
41793  .byte  0,248                               // add           %bh,%al
41794  .byte  0,0                                 // add           %al,(%rax)
41795  .byte  8,33                                // or            %ah,(%rcx)
41796  .byte  132,55                              // test          %dh,(%rdi)
41797  .byte  8,33                                // or            %ah,(%rcx)
41798  .byte  132,55                              // test          %dh,(%rdi)
41799  .byte  8,33                                // or            %ah,(%rcx)
41800  .byte  132,55                              // test          %dh,(%rdi)
41801  .byte  8,33                                // or            %ah,(%rcx)
41802  .byte  132,55                              // test          %dh,(%rdi)
41803  .byte  224,7                               // loopne        6709 <.literal16+0x579>
41804  .byte  0,0                                 // add           %al,(%rax)
41805  .byte  224,7                               // loopne        670d <.literal16+0x57d>
41806  .byte  0,0                                 // add           %al,(%rax)
41807  .byte  224,7                               // loopne        6711 <.literal16+0x581>
41808  .byte  0,0                                 // add           %al,(%rax)
41809  .byte  224,7                               // loopne        6715 <.literal16+0x585>
41810  .byte  0,0                                 // add           %al,(%rax)
41811  .byte  33,8                                // and           %ecx,(%rax)
41812  .byte  2,58                                // add           (%rdx),%bh
41813  .byte  33,8                                // and           %ecx,(%rax)
41814  .byte  2,58                                // add           (%rdx),%bh
41815  .byte  33,8                                // and           %ecx,(%rax)
41816  .byte  2,58                                // add           (%rdx),%bh
41817  .byte  33,8                                // and           %ecx,(%rax)
41818  .byte  2,58                                // add           (%rdx),%bh
41819  .byte  31                                  // (bad)
41820  .byte  0,0                                 // add           %al,(%rax)
41821  .byte  0,31                                // add           %bl,(%rdi)
41822  .byte  0,0                                 // add           %al,(%rax)
41823  .byte  0,31                                // add           %bl,(%rdi)
41824  .byte  0,0                                 // add           %al,(%rax)
41825  .byte  0,31                                // add           %bl,(%rdi)
41826  .byte  0,0                                 // add           %al,(%rax)
41827  .byte  0,8                                 // add           %cl,(%rax)
41828  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%rdi,1)
41829  .byte  8,33                                // or            %ah,(%rcx)
41830  .byte  4,61                                // add           $0x3d,%al
41831  .byte  8,33                                // or            %ah,(%rcx)
41832  .byte  4,61                                // add           $0x3d,%al
41833  .byte  255,0                               // incl          (%rax)
41834  .byte  0,0                                 // add           %al,(%rax)
41835  .byte  255,0                               // incl          (%rax)
41836  .byte  0,0                                 // add           %al,(%rax)
41837  .byte  255,0                               // incl          (%rax)
41838  .byte  0,0                                 // add           %al,(%rax)
41839  .byte  255,0                               // incl          (%rax)
41840  .byte  0,0                                 // add           %al,(%rax)
41841  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
41842  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
41843  .byte  128,128,59,255,0,255,0              // addb          $0x0,-0xff00c5(%rax)
41844  .byte  255,0                               // incl          (%rax)
41845  .byte  255,0                               // incl          (%rax)
41846  .byte  0,0                                 // add           %al,(%rax)
41847  .byte  0,0                                 // add           %al,(%rax)
41848  .byte  0,0                                 // add           %al,(%rax)
41849  .byte  0,0                                 // add           %al,(%rax)
41850  .byte  128,0,128                           // addb          $0x80,(%rax)
41851  .byte  55                                  // (bad)
41852  .byte  128,0,128                           // addb          $0x80,(%rax)
41853  .byte  55                                  // (bad)
41854  .byte  128,0,128                           // addb          $0x80,(%rax)
41855  .byte  55                                  // (bad)
41856  .byte  128,0,128                           // addb          $0x80,(%rax)
41857  .byte  55                                  // (bad)
41858  .byte  255,0                               // incl          (%rax)
41859  .byte  255,0                               // incl          (%rax)
41860  .byte  255,0                               // incl          (%rax)
41861  .byte  255,0                               // incl          (%rax)
41862  .byte  0,0                                 // add           %al,(%rax)
41863  .byte  0,0                                 // add           %al,(%rax)
41864  .byte  0,0                                 // add           %al,(%rax)
41865  .byte  0,0                                 // add           %al,(%rax)
41866  .byte  0,0                                 // add           %al,(%rax)
41867  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41868  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41869  .byte  63                                  // (bad)
41870  .byte  0,0                                 // add           %al,(%rax)
41871  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41872  .byte  0,127,67                            // add           %bh,0x43(%rdi)
41873  .byte  0,0                                 // add           %al,(%rax)
41874  .byte  127,67                              // jg            67eb <.literal16+0x65b>
41875  .byte  0,0                                 // add           %al,(%rax)
41876  .byte  127,67                              // jg            67ef <.literal16+0x65f>
41877  .byte  0,0                                 // add           %al,(%rax)
41878  .byte  127,67                              // jg            67f3 <.literal16+0x663>
41879  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
41880  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
41881  .byte  128,128,59,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%rax)
41882  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
41883  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
41884  .byte  0,0                                 // add           %al,(%rax)
41885  .byte  52,0                                // xor           $0x0,%al
41886  .byte  0,0                                 // add           %al,(%rax)
41887  .byte  52,0                                // xor           $0x0,%al
41888  .byte  0,0                                 // add           %al,(%rax)
41889  .byte  52,0                                // xor           $0x0,%al
41890  .byte  0,0                                 // add           %al,(%rax)
41891  .byte  52,255                              // xor           $0xff,%al
41892  .byte  255                                 // (bad)
41893  .byte  127,0                               // jg            67e4 <.literal16+0x654>
41894  .byte  255                                 // (bad)
41895  .byte  255                                 // (bad)
41896  .byte  127,0                               // jg            67e8 <.literal16+0x658>
41897  .byte  255                                 // (bad)
41898  .byte  255                                 // (bad)
41899  .byte  127,0                               // jg            67ec <.literal16+0x65c>
41900  .byte  255                                 // (bad)
41901  .byte  255                                 // (bad)
41902  .byte  127,0                               // jg            67f0 <.literal16+0x660>
41903  .byte  0,0                                 // add           %al,(%rax)
41904  .byte  0,63                                // add           %bh,(%rdi)
41905  .byte  0,0                                 // add           %al,(%rax)
41906  .byte  0,63                                // add           %bh,(%rdi)
41907  .byte  0,0                                 // add           %al,(%rax)
41908  .byte  0,63                                // add           %bh,(%rdi)
41909  .byte  0,0                                 // add           %al,(%rax)
41910  .byte  0,63                                // add           %bh,(%rdi)
41911  .byte  119,115                             // ja            6875 <.literal16+0x6e5>
41912  .byte  248                                 // clc
41913  .byte  194,119,115                         // retq          $0x7377
41914  .byte  248                                 // clc
41915  .byte  194,119,115                         // retq          $0x7377
41916  .byte  248                                 // clc
41917  .byte  194,119,115                         // retq          $0x7377
41918  .byte  248                                 // clc
41919  .byte  194,117,191                         // retq          $0xbf75
41920  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
41921  .byte  63                                  // (bad)
41922  .byte  117,191                             // jne           67d9 <.literal16+0x649>
41923  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
41924  .byte  63                                  // (bad)
41925  .byte  249                                 // stc
41926  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
41927  .byte  249                                 // stc
41928  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
41929  .byte  249                                 // stc
41930  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
41931  .byte  249                                 // stc
41932  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
41933  .byte  163,233,220,63,163,233,220,63,163   // movabs        %eax,0xa33fdce9a33fdce9
41934  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3a81a <_sk_callback_sse2+0xffffffffe9a3477e>
41935  .byte  220,63                              // fdivrl        (%rdi)
41936  .byte  0,0                                 // add           %al,(%rax)
41937  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
41938  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
41939  .byte  63                                  // (bad)
41940  .byte  0,0                                 // add           %al,(%rax)
41941  .byte  128,63,81                           // cmpb          $0x51,(%rdi)
41942  .byte  140,242                             // mov           %?,%edx
41943  .byte  66,81                               // rex.X         push %rcx
41944  .byte  140,242                             // mov           %?,%edx
41945  .byte  66,81                               // rex.X         push %rcx
41946  .byte  140,242                             // mov           %?,%edx
41947  .byte  66,81                               // rex.X         push %rcx
41948  .byte  140,242                             // mov           %?,%edx
41949  .byte  66,141,188,190,63,141,188,190       // lea           -0x414372c1(%rsi,%r15,4),%edi
41950  .byte  63                                  // (bad)
41951  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%rsi,%rdi,4),%edi
41952  .byte  63                                  // (bad)
41953  .byte  248                                 // clc
41954  .byte  245                                 // cmc
41955  .byte  154                                 // (bad)
41956  .byte  64,248                              // rex           clc
41957  .byte  245                                 // cmc
41958  .byte  154                                 // (bad)
41959  .byte  64,248                              // rex           clc
41960  .byte  245                                 // cmc
41961  .byte  154                                 // (bad)
41962  .byte  64,248                              // rex           clc
41963  .byte  245                                 // cmc
41964  .byte  154                                 // (bad)
41965  .byte  64,254                              // rex           (bad)
41966  .byte  210,221                             // rcr           %cl,%ch
41967  .byte  65,254                              // rex.B         (bad)
41968  .byte  210,221                             // rcr           %cl,%ch
41969  .byte  65,254                              // rex.B         (bad)
41970  .byte  210,221                             // rcr           %cl,%ch
41971  .byte  65,254                              // rex.B         (bad)
41972  .byte  210,221                             // rcr           %cl,%ch
41973  .byte  65,0,0                              // add           %al,(%r8)
41974  .byte  0,75,0                              // add           %cl,0x0(%rbx)
41975  .byte  0,0                                 // add           %al,(%rax)
41976  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
41977  .byte  0,75,0                              // add           %cl,0x0(%rbx)
41978  .byte  0,0                                 // add           %al,(%rax)
41979  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
41980  .byte  0,52,0                              // add           %dh,(%rax,%rax,1)
41981  .byte  0,0                                 // add           %al,(%rax)
41982  .byte  52,0                                // xor           $0x0,%al
41983  .byte  0,0                                 // add           %al,(%rax)
41984  .byte  52,0                                // xor           $0x0,%al
41985  .byte  0,0                                 // add           %al,(%rax)
41986  .byte  52,255                              // xor           $0xff,%al
41987  .byte  255                                 // (bad)
41988  .byte  127,0                               // jg            68b4 <.literal16+0x724>
41989  .byte  255                                 // (bad)
41990  .byte  255                                 // (bad)
41991  .byte  127,0                               // jg            68b8 <.literal16+0x728>
41992  .byte  255                                 // (bad)
41993  .byte  255                                 // (bad)
41994  .byte  127,0                               // jg            68bc <.literal16+0x72c>
41995  .byte  255                                 // (bad)
41996  .byte  255                                 // (bad)
41997  .byte  127,0                               // jg            68c0 <.literal16+0x730>
41998  .byte  0,0                                 // add           %al,(%rax)
41999  .byte  0,63                                // add           %bh,(%rdi)
42000  .byte  0,0                                 // add           %al,(%rax)
42001  .byte  0,63                                // add           %bh,(%rdi)
42002  .byte  0,0                                 // add           %al,(%rax)
42003  .byte  0,63                                // add           %bh,(%rdi)
42004  .byte  0,0                                 // add           %al,(%rax)
42005  .byte  0,63                                // add           %bh,(%rdi)
42006  .byte  119,115                             // ja            6945 <.literal16+0x7b5>
42007  .byte  248                                 // clc
42008  .byte  194,119,115                         // retq          $0x7377
42009  .byte  248                                 // clc
42010  .byte  194,119,115                         // retq          $0x7377
42011  .byte  248                                 // clc
42012  .byte  194,119,115                         // retq          $0x7377
42013  .byte  248                                 // clc
42014  .byte  194,117,191                         // retq          $0xbf75
42015  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
42016  .byte  63                                  // (bad)
42017  .byte  117,191                             // jne           68a9 <.literal16+0x719>
42018  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
42019  .byte  63                                  // (bad)
42020  .byte  249                                 // stc
42021  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
42022  .byte  249                                 // stc
42023  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
42024  .byte  249                                 // stc
42025  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
42026  .byte  249                                 // stc
42027  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
42028  .byte  163,233,220,63,163,233,220,63,163   // movabs        %eax,0xa33fdce9a33fdce9
42029  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3a8ea <_sk_callback_sse2+0xffffffffe9a3484e>
42030  .byte  220,63                              // fdivrl        (%rdi)
42031  .byte  0,0                                 // add           %al,(%rax)
42032  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42033  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42034  .byte  63                                  // (bad)
42035  .byte  0,0                                 // add           %al,(%rax)
42036  .byte  128,63,81                           // cmpb          $0x51,(%rdi)
42037  .byte  140,242                             // mov           %?,%edx
42038  .byte  66,81                               // rex.X         push %rcx
42039  .byte  140,242                             // mov           %?,%edx
42040  .byte  66,81                               // rex.X         push %rcx
42041  .byte  140,242                             // mov           %?,%edx
42042  .byte  66,81                               // rex.X         push %rcx
42043  .byte  140,242                             // mov           %?,%edx
42044  .byte  66,141,188,190,63,141,188,190       // lea           -0x414372c1(%rsi,%r15,4),%edi
42045  .byte  63                                  // (bad)
42046  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%rsi,%rdi,4),%edi
42047  .byte  63                                  // (bad)
42048  .byte  248                                 // clc
42049  .byte  245                                 // cmc
42050  .byte  154                                 // (bad)
42051  .byte  64,248                              // rex           clc
42052  .byte  245                                 // cmc
42053  .byte  154                                 // (bad)
42054  .byte  64,248                              // rex           clc
42055  .byte  245                                 // cmc
42056  .byte  154                                 // (bad)
42057  .byte  64,248                              // rex           clc
42058  .byte  245                                 // cmc
42059  .byte  154                                 // (bad)
42060  .byte  64,254                              // rex           (bad)
42061  .byte  210,221                             // rcr           %cl,%ch
42062  .byte  65,254                              // rex.B         (bad)
42063  .byte  210,221                             // rcr           %cl,%ch
42064  .byte  65,254                              // rex.B         (bad)
42065  .byte  210,221                             // rcr           %cl,%ch
42066  .byte  65,254                              // rex.B         (bad)
42067  .byte  210,221                             // rcr           %cl,%ch
42068  .byte  65,0,0                              // add           %al,(%r8)
42069  .byte  0,75,0                              // add           %cl,0x0(%rbx)
42070  .byte  0,0                                 // add           %al,(%rax)
42071  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
42072  .byte  0,75,0                              // add           %cl,0x0(%rbx)
42073  .byte  0,0                                 // add           %al,(%rax)
42074  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
42075  .byte  0,52,0                              // add           %dh,(%rax,%rax,1)
42076  .byte  0,0                                 // add           %al,(%rax)
42077  .byte  52,0                                // xor           $0x0,%al
42078  .byte  0,0                                 // add           %al,(%rax)
42079  .byte  52,0                                // xor           $0x0,%al
42080  .byte  0,0                                 // add           %al,(%rax)
42081  .byte  52,255                              // xor           $0xff,%al
42082  .byte  255                                 // (bad)
42083  .byte  127,0                               // jg            6984 <.literal16+0x7f4>
42084  .byte  255                                 // (bad)
42085  .byte  255                                 // (bad)
42086  .byte  127,0                               // jg            6988 <.literal16+0x7f8>
42087  .byte  255                                 // (bad)
42088  .byte  255                                 // (bad)
42089  .byte  127,0                               // jg            698c <.literal16+0x7fc>
42090  .byte  255                                 // (bad)
42091  .byte  255                                 // (bad)
42092  .byte  127,0                               // jg            6990 <.literal16+0x800>
42093  .byte  0,0                                 // add           %al,(%rax)
42094  .byte  0,63                                // add           %bh,(%rdi)
42095  .byte  0,0                                 // add           %al,(%rax)
42096  .byte  0,63                                // add           %bh,(%rdi)
42097  .byte  0,0                                 // add           %al,(%rax)
42098  .byte  0,63                                // add           %bh,(%rdi)
42099  .byte  0,0                                 // add           %al,(%rax)
42100  .byte  0,63                                // add           %bh,(%rdi)
42101  .byte  119,115                             // ja            6a15 <.literal16+0x885>
42102  .byte  248                                 // clc
42103  .byte  194,119,115                         // retq          $0x7377
42104  .byte  248                                 // clc
42105  .byte  194,119,115                         // retq          $0x7377
42106  .byte  248                                 // clc
42107  .byte  194,119,115                         // retq          $0x7377
42108  .byte  248                                 // clc
42109  .byte  194,117,191                         // retq          $0xbf75
42110  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
42111  .byte  63                                  // (bad)
42112  .byte  117,191                             // jne           6979 <.literal16+0x7e9>
42113  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
42114  .byte  63                                  // (bad)
42115  .byte  249                                 // stc
42116  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
42117  .byte  249                                 // stc
42118  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
42119  .byte  249                                 // stc
42120  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
42121  .byte  249                                 // stc
42122  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
42123  .byte  163,233,220,63,163,233,220,63,163   // movabs        %eax,0xa33fdce9a33fdce9
42124  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3a9ba <_sk_callback_sse2+0xffffffffe9a3491e>
42125  .byte  220,63                              // fdivrl        (%rdi)
42126  .byte  0,0                                 // add           %al,(%rax)
42127  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42128  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42129  .byte  63                                  // (bad)
42130  .byte  0,0                                 // add           %al,(%rax)
42131  .byte  128,63,81                           // cmpb          $0x51,(%rdi)
42132  .byte  140,242                             // mov           %?,%edx
42133  .byte  66,81                               // rex.X         push %rcx
42134  .byte  140,242                             // mov           %?,%edx
42135  .byte  66,81                               // rex.X         push %rcx
42136  .byte  140,242                             // mov           %?,%edx
42137  .byte  66,81                               // rex.X         push %rcx
42138  .byte  140,242                             // mov           %?,%edx
42139  .byte  66,141,188,190,63,141,188,190       // lea           -0x414372c1(%rsi,%r15,4),%edi
42140  .byte  63                                  // (bad)
42141  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%rsi,%rdi,4),%edi
42142  .byte  63                                  // (bad)
42143  .byte  248                                 // clc
42144  .byte  245                                 // cmc
42145  .byte  154                                 // (bad)
42146  .byte  64,248                              // rex           clc
42147  .byte  245                                 // cmc
42148  .byte  154                                 // (bad)
42149  .byte  64,248                              // rex           clc
42150  .byte  245                                 // cmc
42151  .byte  154                                 // (bad)
42152  .byte  64,248                              // rex           clc
42153  .byte  245                                 // cmc
42154  .byte  154                                 // (bad)
42155  .byte  64,254                              // rex           (bad)
42156  .byte  210,221                             // rcr           %cl,%ch
42157  .byte  65,254                              // rex.B         (bad)
42158  .byte  210,221                             // rcr           %cl,%ch
42159  .byte  65,254                              // rex.B         (bad)
42160  .byte  210,221                             // rcr           %cl,%ch
42161  .byte  65,254                              // rex.B         (bad)
42162  .byte  210,221                             // rcr           %cl,%ch
42163  .byte  65,0,0                              // add           %al,(%r8)
42164  .byte  0,75,0                              // add           %cl,0x0(%rbx)
42165  .byte  0,0                                 // add           %al,(%rax)
42166  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
42167  .byte  0,75,0                              // add           %cl,0x0(%rbx)
42168  .byte  0,0                                 // add           %al,(%rax)
42169  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
42170  .byte  0,52,0                              // add           %dh,(%rax,%rax,1)
42171  .byte  0,0                                 // add           %al,(%rax)
42172  .byte  52,0                                // xor           $0x0,%al
42173  .byte  0,0                                 // add           %al,(%rax)
42174  .byte  52,0                                // xor           $0x0,%al
42175  .byte  0,0                                 // add           %al,(%rax)
42176  .byte  52,255                              // xor           $0xff,%al
42177  .byte  255                                 // (bad)
42178  .byte  127,0                               // jg            6a54 <.literal16+0x8c4>
42179  .byte  255                                 // (bad)
42180  .byte  255                                 // (bad)
42181  .byte  127,0                               // jg            6a58 <.literal16+0x8c8>
42182  .byte  255                                 // (bad)
42183  .byte  255                                 // (bad)
42184  .byte  127,0                               // jg            6a5c <.literal16+0x8cc>
42185  .byte  255                                 // (bad)
42186  .byte  255                                 // (bad)
42187  .byte  127,0                               // jg            6a60 <.literal16+0x8d0>
42188  .byte  0,0                                 // add           %al,(%rax)
42189  .byte  0,63                                // add           %bh,(%rdi)
42190  .byte  0,0                                 // add           %al,(%rax)
42191  .byte  0,63                                // add           %bh,(%rdi)
42192  .byte  0,0                                 // add           %al,(%rax)
42193  .byte  0,63                                // add           %bh,(%rdi)
42194  .byte  0,0                                 // add           %al,(%rax)
42195  .byte  0,63                                // add           %bh,(%rdi)
42196  .byte  119,115                             // ja            6ae5 <.literal16+0x955>
42197  .byte  248                                 // clc
42198  .byte  194,119,115                         // retq          $0x7377
42199  .byte  248                                 // clc
42200  .byte  194,119,115                         // retq          $0x7377
42201  .byte  248                                 // clc
42202  .byte  194,119,115                         // retq          $0x7377
42203  .byte  248                                 // clc
42204  .byte  194,117,191                         // retq          $0xbf75
42205  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
42206  .byte  63                                  // (bad)
42207  .byte  117,191                             // jne           6a49 <.literal16+0x8b9>
42208  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
42209  .byte  63                                  // (bad)
42210  .byte  249                                 // stc
42211  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
42212  .byte  249                                 // stc
42213  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
42214  .byte  249                                 // stc
42215  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
42216  .byte  249                                 // stc
42217  .byte  68,180,62                           // rex.R         mov $0x3e,%spl
42218  .byte  163,233,220,63,163,233,220,63,163   // movabs        %eax,0xa33fdce9a33fdce9
42219  .byte  233,220,63,163,233                  // jmpq          ffffffffe9a3aa8a <_sk_callback_sse2+0xffffffffe9a349ee>
42220  .byte  220,63                              // fdivrl        (%rdi)
42221  .byte  0,0                                 // add           %al,(%rax)
42222  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42223  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42224  .byte  63                                  // (bad)
42225  .byte  0,0                                 // add           %al,(%rax)
42226  .byte  128,63,81                           // cmpb          $0x51,(%rdi)
42227  .byte  140,242                             // mov           %?,%edx
42228  .byte  66,81                               // rex.X         push %rcx
42229  .byte  140,242                             // mov           %?,%edx
42230  .byte  66,81                               // rex.X         push %rcx
42231  .byte  140,242                             // mov           %?,%edx
42232  .byte  66,81                               // rex.X         push %rcx
42233  .byte  140,242                             // mov           %?,%edx
42234  .byte  66,141,188,190,63,141,188,190       // lea           -0x414372c1(%rsi,%r15,4),%edi
42235  .byte  63                                  // (bad)
42236  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%rsi,%rdi,4),%edi
42237  .byte  63                                  // (bad)
42238  .byte  248                                 // clc
42239  .byte  245                                 // cmc
42240  .byte  154                                 // (bad)
42241  .byte  64,248                              // rex           clc
42242  .byte  245                                 // cmc
42243  .byte  154                                 // (bad)
42244  .byte  64,248                              // rex           clc
42245  .byte  245                                 // cmc
42246  .byte  154                                 // (bad)
42247  .byte  64,248                              // rex           clc
42248  .byte  245                                 // cmc
42249  .byte  154                                 // (bad)
42250  .byte  64,254                              // rex           (bad)
42251  .byte  210,221                             // rcr           %cl,%ch
42252  .byte  65,254                              // rex.B         (bad)
42253  .byte  210,221                             // rcr           %cl,%ch
42254  .byte  65,254                              // rex.B         (bad)
42255  .byte  210,221                             // rcr           %cl,%ch
42256  .byte  65,254                              // rex.B         (bad)
42257  .byte  210,221                             // rcr           %cl,%ch
42258  .byte  65,0,0                              // add           %al,(%r8)
42259  .byte  0,75,0                              // add           %cl,0x0(%rbx)
42260  .byte  0,0                                 // add           %al,(%rax)
42261  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
42262  .byte  0,75,0                              // add           %cl,0x0(%rbx)
42263  .byte  0,0                                 // add           %al,(%rax)
42264  .byte  75,0,0                              // rex.WXB       add %al,(%r8)
42265  .byte  200,66,0,0                          // enterq        $0x42,$0x0
42266  .byte  200,66,0,0                          // enterq        $0x42,$0x0
42267  .byte  200,66,0,0                          // enterq        $0x42,$0x0
42268  .byte  200,66,0,0                          // enterq        $0x42,$0x0
42269  .byte  127,67                              // jg            6b67 <.literal16+0x9d7>
42270  .byte  0,0                                 // add           %al,(%rax)
42271  .byte  127,67                              // jg            6b6b <.literal16+0x9db>
42272  .byte  0,0                                 // add           %al,(%rax)
42273  .byte  127,67                              // jg            6b6f <.literal16+0x9df>
42274  .byte  0,0                                 // add           %al,(%rax)
42275  .byte  127,67                              // jg            6b73 <.literal16+0x9e3>
42276  .byte  0,0                                 // add           %al,(%rax)
42277  .byte  0,195                               // add           %al,%bl
42278  .byte  0,0                                 // add           %al,(%rax)
42279  .byte  0,195                               // add           %al,%bl
42280  .byte  0,0                                 // add           %al,(%rax)
42281  .byte  0,195                               // add           %al,%bl
42282  .byte  0,0                                 // add           %al,(%rax)
42283  .byte  0,195                               // add           %al,%bl
42284  .byte  0,0                                 // add           %al,(%rax)
42285  .byte  128,65,0,0                          // addb          $0x0,0x0(%rcx)
42286  .byte  128,65,0,0                          // addb          $0x0,0x0(%rcx)
42287  .byte  128,65,0,0                          // addb          $0x0,0x0(%rcx)
42288  .byte  128,65,203,61                       // addb          $0x3d,-0x35(%rcx)
42289  .byte  13,60,203,61,13                     // or            $0xd3dcb3c,%eax
42290  .byte  60,203                              // cmp           $0xcb,%al
42291  .byte  61,13,60,203,61                     // cmp           $0x3dcb3c0d,%eax
42292  .byte  13,60,111,18,3                      // or            $0x3126f3c,%eax
42293  .byte  59,111,18                           // cmp           0x12(%rdi),%ebp
42294  .byte  3,59                                // add           (%rbx),%edi
42295  .byte  111                                 // outsl         %ds:(%rsi),(%dx)
42296  .byte  18,3                                // adc           (%rbx),%al
42297  .byte  59,111,18                           // cmp           0x12(%rdi),%ebp
42298  .byte  3,59                                // add           (%rbx),%edi
42299  .byte  10,215                              // or            %bh,%dl
42300  .byte  163,59,10,215,163,59,10,215,163     // movabs        %eax,0xa3d70a3ba3d70a3b
42301  .byte  59,10                               // cmp           (%rdx),%ecx
42302  .byte  215                                 // xlat          %ds:(%rbx)
42303  .byte  163,59,194,24,17,60,194,24,17       // movabs        %eax,0x1118c23c1118c23b
42304  .byte  60,194                              // cmp           $0xc2,%al
42305  .byte  24,17                               // sbb           %dl,(%rcx)
42306  .byte  60,194                              // cmp           $0xc2,%al
42307  .byte  24,17                               // sbb           %dl,(%rcx)
42308  .byte  60,203                              // cmp           $0xcb,%al
42309  .byte  61,13,190,203,61                    // cmp           $0x3dcbbe0d,%eax
42310  .byte  13,190,203,61,13                    // or            $0xd3dcbbe,%eax
42311  .byte  190,203,61,13,190                   // mov           $0xbe0d3dcb,%esi
42312  .byte  80                                  // push          %rax
42313  .byte  128,3,62                            // addb          $0x3e,(%rbx)
42314  .byte  80                                  // push          %rax
42315  .byte  128,3,62                            // addb          $0x3e,(%rbx)
42316  .byte  80                                  // push          %rax
42317  .byte  128,3,62                            // addb          $0x3e,(%rbx)
42318  .byte  80                                  // push          %rax
42319  .byte  128,3,62                            // addb          $0x3e,(%rbx)
42320  .byte  31                                  // (bad)
42321  .byte  215                                 // xlat          %ds:(%rbx)
42322  .byte  118,63                              // jbe           6bf3 <.literal16+0xa63>
42323  .byte  31                                  // (bad)
42324  .byte  215                                 // xlat          %ds:(%rbx)
42325  .byte  118,63                              // jbe           6bf7 <.literal16+0xa67>
42326  .byte  31                                  // (bad)
42327  .byte  215                                 // xlat          %ds:(%rbx)
42328  .byte  118,63                              // jbe           6bfb <.literal16+0xa6b>
42329  .byte  31                                  // (bad)
42330  .byte  215                                 // xlat          %ds:(%rbx)
42331  .byte  118,63                              // jbe           6bff <.literal16+0xa6f>
42332  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
42333  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
42334  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
42335  .byte  246,64,83,63                        // testb         $0x3f,0x53(%rax)
42336  .byte  255,0                               // incl          (%rax)
42337  .byte  0,0                                 // add           %al,(%rax)
42338  .byte  255,0                               // incl          (%rax)
42339  .byte  0,0                                 // add           %al,(%rax)
42340  .byte  255,0                               // incl          (%rax)
42341  .byte  0,0                                 // add           %al,(%rax)
42342  .byte  255,0                               // incl          (%rax)
42343  .byte  0,0                                 // add           %al,(%rax)
42344  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
42345  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
42346  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%rax)
42347  .byte  255,0                               // incl          (%rax)
42348  .byte  0,0                                 // add           %al,(%rax)
42349  .byte  255,0                               // incl          (%rax)
42350  .byte  0,0                                 // add           %al,(%rax)
42351  .byte  255,0                               // incl          (%rax)
42352  .byte  0,0                                 // add           %al,(%rax)
42353  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
42354  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
42355  .byte  128,128,59,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%rax)
42356  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
42357  .byte  128,59,0                            // cmpb          $0x0,(%rbx)
42358  .byte  0,127,67                            // add           %bh,0x43(%rdi)
42359  .byte  0,0                                 // add           %al,(%rax)
42360  .byte  127,67                              // jg            6c6b <.literal16+0xadb>
42361  .byte  0,0                                 // add           %al,(%rax)
42362  .byte  127,67                              // jg            6c6f <.literal16+0xadf>
42363  .byte  0,0                                 // add           %al,(%rax)
42364  .byte  127,67                              // jg            6c73 <.literal16+0xae3>
42365  .byte  255,0                               // incl          (%rax)
42366  .byte  0,0                                 // add           %al,(%rax)
42367  .byte  255,0                               // incl          (%rax)
42368  .byte  0,0                                 // add           %al,(%rax)
42369  .byte  255,0                               // incl          (%rax)
42370  .byte  0,0                                 // add           %al,(%rax)
42371  .byte  255,0                               // incl          (%rax)
42372  .byte  0,0                                 // add           %al,(%rax)
42373  .byte  255,0                               // incl          (%rax)
42374  .byte  0,0                                 // add           %al,(%rax)
42375  .byte  255,0                               // incl          (%rax)
42376  .byte  0,0                                 // add           %al,(%rax)
42377  .byte  255,0                               // incl          (%rax)
42378  .byte  0,0                                 // add           %al,(%rax)
42379  .byte  255,0                               // incl          (%rax)
42380  .byte  0,0                                 // add           %al,(%rax)
42381  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
42382  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
42383  .byte  128,128,59,0,0,128,63               // addb          $0x3f,-0x7fffffc5(%rax)
42384  .byte  0,0                                 // add           %al,(%rax)
42385  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42386  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42387  .byte  63                                  // (bad)
42388  .byte  255,0                               // incl          (%rax)
42389  .byte  0,0                                 // add           %al,(%rax)
42390  .byte  255,0                               // incl          (%rax)
42391  .byte  0,0                                 // add           %al,(%rax)
42392  .byte  255,0                               // incl          (%rax)
42393  .byte  0,0                                 // add           %al,(%rax)
42394  .byte  255,0                               // incl          (%rax)
42395  .byte  0,0                                 // add           %al,(%rax)
42396  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
42397  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
42398  .byte  128,128,59,0,0,128,63               // addb          $0x3f,-0x7fffffc5(%rax)
42399  .byte  0,0                                 // add           %al,(%rax)
42400  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42401  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42402  .byte  63                                  // (bad)
42403  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
42404  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
42405  .byte  128,128,59,0,0,128,63               // addb          $0x3f,-0x7fffffc5(%rax)
42406  .byte  0,0                                 // add           %al,(%rax)
42407  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42408  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42409  .byte  63                                  // (bad)
42410  .byte  0,248                               // add           %bh,%al
42411  .byte  0,0                                 // add           %al,(%rax)
42412  .byte  0,248                               // add           %bh,%al
42413  .byte  0,0                                 // add           %al,(%rax)
42414  .byte  0,248                               // add           %bh,%al
42415  .byte  0,0                                 // add           %al,(%rax)
42416  .byte  0,248                               // add           %bh,%al
42417  .byte  0,0                                 // add           %al,(%rax)
42418  .byte  8,33                                // or            %ah,(%rcx)
42419  .byte  132,55                              // test          %dh,(%rdi)
42420  .byte  8,33                                // or            %ah,(%rcx)
42421  .byte  132,55                              // test          %dh,(%rdi)
42422  .byte  8,33                                // or            %ah,(%rcx)
42423  .byte  132,55                              // test          %dh,(%rdi)
42424  .byte  8,33                                // or            %ah,(%rcx)
42425  .byte  132,55                              // test          %dh,(%rdi)
42426  .byte  224,7                               // loopne        6ce9 <.literal16+0xb59>
42427  .byte  0,0                                 // add           %al,(%rax)
42428  .byte  224,7                               // loopne        6ced <.literal16+0xb5d>
42429  .byte  0,0                                 // add           %al,(%rax)
42430  .byte  224,7                               // loopne        6cf1 <.literal16+0xb61>
42431  .byte  0,0                                 // add           %al,(%rax)
42432  .byte  224,7                               // loopne        6cf5 <.literal16+0xb65>
42433  .byte  0,0                                 // add           %al,(%rax)
42434  .byte  33,8                                // and           %ecx,(%rax)
42435  .byte  2,58                                // add           (%rdx),%bh
42436  .byte  33,8                                // and           %ecx,(%rax)
42437  .byte  2,58                                // add           (%rdx),%bh
42438  .byte  33,8                                // and           %ecx,(%rax)
42439  .byte  2,58                                // add           (%rdx),%bh
42440  .byte  33,8                                // and           %ecx,(%rax)
42441  .byte  2,58                                // add           (%rdx),%bh
42442  .byte  31                                  // (bad)
42443  .byte  0,0                                 // add           %al,(%rax)
42444  .byte  0,31                                // add           %bl,(%rdi)
42445  .byte  0,0                                 // add           %al,(%rax)
42446  .byte  0,31                                // add           %bl,(%rdi)
42447  .byte  0,0                                 // add           %al,(%rax)
42448  .byte  0,31                                // add           %bl,(%rdi)
42449  .byte  0,0                                 // add           %al,(%rax)
42450  .byte  0,8                                 // add           %cl,(%rax)
42451  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%rdi,1)
42452  .byte  8,33                                // or            %ah,(%rcx)
42453  .byte  4,61                                // add           $0x3d,%al
42454  .byte  8,33                                // or            %ah,(%rcx)
42455  .byte  4,61                                // add           $0x3d,%al
42456  .byte  0,0                                 // add           %al,(%rax)
42457  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42458  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42459  .byte  63                                  // (bad)
42460  .byte  0,0                                 // add           %al,(%rax)
42461  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42462  .byte  248                                 // clc
42463  .byte  0,0                                 // add           %al,(%rax)
42464  .byte  0,248                               // add           %bh,%al
42465  .byte  0,0                                 // add           %al,(%rax)
42466  .byte  0,248                               // add           %bh,%al
42467  .byte  0,0                                 // add           %al,(%rax)
42468  .byte  0,248                               // add           %bh,%al
42469  .byte  0,0                                 // add           %al,(%rax)
42470  .byte  8,33                                // or            %ah,(%rcx)
42471  .byte  132,55                              // test          %dh,(%rdi)
42472  .byte  8,33                                // or            %ah,(%rcx)
42473  .byte  132,55                              // test          %dh,(%rdi)
42474  .byte  8,33                                // or            %ah,(%rcx)
42475  .byte  132,55                              // test          %dh,(%rdi)
42476  .byte  8,33                                // or            %ah,(%rcx)
42477  .byte  132,55                              // test          %dh,(%rdi)
42478  .byte  224,7                               // loopne        6d59 <.literal16+0xbc9>
42479  .byte  0,0                                 // add           %al,(%rax)
42480  .byte  224,7                               // loopne        6d5d <.literal16+0xbcd>
42481  .byte  0,0                                 // add           %al,(%rax)
42482  .byte  224,7                               // loopne        6d61 <.literal16+0xbd1>
42483  .byte  0,0                                 // add           %al,(%rax)
42484  .byte  224,7                               // loopne        6d65 <.literal16+0xbd5>
42485  .byte  0,0                                 // add           %al,(%rax)
42486  .byte  33,8                                // and           %ecx,(%rax)
42487  .byte  2,58                                // add           (%rdx),%bh
42488  .byte  33,8                                // and           %ecx,(%rax)
42489  .byte  2,58                                // add           (%rdx),%bh
42490  .byte  33,8                                // and           %ecx,(%rax)
42491  .byte  2,58                                // add           (%rdx),%bh
42492  .byte  33,8                                // and           %ecx,(%rax)
42493  .byte  2,58                                // add           (%rdx),%bh
42494  .byte  31                                  // (bad)
42495  .byte  0,0                                 // add           %al,(%rax)
42496  .byte  0,31                                // add           %bl,(%rdi)
42497  .byte  0,0                                 // add           %al,(%rax)
42498  .byte  0,31                                // add           %bl,(%rdi)
42499  .byte  0,0                                 // add           %al,(%rax)
42500  .byte  0,31                                // add           %bl,(%rdi)
42501  .byte  0,0                                 // add           %al,(%rax)
42502  .byte  0,8                                 // add           %cl,(%rax)
42503  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%rdi,1)
42504  .byte  8,33                                // or            %ah,(%rcx)
42505  .byte  4,61                                // add           $0x3d,%al
42506  .byte  8,33                                // or            %ah,(%rcx)
42507  .byte  4,61                                // add           $0x3d,%al
42508  .byte  0,0                                 // add           %al,(%rax)
42509  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42510  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42511  .byte  63                                  // (bad)
42512  .byte  0,0                                 // add           %al,(%rax)
42513  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42514  .byte  248                                 // clc
42515  .byte  0,0                                 // add           %al,(%rax)
42516  .byte  0,248                               // add           %bh,%al
42517  .byte  0,0                                 // add           %al,(%rax)
42518  .byte  0,248                               // add           %bh,%al
42519  .byte  0,0                                 // add           %al,(%rax)
42520  .byte  0,248                               // add           %bh,%al
42521  .byte  0,0                                 // add           %al,(%rax)
42522  .byte  8,33                                // or            %ah,(%rcx)
42523  .byte  132,55                              // test          %dh,(%rdi)
42524  .byte  8,33                                // or            %ah,(%rcx)
42525  .byte  132,55                              // test          %dh,(%rdi)
42526  .byte  8,33                                // or            %ah,(%rcx)
42527  .byte  132,55                              // test          %dh,(%rdi)
42528  .byte  8,33                                // or            %ah,(%rcx)
42529  .byte  132,55                              // test          %dh,(%rdi)
42530  .byte  224,7                               // loopne        6dc9 <.literal16+0xc39>
42531  .byte  0,0                                 // add           %al,(%rax)
42532  .byte  224,7                               // loopne        6dcd <.literal16+0xc3d>
42533  .byte  0,0                                 // add           %al,(%rax)
42534  .byte  224,7                               // loopne        6dd1 <.literal16+0xc41>
42535  .byte  0,0                                 // add           %al,(%rax)
42536  .byte  224,7                               // loopne        6dd5 <.literal16+0xc45>
42537  .byte  0,0                                 // add           %al,(%rax)
42538  .byte  33,8                                // and           %ecx,(%rax)
42539  .byte  2,58                                // add           (%rdx),%bh
42540  .byte  33,8                                // and           %ecx,(%rax)
42541  .byte  2,58                                // add           (%rdx),%bh
42542  .byte  33,8                                // and           %ecx,(%rax)
42543  .byte  2,58                                // add           (%rdx),%bh
42544  .byte  33,8                                // and           %ecx,(%rax)
42545  .byte  2,58                                // add           (%rdx),%bh
42546  .byte  31                                  // (bad)
42547  .byte  0,0                                 // add           %al,(%rax)
42548  .byte  0,31                                // add           %bl,(%rdi)
42549  .byte  0,0                                 // add           %al,(%rax)
42550  .byte  0,31                                // add           %bl,(%rdi)
42551  .byte  0,0                                 // add           %al,(%rax)
42552  .byte  0,31                                // add           %bl,(%rdi)
42553  .byte  0,0                                 // add           %al,(%rax)
42554  .byte  0,8                                 // add           %cl,(%rax)
42555  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%rdi,1)
42556  .byte  8,33                                // or            %ah,(%rcx)
42557  .byte  4,61                                // add           $0x3d,%al
42558  .byte  8,33                                // or            %ah,(%rcx)
42559  .byte  4,61                                // add           $0x3d,%al
42560  .byte  0,0                                 // add           %al,(%rax)
42561  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42562  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42563  .byte  63                                  // (bad)
42564  .byte  0,0                                 // add           %al,(%rax)
42565  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42566  .byte  0,248                               // add           %bh,%al
42567  .byte  65,0,0                              // add           %al,(%r8)
42568  .byte  248                                 // clc
42569  .byte  65,0,0                              // add           %al,(%r8)
42570  .byte  248                                 // clc
42571  .byte  65,0,0                              // add           %al,(%r8)
42572  .byte  248                                 // clc
42573  .byte  65,0,0                              // add           %al,(%r8)
42574  .byte  124,66                              // jl            6e66 <.literal16+0xcd6>
42575  .byte  0,0                                 // add           %al,(%rax)
42576  .byte  124,66                              // jl            6e6a <.literal16+0xcda>
42577  .byte  0,0                                 // add           %al,(%rax)
42578  .byte  124,66                              // jl            6e6e <.literal16+0xcde>
42579  .byte  0,0                                 // add           %al,(%rax)
42580  .byte  124,66                              // jl            6e72 <.literal16+0xce2>
42581  .byte  0,240                               // add           %dh,%al
42582  .byte  0,0                                 // add           %al,(%rax)
42583  .byte  0,240                               // add           %dh,%al
42584  .byte  0,0                                 // add           %al,(%rax)
42585  .byte  0,240                               // add           %dh,%al
42586  .byte  0,0                                 // add           %al,(%rax)
42587  .byte  0,240                               // add           %dh,%al
42588  .byte  0,0                                 // add           %al,(%rax)
42589  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
42590  .byte  136,55                              // mov           %dh,(%rdi)
42591  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
42592  .byte  136,55                              // mov           %dh,(%rdi)
42593  .byte  0,15                                // add           %cl,(%rdi)
42594  .byte  0,0                                 // add           %al,(%rax)
42595  .byte  0,15                                // add           %cl,(%rdi)
42596  .byte  0,0                                 // add           %al,(%rax)
42597  .byte  0,15                                // add           %cl,(%rdi)
42598  .byte  0,0                                 // add           %al,(%rax)
42599  .byte  0,15                                // add           %cl,(%rdi)
42600  .byte  0,0                                 // add           %al,(%rax)
42601  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
42602  .byte  136,57                              // mov           %bh,(%rcx)
42603  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
42604  .byte  136,57                              // mov           %bh,(%rcx)
42605  .byte  240,0,0                             // lock          add %al,(%rax)
42606  .byte  0,240                               // add           %dh,%al
42607  .byte  0,0                                 // add           %al,(%rax)
42608  .byte  0,240                               // add           %dh,%al
42609  .byte  0,0                                 // add           %al,(%rax)
42610  .byte  0,240                               // add           %dh,%al
42611  .byte  0,0                                 // add           %al,(%rax)
42612  .byte  0,137,136,136,59,137                // add           %cl,-0x76c47778(%rcx)
42613  .byte  136,136,59,137,136,136              // mov           %cl,-0x777776c5(%rax)
42614  .byte  59,137,136,136,59,15                // cmp           0xf3b8888(%rcx),%ecx
42615  .byte  0,0                                 // add           %al,(%rax)
42616  .byte  0,15                                // add           %cl,(%rdi)
42617  .byte  0,0                                 // add           %al,(%rax)
42618  .byte  0,15                                // add           %cl,(%rdi)
42619  .byte  0,0                                 // add           %al,(%rax)
42620  .byte  0,15                                // add           %cl,(%rdi)
42621  .byte  0,0                                 // add           %al,(%rax)
42622  .byte  0,137,136,136,61,137                // add           %cl,-0x76c27778(%rcx)
42623  .byte  136,136,61,137,136,136              // mov           %cl,-0x777776c3(%rax)
42624  .byte  61,137,136,136,61                   // cmp           $0x3d888889,%eax
42625  .byte  0,240                               // add           %dh,%al
42626  .byte  0,0                                 // add           %al,(%rax)
42627  .byte  0,240                               // add           %dh,%al
42628  .byte  0,0                                 // add           %al,(%rax)
42629  .byte  0,240                               // add           %dh,%al
42630  .byte  0,0                                 // add           %al,(%rax)
42631  .byte  0,240                               // add           %dh,%al
42632  .byte  0,0                                 // add           %al,(%rax)
42633  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
42634  .byte  136,55                              // mov           %dh,(%rdi)
42635  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
42636  .byte  136,55                              // mov           %dh,(%rdi)
42637  .byte  0,15                                // add           %cl,(%rdi)
42638  .byte  0,0                                 // add           %al,(%rax)
42639  .byte  0,15                                // add           %cl,(%rdi)
42640  .byte  0,0                                 // add           %al,(%rax)
42641  .byte  0,15                                // add           %cl,(%rdi)
42642  .byte  0,0                                 // add           %al,(%rax)
42643  .byte  0,15                                // add           %cl,(%rdi)
42644  .byte  0,0                                 // add           %al,(%rax)
42645  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
42646  .byte  136,57                              // mov           %bh,(%rcx)
42647  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
42648  .byte  136,57                              // mov           %bh,(%rcx)
42649  .byte  240,0,0                             // lock          add %al,(%rax)
42650  .byte  0,240                               // add           %dh,%al
42651  .byte  0,0                                 // add           %al,(%rax)
42652  .byte  0,240                               // add           %dh,%al
42653  .byte  0,0                                 // add           %al,(%rax)
42654  .byte  0,240                               // add           %dh,%al
42655  .byte  0,0                                 // add           %al,(%rax)
42656  .byte  0,137,136,136,59,137                // add           %cl,-0x76c47778(%rcx)
42657  .byte  136,136,59,137,136,136              // mov           %cl,-0x777776c5(%rax)
42658  .byte  59,137,136,136,59,15                // cmp           0xf3b8888(%rcx),%ecx
42659  .byte  0,0                                 // add           %al,(%rax)
42660  .byte  0,15                                // add           %cl,(%rdi)
42661  .byte  0,0                                 // add           %al,(%rax)
42662  .byte  0,15                                // add           %cl,(%rdi)
42663  .byte  0,0                                 // add           %al,(%rax)
42664  .byte  0,15                                // add           %cl,(%rdi)
42665  .byte  0,0                                 // add           %al,(%rax)
42666  .byte  0,137,136,136,61,137                // add           %cl,-0x76c27778(%rcx)
42667  .byte  136,136,61,137,136,136              // mov           %cl,-0x777776c3(%rax)
42668  .byte  61,137,136,136,61                   // cmp           $0x3d888889,%eax
42669  .byte  0,240                               // add           %dh,%al
42670  .byte  0,0                                 // add           %al,(%rax)
42671  .byte  0,240                               // add           %dh,%al
42672  .byte  0,0                                 // add           %al,(%rax)
42673  .byte  0,240                               // add           %dh,%al
42674  .byte  0,0                                 // add           %al,(%rax)
42675  .byte  0,240                               // add           %dh,%al
42676  .byte  0,0                                 // add           %al,(%rax)
42677  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
42678  .byte  136,55                              // mov           %dh,(%rdi)
42679  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%rax)
42680  .byte  136,55                              // mov           %dh,(%rdi)
42681  .byte  0,15                                // add           %cl,(%rdi)
42682  .byte  0,0                                 // add           %al,(%rax)
42683  .byte  0,15                                // add           %cl,(%rdi)
42684  .byte  0,0                                 // add           %al,(%rax)
42685  .byte  0,15                                // add           %cl,(%rdi)
42686  .byte  0,0                                 // add           %al,(%rax)
42687  .byte  0,15                                // add           %cl,(%rdi)
42688  .byte  0,0                                 // add           %al,(%rax)
42689  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
42690  .byte  136,57                              // mov           %bh,(%rcx)
42691  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%rax)
42692  .byte  136,57                              // mov           %bh,(%rcx)
42693  .byte  240,0,0                             // lock          add %al,(%rax)
42694  .byte  0,240                               // add           %dh,%al
42695  .byte  0,0                                 // add           %al,(%rax)
42696  .byte  0,240                               // add           %dh,%al
42697  .byte  0,0                                 // add           %al,(%rax)
42698  .byte  0,240                               // add           %dh,%al
42699  .byte  0,0                                 // add           %al,(%rax)
42700  .byte  0,137,136,136,59,137                // add           %cl,-0x76c47778(%rcx)
42701  .byte  136,136,59,137,136,136              // mov           %cl,-0x777776c5(%rax)
42702  .byte  59,137,136,136,59,15                // cmp           0xf3b8888(%rcx),%ecx
42703  .byte  0,0                                 // add           %al,(%rax)
42704  .byte  0,15                                // add           %cl,(%rdi)
42705  .byte  0,0                                 // add           %al,(%rax)
42706  .byte  0,15                                // add           %cl,(%rdi)
42707  .byte  0,0                                 // add           %al,(%rax)
42708  .byte  0,15                                // add           %cl,(%rdi)
42709  .byte  0,0                                 // add           %al,(%rax)
42710  .byte  0,137,136,136,61,137                // add           %cl,-0x76c27778(%rcx)
42711  .byte  136,136,61,137,136,136              // mov           %cl,-0x777776c3(%rax)
42712  .byte  61,137,136,136,61                   // cmp           $0x3d888889,%eax
42713  .byte  0,0                                 // add           %al,(%rax)
42714  .byte  112,65                              // jo            6ff5 <.literal16+0xe65>
42715  .byte  0,0                                 // add           %al,(%rax)
42716  .byte  112,65                              // jo            6ff9 <.literal16+0xe69>
42717  .byte  0,0                                 // add           %al,(%rax)
42718  .byte  112,65                              // jo            6ffd <.literal16+0xe6d>
42719  .byte  0,0                                 // add           %al,(%rax)
42720  .byte  112,65                              // jo            7001 <.literal16+0xe71>
42721  .byte  255,0                               // incl          (%rax)
42722  .byte  0,0                                 // add           %al,(%rax)
42723  .byte  255,0                               // incl          (%rax)
42724  .byte  0,0                                 // add           %al,(%rax)
42725  .byte  255,0                               // incl          (%rax)
42726  .byte  0,0                                 // add           %al,(%rax)
42727  .byte  255,0                               // incl          (%rax)
42728  .byte  0,0                                 // add           %al,(%rax)
42729  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
42730  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
42731  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%rax)
42732  .byte  255,0                               // incl          (%rax)
42733  .byte  0,0                                 // add           %al,(%rax)
42734  .byte  255,0                               // incl          (%rax)
42735  .byte  0,0                                 // add           %al,(%rax)
42736  .byte  255,0                               // incl          (%rax)
42737  .byte  0,0                                 // add           %al,(%rax)
42738  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
42739  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
42740  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%rax)
42741  .byte  255,0                               // incl          (%rax)
42742  .byte  0,0                                 // add           %al,(%rax)
42743  .byte  255,0                               // incl          (%rax)
42744  .byte  0,0                                 // add           %al,(%rax)
42745  .byte  255,0                               // incl          (%rax)
42746  .byte  0,0                                 // add           %al,(%rax)
42747  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
42748  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
42749  .byte  128,128,59,0,0,127,67               // addb          $0x43,0x7f00003b(%rax)
42750  .byte  0,0                                 // add           %al,(%rax)
42751  .byte  127,67                              // jg            706b <.literal16+0xedb>
42752  .byte  0,0                                 // add           %al,(%rax)
42753  .byte  127,67                              // jg            706f <.literal16+0xedf>
42754  .byte  0,0                                 // add           %al,(%rax)
42755  .byte  127,67                              // jg            7073 <.literal16+0xee3>
42756  .byte  0,0                                 // add           %al,(%rax)
42757  .byte  127,67                              // jg            7077 <.literal16+0xee7>
42758  .byte  0,0                                 // add           %al,(%rax)
42759  .byte  127,67                              // jg            707b <.literal16+0xeeb>
42760  .byte  0,0                                 // add           %al,(%rax)
42761  .byte  127,67                              // jg            707f <.literal16+0xeef>
42762  .byte  0,0                                 // add           %al,(%rax)
42763  .byte  127,67                              // jg            7083 <.literal16+0xef3>
42764  .byte  255,0                               // incl          (%rax)
42765  .byte  0,0                                 // add           %al,(%rax)
42766  .byte  255,0                               // incl          (%rax)
42767  .byte  0,0                                 // add           %al,(%rax)
42768  .byte  255,0                               // incl          (%rax)
42769  .byte  0,0                                 // add           %al,(%rax)
42770  .byte  255,0                               // incl          (%rax)
42771  .byte  0,0                                 // add           %al,(%rax)
42772  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
42773  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
42774  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%rax)
42775  .byte  255,0                               // incl          (%rax)
42776  .byte  0,0                                 // add           %al,(%rax)
42777  .byte  255,0                               // incl          (%rax)
42778  .byte  0,0                                 // add           %al,(%rax)
42779  .byte  255,0                               // incl          (%rax)
42780  .byte  0,0                                 // add           %al,(%rax)
42781  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
42782  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
42783  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%rax)
42784  .byte  255,0                               // incl          (%rax)
42785  .byte  0,0                                 // add           %al,(%rax)
42786  .byte  255,0                               // incl          (%rax)
42787  .byte  0,0                                 // add           %al,(%rax)
42788  .byte  255,0                               // incl          (%rax)
42789  .byte  0,0                                 // add           %al,(%rax)
42790  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%rax)
42791  .byte  128,59,129                          // cmpb          $0x81,(%rbx)
42792  .byte  128,128,59,0,0,127,67               // addb          $0x43,0x7f00003b(%rax)
42793  .byte  0,0                                 // add           %al,(%rax)
42794  .byte  127,67                              // jg            70eb <.literal16+0xf5b>
42795  .byte  0,0                                 // add           %al,(%rax)
42796  .byte  127,67                              // jg            70ef <.literal16+0xf5f>
42797  .byte  0,0                                 // add           %al,(%rax)
42798  .byte  127,67                              // jg            70f3 <.literal16+0xf63>
42799  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
42800  .byte  0,0                                 // add           %al,(%rax)
42801  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
42802  .byte  0,0                                 // add           %al,(%rax)
42803  .byte  0,0                                 // add           %al,(%rax)
42804  .byte  0,56                                // add           %bh,(%rax)
42805  .byte  0,0                                 // add           %al,(%rax)
42806  .byte  0,56                                // add           %bh,(%rax)
42807  .byte  0,0                                 // add           %al,(%rax)
42808  .byte  0,56                                // add           %bh,(%rax)
42809  .byte  0,0                                 // add           %al,(%rax)
42810  .byte  0,56                                // add           %bh,(%rax)
42811  .byte  0,0                                 // add           %al,(%rax)
42812  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
42813  .byte  0,0                                 // add           %al,(%rax)
42814  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
42815  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
42816  .byte  128,0,4                             // addb          $0x4,(%rax)
42817  .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%rax)
42818  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
42819  .byte  128,0,128                           // addb          $0x80,(%rax)
42820  .byte  0,0                                 // add           %al,(%rax)
42821  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
42822  .byte  0,0                                 // add           %al,(%rax)
42823  .byte  0,128,0,0,0,0                       // add           %al,0x0(%rax)
42824  .byte  0,56                                // add           %bh,(%rax)
42825  .byte  0,0                                 // add           %al,(%rax)
42826  .byte  0,56                                // add           %bh,(%rax)
42827  .byte  0,0                                 // add           %al,(%rax)
42828  .byte  0,56                                // add           %bh,(%rax)
42829  .byte  0,0                                 // add           %al,(%rax)
42830  .byte  0,56                                // add           %bh,(%rax)
42831  .byte  0,0                                 // add           %al,(%rax)
42832  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
42833  .byte  0,0                                 // add           %al,(%rax)
42834  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
42835  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
42836  .byte  128,0,4                             // addb          $0x4,(%rax)
42837  .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%rax)
42838  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
42839  .byte  128,0,128                           // addb          $0x80,(%rax)
42840  .byte  0,0                                 // add           %al,(%rax)
42841  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
42842  .byte  0,0                                 // add           %al,(%rax)
42843  .byte  0,128,0,0,0,0                       // add           %al,0x0(%rax)
42844  .byte  0,56                                // add           %bh,(%rax)
42845  .byte  0,0                                 // add           %al,(%rax)
42846  .byte  0,56                                // add           %bh,(%rax)
42847  .byte  0,0                                 // add           %al,(%rax)
42848  .byte  0,56                                // add           %bh,(%rax)
42849  .byte  0,0                                 // add           %al,(%rax)
42850  .byte  0,56                                // add           %bh,(%rax)
42851  .byte  0,0                                 // add           %al,(%rax)
42852  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
42853  .byte  0,0                                 // add           %al,(%rax)
42854  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
42855  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
42856  .byte  128,0,4                             // addb          $0x4,(%rax)
42857  .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%rax)
42858  .byte  0,4,0                               // add           %al,(%rax,%rax,1)
42859  .byte  128,0,0                             // addb          $0x0,(%rax)
42860  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
42861  .byte  0,0                                 // add           %al,(%rax)
42862  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
42863  .byte  0,0                                 // add           %al,(%rax)
42864  .byte  128,56,0                            // cmpb          $0x0,(%rax)
42865  .byte  0,128,56,0,0,128                    // add           %al,-0x7fffffc8(%rax)
42866  .byte  56,0                                // cmp           %al,(%rax)
42867  .byte  0,128,56,0,64,254                   // add           %al,-0x1bfffc8(%rax)
42868  .byte  255,0                               // incl          (%rax)
42869  .byte  64,254                              // rex           (bad)
42870  .byte  255,0                               // incl          (%rax)
42871  .byte  64,254                              // rex           (bad)
42872  .byte  255,0                               // incl          (%rax)
42873  .byte  64,254                              // rex           (bad)
42874  .byte  255,128,0,128,55,128                // incl          -0x7fc88000(%rax)
42875  .byte  0,128,55,128,0,128                  // add           %al,-0x7fff7fc9(%rax)
42876  .byte  55                                  // (bad)
42877  .byte  128,0,128                           // addb          $0x80,(%rax)
42878  .byte  55                                  // (bad)
42879  .byte  128,0,128                           // addb          $0x80,(%rax)
42880  .byte  55                                  // (bad)
42881  .byte  128,0,128                           // addb          $0x80,(%rax)
42882  .byte  55                                  // (bad)
42883  .byte  128,0,128                           // addb          $0x80,(%rax)
42884  .byte  55                                  // (bad)
42885  .byte  128,0,128                           // addb          $0x80,(%rax)
42886  .byte  55                                  // (bad)
42887  .byte  0,0                                 // add           %al,(%rax)
42888  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42889  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42890  .byte  63                                  // (bad)
42891  .byte  0,0                                 // add           %al,(%rax)
42892  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42893  .byte  255                                 // (bad)
42894  .byte  127,71                              // jg            721b <.literal16+0x108b>
42895  .byte  0,255                               // add           %bh,%bh
42896  .byte  127,71                              // jg            721f <.literal16+0x108f>
42897  .byte  0,255                               // add           %bh,%bh
42898  .byte  127,71                              // jg            7223 <.literal16+0x1093>
42899  .byte  0,255                               // add           %bh,%bh
42900  .byte  127,71                              // jg            7227 <.literal16+0x1097>
42901  .byte  0,0                                 // add           %al,(%rax)
42902  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42903  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42904  .byte  63                                  // (bad)
42905  .byte  0,0                                 // add           %al,(%rax)
42906  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42907  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42908  .byte  63                                  // (bad)
42909  .byte  0,0                                 // add           %al,(%rax)
42910  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42911  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42912  .byte  63                                  // (bad)
42913  .byte  0,0                                 // add           %al,(%rax)
42914  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42915  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42916  .byte  63                                  // (bad)
42917  .byte  0,0                                 // add           %al,(%rax)
42918  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42919  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42920  .byte  63                                  // (bad)
42921  .byte  0,0                                 // add           %al,(%rax)
42922  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42923  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42924  .byte  63                                  // (bad)
42925  .byte  0,0                                 // add           %al,(%rax)
42926  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42927  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42928  .byte  63                                  // (bad)
42929  .byte  0,0                                 // add           %al,(%rax)
42930  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42931  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42932  .byte  63                                  // (bad)
42933  .byte  0,0                                 // add           %al,(%rax)
42934  .byte  128,191,0,0,128,191,0               // cmpb          $0x0,-0x40800000(%rdi)
42935  .byte  0,128,191,0,0,128                   // add           %al,-0x7fffff41(%rax)
42936  .byte  191,0,0,0,63                        // mov           $0x3f000000,%edi
42937  .byte  0,0                                 // add           %al,(%rax)
42938  .byte  0,63                                // add           %bh,(%rdi)
42939  .byte  0,0                                 // add           %al,(%rax)
42940  .byte  0,63                                // add           %bh,(%rdi)
42941  .byte  0,0                                 // add           %al,(%rax)
42942  .byte  0,63                                // add           %bh,(%rdi)
42943  .byte  0,0                                 // add           %al,(%rax)
42944  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
42945  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
42946  .byte  63                                  // (bad)
42947  .byte  0,0                                 // add           %al,(%rax)
42948  .byte  128,63,208                          // cmpb          $0xd0,(%rdi)
42949  .byte  179,89                              // mov           $0x59,%bl
42950  .byte  62,208                              // ds            (bad)
42951  .byte  179,89                              // mov           $0x59,%bl
42952  .byte  62,208                              // ds            (bad)
42953  .byte  179,89                              // mov           $0x59,%bl
42954  .byte  62,208                              // ds            (bad)
42955  .byte  179,89                              // mov           $0x59,%bl
42956  .byte  62,89                               // ds            pop %rcx
42957  .byte  23                                  // (bad)
42958  .byte  55                                  // (bad)
42959  .byte  63                                  // (bad)
42960  .byte  89                                  // pop           %rcx
42961  .byte  23                                  // (bad)
42962  .byte  55                                  // (bad)
42963  .byte  63                                  // (bad)
42964  .byte  89                                  // pop           %rcx
42965  .byte  23                                  // (bad)
42966  .byte  55                                  // (bad)
42967  .byte  63                                  // (bad)
42968  .byte  89                                  // pop           %rcx
42969  .byte  23                                  // (bad)
42970  .byte  55                                  // (bad)
42971  .byte  63                                  // (bad)
42972  .byte  152                                 // cwtl
42973  .byte  221,147,61,152,221,147              // fstl          -0x6c2267c3(%rbx)
42974  .byte  61,152,221,147,61                   // cmp           $0x3d93dd98,%eax
42975  .byte  152                                 // cwtl
42976  .byte  221,147,61,45,16,17                 // fstl          0x11102d3d(%rbx)
42977  .byte  192,45,16,17,192,45,16              // shrb          $0x10,0x2dc01110(%rip)        # 2dc083ba <_sk_callback_sse2+0x2dc0231e>
42978  .byte  17,192                              // adc           %eax,%eax
42979  .byte  45,16,17,192,18                     // sub           $0x12c01110,%eax
42980  .byte  120,57                              // js            72ec <.literal16+0x115c>
42981  .byte  64,18,120,57                        // adc           0x39(%rax),%dil
42982  .byte  64,18,120,57                        // adc           0x39(%rax),%dil
42983  .byte  64,18,120,57                        // adc           0x39(%rax),%dil
42984  .byte  64,32,148,90,62,32,148,90           // and           %dl,0x5a94203e(%rdx,%rbx,2)
42985  .byte  62,32,148,90,62,32,148,90           // and           %dl,%ds:0x5a94203e(%rdx,%rbx,2)
42986  .byte  62,4,157                            // ds            add $0x9d,%al
42987  .byte  30                                  // (bad)
42988  .byte  62,4,157                            // ds            add $0x9d,%al
42989  .byte  30                                  // (bad)
42990  .byte  62,4,157                            // ds            add $0x9d,%al
42991  .byte  30                                  // (bad)
42992  .byte  62,4,157                            // ds            add $0x9d,%al
42993  .byte  30                                  // (bad)
42994  .byte  62,0,24                             // add           %bl,%ds:(%rax)
42995  .byte  161,57,0,24,161,57,0,24,161         // movabs        0xa1180039a1180039,%eax
42996  .byte  57,0                                // cmp           %eax,(%rax)
42997  .byte  24,161,57,1,0,0                     // sbb           %ah,0x139(%rcx)
42998  .byte  0,1                                 // add           %al,(%rcx)
42999  .byte  0,0                                 // add           %al,(%rax)
43000  .byte  0,1                                 // add           %al,(%rcx)
43001  .byte  0,0                                 // add           %al,(%rax)
43002  .byte  0,1                                 // add           %al,(%rcx)
43003  .byte  0,0                                 // add           %al,(%rax)
43004  .byte  0,111,43                            // add           %ch,0x2b(%rdi)
43005  .byte  231,187                             // out           %eax,$0xbb
43006  .byte  111                                 // outsl         %ds:(%rsi),(%dx)
43007  .byte  43,231                              // sub           %edi,%esp
43008  .byte  187,111,43,231,187                  // mov           $0xbbe72b6f,%ebx
43009  .byte  111                                 // outsl         %ds:(%rsi),(%dx)
43010  .byte  43,231                              // sub           %edi,%esp
43011  .byte  187,159,215,202,60                  // mov           $0x3ccad79f,%ebx
43012  .byte  159                                 // lahf
43013  .byte  215                                 // xlat          %ds:(%rbx)
43014  .byte  202,60,159                          // lret          $0x9f3c
43015  .byte  215                                 // xlat          %ds:(%rbx)
43016  .byte  202,60,159                          // lret          $0x9f3c
43017  .byte  215                                 // xlat          %ds:(%rbx)
43018  .byte  202,60,212                          // lret          $0xd43c
43019  .byte  100,84                              // fs            push %rsp
43020  .byte  189,212,100,84,189                  // mov           $0xbd5464d4,%ebp
43021  .byte  212                                 // (bad)
43022  .byte  100,84                              // fs            push %rsp
43023  .byte  189,212,100,84,189                  // mov           $0xbd5464d4,%ebp
43024  .byte  169,240,34,62,169                   // test          $0xa93e22f0,%eax
43025  .byte  240,34,62                           // lock          and (%rsi),%bh
43026  .byte  169,240,34,62,169                   // test          $0xa93e22f0,%eax
43027  .byte  240,34,62                           // lock          and (%rsi),%bh
43028  .byte  0,0                                 // add           %al,(%rax)
43029  .byte  128,62,0                            // cmpb          $0x0,(%rsi)
43030  .byte  0,128,62,0,0,128                    // add           %al,-0x7fffffc2(%rax)
43031  .byte  62,0,0                              // add           %al,%ds:(%rax)
43032  .byte  128,62,0                            // cmpb          $0x0,(%rsi)
43033  .byte  0,0                                 // add           %al,(%rax)
43034  .byte  63                                  // (bad)
43035  .byte  0,0                                 // add           %al,(%rax)
43036  .byte  0,63                                // add           %bh,(%rdi)
43037  .byte  0,0                                 // add           %al,(%rax)
43038  .byte  0,63                                // add           %bh,(%rdi)
43039  .byte  0,0                                 // add           %al,(%rax)
43040  .byte  0,63                                // add           %bh,(%rdi)
43041  .byte  0,0                                 // add           %al,(%rax)
43042  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
43043  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
43044  .byte  63                                  // (bad)
43045  .byte  0,0                                 // add           %al,(%rax)
43046  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
43047  .byte  0,0                                 // add           %al,(%rax)
43048  .byte  192,0,0                             // rolb          $0x0,(%rax)
43049  .byte  0,192                               // add           %al,%al
43050  .byte  0,0                                 // add           %al,(%rax)
43051  .byte  0,192                               // add           %al,%al
43052  .byte  0,0                                 // add           %al,(%rax)
43053  .byte  0,192                               // add           %al,%al
43054  .byte  0,0                                 // add           %al,(%rax)
43055  .byte  128,192,0                           // add           $0x0,%al
43056  .byte  0,128,192,0,0,128                   // add           %al,-0x7fffff40(%rax)
43057  .byte  192,0,0                             // rolb          $0x0,(%rax)
43058  .byte  128,192,0                           // add           $0x0,%al
43059  .byte  0,0                                 // add           %al,(%rax)
43060  .byte  128,0,0                             // addb          $0x0,(%rax)
43061  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
43062  .byte  0,0                                 // add           %al,(%rax)
43063  .byte  0,128,0,0,0,63                      // add           %al,0x3f000000(%rax)
43064  .byte  0,0                                 // add           %al,(%rax)
43065  .byte  0,63                                // add           %bh,(%rdi)
43066  .byte  0,0                                 // add           %al,(%rax)
43067  .byte  0,63                                // add           %bh,(%rdi)
43068  .byte  0,0                                 // add           %al,(%rax)
43069  .byte  0,63                                // add           %bh,(%rdi)
43070  .byte  0,0                                 // add           %al,(%rax)
43071  .byte  0,192                               // add           %al,%al
43072  .byte  0,0                                 // add           %al,(%rax)
43073  .byte  0,192                               // add           %al,%al
43074  .byte  0,0                                 // add           %al,(%rax)
43075  .byte  0,192                               // add           %al,%al
43076  .byte  0,0                                 // add           %al,(%rax)
43077  .byte  0,192                               // add           %al,%al
43078  .byte  0,0                                 // add           %al,(%rax)
43079  .byte  128,192,0                           // add           $0x0,%al
43080  .byte  0,128,192,0,0,128                   // add           %al,-0x7fffff40(%rax)
43081  .byte  192,0,0                             // rolb          $0x0,(%rax)
43082  .byte  128,192,0                           // add           $0x0,%al
43083  .byte  0,0                                 // add           %al,(%rax)
43084  .byte  128,0,0                             // addb          $0x0,(%rax)
43085  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
43086  .byte  0,0                                 // add           %al,(%rax)
43087  .byte  0,128,0,0,0,63                      // add           %al,0x3f000000(%rax)
43088  .byte  0,0                                 // add           %al,(%rax)
43089  .byte  0,63                                // add           %bh,(%rdi)
43090  .byte  0,0                                 // add           %al,(%rax)
43091  .byte  0,63                                // add           %bh,(%rdi)
43092  .byte  0,0                                 // add           %al,(%rax)
43093  .byte  0,63                                // add           %bh,(%rdi)
43094  .byte  0,0                                 // add           %al,(%rax)
43095  .byte  0,192                               // add           %al,%al
43096  .byte  0,0                                 // add           %al,(%rax)
43097  .byte  0,192                               // add           %al,%al
43098  .byte  0,0                                 // add           %al,(%rax)
43099  .byte  0,192                               // add           %al,%al
43100  .byte  0,0                                 // add           %al,(%rax)
43101  .byte  0,192                               // add           %al,%al
43102  .byte  0,0                                 // add           %al,(%rax)
43103  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
43104  .byte  0,0                                 // add           %al,(%rax)
43105  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%rax)
43106  .byte  0,0                                 // add           %al,(%rax)
43107  .byte  0,63                                // add           %bh,(%rdi)
43108  .byte  0,0                                 // add           %al,(%rax)
43109  .byte  0,63                                // add           %bh,(%rdi)
43110  .byte  0,0                                 // add           %al,(%rax)
43111  .byte  0,63                                // add           %bh,(%rdi)
43112  .byte  0,0                                 // add           %al,(%rax)
43113  .byte  0,63                                // add           %bh,(%rdi)
43114  .byte  0,0                                 // add           %al,(%rax)
43115  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
43116  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
43117  .byte  63                                  // (bad)
43118  .byte  0,0                                 // add           %al,(%rax)
43119  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
43120  .byte  0,0                                 // add           %al,(%rax)
43121  .byte  191,0,0,0,191                       // mov           $0xbf000000,%edi
43122  .byte  0,0                                 // add           %al,(%rax)
43123  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
43124  .byte  0,0                                 // add           %al,(%rax)
43125  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
43126  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
43127  .byte  63                                  // (bad)
43128  .byte  0,0                                 // add           %al,(%rax)
43129  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
43130  .byte  0,0                                 // add           %al,(%rax)
43131  .byte  63                                  // (bad)
43132  .byte  0,0                                 // add           %al,(%rax)
43133  .byte  0,63                                // add           %bh,(%rdi)
43134  .byte  0,0                                 // add           %al,(%rax)
43135  .byte  0,63                                // add           %bh,(%rdi)
43136  .byte  0,0                                 // add           %al,(%rax)
43137  .byte  0,63                                // add           %bh,(%rdi)
43138  .byte  0,0                                 // add           %al,(%rax)
43139  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
43140  .byte  0,0                                 // add           %al,(%rax)
43141  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
43142  .byte  0,0                                 // add           %al,(%rax)
43143  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
43144  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
43145  .byte  63                                  // (bad)
43146  .byte  0,0                                 // add           %al,(%rax)
43147  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
43148  .byte  0,0                                 // add           %al,(%rax)
43149  .byte  63                                  // (bad)
43150  .byte  0,0                                 // add           %al,(%rax)
43151  .byte  0,63                                // add           %bh,(%rdi)
43152  .byte  0,0                                 // add           %al,(%rax)
43153  .byte  0,63                                // add           %bh,(%rdi)
43154  .byte  0,0                                 // add           %al,(%rax)
43155  .byte  0,63                                // add           %bh,(%rdi)
43156  .byte  0,0                                 // add           %al,(%rax)
43157  .byte  192,191,0,0,192,191,0               // sarb          $0x0,-0x40400000(%rdi)
43158  .byte  0,192                               // add           %al,%al
43159  .byte  191,0,0,192,191                     // mov           $0xbfc00000,%edi
43160  .byte  0,0                                 // add           %al,(%rax)
43161  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
43162  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
43163  .byte  63                                  // (bad)
43164  .byte  0,0                                 // add           %al,(%rax)
43165  .byte  128,63,114                          // cmpb          $0x72,(%rdi)
43166  .byte  28,199                              // sbb           $0xc7,%al
43167  .byte  62,114,28                           // jb,pt         74d2 <.literal16+0x1342>
43168  .byte  199                                 // (bad)
43169  .byte  62,114,28                           // jb,pt         74d6 <.literal16+0x1346>
43170  .byte  199                                 // (bad)
43171  .byte  62,114,28                           // jb,pt         74da <.literal16+0x134a>
43172  .byte  199                                 // (bad)
43173  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
43174  .byte  170                                 // stos          %al,%es:(%rdi)
43175  .byte  170                                 // stos          %al,%es:(%rdi)
43176  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
43177  .byte  171                                 // stos          %eax,%es:(%rdi)
43178  .byte  170                                 // stos          %al,%es:(%rdi)
43179  .byte  170                                 // stos          %al,%es:(%rdi)
43180  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
43181  .byte  0,0                                 // add           %al,(%rax)
43182  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
43183  .byte  0,0                                 // add           %al,(%rax)
43184  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
43185  .byte  0,0                                 // add           %al,(%rax)
43186  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
43187  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
43188  .byte  63                                  // (bad)
43189  .byte  0,0                                 // add           %al,(%rax)
43190  .byte  128,63,85                           // cmpb          $0x55,(%rdi)
43191  .byte  85                                  // push          %rbp
43192  .byte  149                                 // xchg          %eax,%ebp
43193  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
43194  .byte  85                                  // push          %rbp
43195  .byte  85                                  // push          %rbp
43196  .byte  149                                 // xchg          %eax,%ebp
43197  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
43198  .byte  0,0                                 // add           %al,(%rax)
43199  .byte  192,63,0                            // sarb          $0x0,(%rdi)
43200  .byte  0,192                               // add           %al,%al
43201  .byte  63                                  // (bad)
43202  .byte  0,0                                 // add           %al,(%rax)
43203  .byte  192,63,0                            // sarb          $0x0,(%rdi)
43204  .byte  0,192                               // add           %al,%al
43205  .byte  63                                  // (bad)
43206  .byte  0,0                                 // add           %al,(%rax)
43207  .byte  0,63                                // add           %bh,(%rdi)
43208  .byte  0,0                                 // add           %al,(%rax)
43209  .byte  0,63                                // add           %bh,(%rdi)
43210  .byte  0,0                                 // add           %al,(%rax)
43211  .byte  0,63                                // add           %bh,(%rdi)
43212  .byte  0,0                                 // add           %al,(%rax)
43213  .byte  0,63                                // add           %bh,(%rdi)
43214  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
43215  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d640365 <_sk_callback_sse2+0x3d63a2c9>
43216  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
43217  .byte  0,63                                // add           %bh,(%rdi)
43218  .byte  0,0                                 // add           %al,(%rax)
43219  .byte  0,63                                // add           %bh,(%rdi)
43220  .byte  0,0                                 // add           %al,(%rax)
43221  .byte  0,63                                // add           %bh,(%rdi)
43222  .byte  0,0                                 // add           %al,(%rax)
43223  .byte  0,63                                // add           %bh,(%rdi)
43224  .byte  85                                  // push          %rbp
43225  .byte  85                                  // push          %rbp
43226  .byte  149                                 // xchg          %eax,%ebp
43227  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
43228  .byte  85                                  // push          %rbp
43229  .byte  85                                  // push          %rbp
43230  .byte  149                                 // xchg          %eax,%ebp
43231  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
43232  .byte  0,0                                 // add           %al,(%rax)
43233  .byte  192,63,0                            // sarb          $0x0,(%rdi)
43234  .byte  0,192                               // add           %al,%al
43235  .byte  63                                  // (bad)
43236  .byte  0,0                                 // add           %al,(%rax)
43237  .byte  192,63,0                            // sarb          $0x0,(%rdi)
43238  .byte  0,192                               // add           %al,%al
43239  .byte  63                                  // (bad)
43240  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
43241  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d6403a5 <_sk_callback_sse2+0x3d63a309>
43242  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
43243  .byte  192,63,0                            // sarb          $0x0,(%rdi)
43244  .byte  0,192                               // add           %al,%al
43245  .byte  63                                  // (bad)
43246  .byte  0,0                                 // add           %al,(%rax)
43247  .byte  192,63,0                            // sarb          $0x0,(%rdi)
43248  .byte  0,192                               // add           %al,%al
43249  .byte  63                                  // (bad)
43250  .byte  114,28                              // jb            759e <.literal16+0x140e>
43251  .byte  199                                 // (bad)
43252  .byte  62,114,28                           // jb,pt         75a2 <.literal16+0x1412>
43253  .byte  199                                 // (bad)
43254  .byte  62,114,28                           // jb,pt         75a6 <.literal16+0x1416>
43255  .byte  199                                 // (bad)
43256  .byte  62,114,28                           // jb,pt         75aa <.literal16+0x141a>
43257  .byte  199                                 // (bad)
43258  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
43259  .byte  170                                 // stos          %al,%es:(%rdi)
43260  .byte  170                                 // stos          %al,%es:(%rdi)
43261  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
43262  .byte  171                                 // stos          %eax,%es:(%rdi)
43263  .byte  170                                 // stos          %al,%es:(%rdi)
43264  .byte  170                                 // stos          %al,%es:(%rdi)
43265  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
43266  .byte  0,0                                 // add           %al,(%rax)
43267  .byte  192,191,0,0,192,191,0               // sarb          $0x0,-0x40400000(%rdi)
43268  .byte  0,192                               // add           %al,%al
43269  .byte  191,0,0,192,191                     // mov           $0xbfc00000,%edi
43270  .byte  0,0                                 // add           %al,(%rax)
43271  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
43272  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
43273  .byte  63                                  // (bad)
43274  .byte  0,0                                 // add           %al,(%rax)
43275  .byte  128,63,114                          // cmpb          $0x72,(%rdi)
43276  .byte  28,199                              // sbb           $0xc7,%al
43277  .byte  62,114,28                           // jb,pt         75e2 <.literal16+0x1452>
43278  .byte  199                                 // (bad)
43279  .byte  62,114,28                           // jb,pt         75e6 <.literal16+0x1456>
43280  .byte  199                                 // (bad)
43281  .byte  62,114,28                           // jb,pt         75ea <.literal16+0x145a>
43282  .byte  199                                 // (bad)
43283  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
43284  .byte  170                                 // stos          %al,%es:(%rdi)
43285  .byte  170                                 // stos          %al,%es:(%rdi)
43286  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
43287  .byte  171                                 // stos          %eax,%es:(%rdi)
43288  .byte  170                                 // stos          %al,%es:(%rdi)
43289  .byte  170                                 // stos          %al,%es:(%rdi)
43290  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
43291  .byte  0,0                                 // add           %al,(%rax)
43292  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
43293  .byte  0,0                                 // add           %al,(%rax)
43294  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%rdi)
43295  .byte  0,0                                 // add           %al,(%rax)
43296  .byte  128,63,0                            // cmpb          $0x0,(%rdi)
43297  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%rax)
43298  .byte  63                                  // (bad)
43299  .byte  0,0                                 // add           %al,(%rax)
43300  .byte  128,63,85                           // cmpb          $0x55,(%rdi)
43301  .byte  85                                  // push          %rbp
43302  .byte  149                                 // xchg          %eax,%ebp
43303  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
43304  .byte  85                                  // push          %rbp
43305  .byte  85                                  // push          %rbp
43306  .byte  149                                 // xchg          %eax,%ebp
43307  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
43308  .byte  0,0                                 // add           %al,(%rax)
43309  .byte  192,63,0                            // sarb          $0x0,(%rdi)
43310  .byte  0,192                               // add           %al,%al
43311  .byte  63                                  // (bad)
43312  .byte  0,0                                 // add           %al,(%rax)
43313  .byte  192,63,0                            // sarb          $0x0,(%rdi)
43314  .byte  0,192                               // add           %al,%al
43315  .byte  63                                  // (bad)
43316  .byte  0,0                                 // add           %al,(%rax)
43317  .byte  0,63                                // add           %bh,(%rdi)
43318  .byte  0,0                                 // add           %al,(%rax)
43319  .byte  0,63                                // add           %bh,(%rdi)
43320  .byte  0,0                                 // add           %al,(%rax)
43321  .byte  0,63                                // add           %bh,(%rdi)
43322  .byte  0,0                                 // add           %al,(%rax)
43323  .byte  0,63                                // add           %bh,(%rdi)
43324  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
43325  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d640475 <_sk_callback_sse2+0x3d63a3d9>
43326  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
43327  .byte  0,63                                // add           %bh,(%rdi)
43328  .byte  0,0                                 // add           %al,(%rax)
43329  .byte  0,63                                // add           %bh,(%rdi)
43330  .byte  0,0                                 // add           %al,(%rax)
43331  .byte  0,63                                // add           %bh,(%rdi)
43332  .byte  0,0                                 // add           %al,(%rax)
43333  .byte  0,63                                // add           %bh,(%rdi)
43334  .byte  85                                  // push          %rbp
43335  .byte  85                                  // push          %rbp
43336  .byte  149                                 // xchg          %eax,%ebp
43337  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
43338  .byte  85                                  // push          %rbp
43339  .byte  85                                  // push          %rbp
43340  .byte  149                                 // xchg          %eax,%ebp
43341  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
43342  .byte  0,0                                 // add           %al,(%rax)
43343  .byte  192,63,0                            // sarb          $0x0,(%rdi)
43344  .byte  0,192                               // add           %al,%al
43345  .byte  63                                  // (bad)
43346  .byte  0,0                                 // add           %al,(%rax)
43347  .byte  192,63,0                            // sarb          $0x0,(%rdi)
43348  .byte  0,192                               // add           %al,%al
43349  .byte  63                                  // (bad)
43350  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%rsi)
43351  .byte  99,61,57,142,99,61                  // movslq        0x3d638e39(%rip),%edi        # 3d6404b5 <_sk_callback_sse2+0x3d63a419>
43352  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%rsi)
43353  .byte  192,63,0                            // sarb          $0x0,(%rdi)
43354  .byte  0,192                               // add           %al,%al
43355  .byte  63                                  // (bad)
43356  .byte  0,0                                 // add           %al,(%rax)
43357  .byte  192,63,0                            // sarb          $0x0,(%rdi)
43358  .byte  0,192                               // add           %al,%al
43359  .byte  63                                  // (bad)
43360  .byte  114,28                              // jb            76ae <.literal16+0x151e>
43361  .byte  199                                 // (bad)
43362  .byte  62,114,28                           // jb,pt         76b2 <_sk_callback_sse2+0x1616>
43363  .byte  199                                 // (bad)
43364  .byte  62,114,28                           // jb,pt         76b6 <_sk_callback_sse2+0x161a>
43365  .byte  199                                 // (bad)
43366  .byte  62,114,28                           // jb,pt         76ba <_sk_callback_sse2+0x161e>
43367  .byte  199                                 // (bad)
43368  .byte  62,171                              // ds            stos %eax,%es:(%rdi)
43369  .byte  170                                 // stos          %al,%es:(%rdi)
43370  .byte  170                                 // stos          %al,%es:(%rdi)
43371  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
43372  .byte  171                                 // stos          %eax,%es:(%rdi)
43373  .byte  170                                 // stos          %al,%es:(%rdi)
43374  .byte  170                                 // stos          %al,%es:(%rdi)
43375  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
43376
43377BALIGN4
43378  .byte  0,0                                 // add           %al,(%rax)
43379  .byte  0,63                                // add           %bh,(%rdi)
43380  .byte  0,0                                 // add           %al,(%rax)
43381  .byte  0,63                                // add           %bh,(%rdi)
43382BALIGN32
43383
43384HIDDEN _sk_start_pipeline_hsw_lowp
43385.globl _sk_start_pipeline_hsw_lowp
43386FUNCTION(_sk_start_pipeline_hsw_lowp)
43387_sk_start_pipeline_hsw_lowp:
43388  .byte  85                                  // push          %rbp
43389  .byte  72,137,229                          // mov           %rsp,%rbp
43390  .byte  65,87                               // push          %r15
43391  .byte  65,86                               // push          %r14
43392  .byte  65,85                               // push          %r13
43393  .byte  65,84                               // push          %r12
43394  .byte  83                                  // push          %rbx
43395  .byte  80                                  // push          %rax
43396  .byte  77,137,196                          // mov           %r8,%r12
43397  .byte  73,137,208                          // mov           %rdx,%r8
43398  .byte  72,137,243                          // mov           %rsi,%rbx
43399  .byte  73,137,254                          // mov           %rdi,%r14
43400  .byte  72,137,206                          // mov           %rcx,%rsi
43401  .byte  72,173                              // lods          %ds:(%rsi),%rax
43402  .byte  73,137,197                          // mov           %rax,%r13
43403  .byte  73,137,247                          // mov           %rsi,%r15
43404  .byte  73,141,78,16                        // lea           0x10(%r14),%rcx
43405  .byte  76,57,193                           // cmp           %r8,%rcx
43406  .byte  118,5                               // jbe           33 <_sk_start_pipeline_hsw_lowp+0x33>
43407  .byte  76,137,242                          // mov           %r14,%rdx
43408  .byte  235,42                              // jmp           5d <_sk_start_pipeline_hsw_lowp+0x5d>
43409  .byte  76,137,69,208                       // mov           %r8,-0x30(%rbp)
43410  .byte  69,49,192                           // xor           %r8d,%r8d
43411  .byte  76,137,231                          // mov           %r12,%rdi
43412  .byte  76,137,254                          // mov           %r15,%rsi
43413  .byte  76,137,242                          // mov           %r14,%rdx
43414  .byte  72,137,217                          // mov           %rbx,%rcx
43415  .byte  65,255,213                          // callq         *%r13
43416  .byte  76,139,69,208                       // mov           -0x30(%rbp),%r8
43417  .byte  73,141,86,16                        // lea           0x10(%r14),%rdx
43418  .byte  73,131,198,32                       // add           $0x20,%r14
43419  .byte  77,57,198                           // cmp           %r8,%r14
43420  .byte  73,137,214                          // mov           %rdx,%r14
43421  .byte  118,218                             // jbe           37 <_sk_start_pipeline_hsw_lowp+0x37>
43422  .byte  73,41,208                           // sub           %rdx,%r8
43423  .byte  116,12                              // je            6e <_sk_start_pipeline_hsw_lowp+0x6e>
43424  .byte  76,137,231                          // mov           %r12,%rdi
43425  .byte  76,137,254                          // mov           %r15,%rsi
43426  .byte  72,137,217                          // mov           %rbx,%rcx
43427  .byte  65,255,213                          // callq         *%r13
43428  .byte  72,131,196,8                        // add           $0x8,%rsp
43429  .byte  91                                  // pop           %rbx
43430  .byte  65,92                               // pop           %r12
43431  .byte  65,93                               // pop           %r13
43432  .byte  65,94                               // pop           %r14
43433  .byte  65,95                               // pop           %r15
43434  .byte  93                                  // pop           %rbp
43435  .byte  197,248,119                         // vzeroupper
43436  .byte  195                                 // retq
43437
43438HIDDEN _sk_start_pipeline_2d_hsw_lowp
43439.globl _sk_start_pipeline_2d_hsw_lowp
43440FUNCTION(_sk_start_pipeline_2d_hsw_lowp)
43441_sk_start_pipeline_2d_hsw_lowp:
43442  .byte  85                                  // push          %rbp
43443  .byte  72,137,229                          // mov           %rsp,%rbp
43444  .byte  65,87                               // push          %r15
43445  .byte  65,86                               // push          %r14
43446  .byte  65,85                               // push          %r13
43447  .byte  65,84                               // push          %r12
43448  .byte  83                                  // push          %rbx
43449  .byte  72,131,236,40                       // sub           $0x28,%rsp
43450  .byte  72,137,211                          // mov           %rdx,%rbx
43451  .byte  73,137,244                          // mov           %rsi,%r12
43452  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
43453  .byte  72,137,77,176                       // mov           %rcx,-0x50(%rbp)
43454  .byte  73,57,204                           // cmp           %rcx,%r12
43455  .byte  115,124                             // jae           120 <_sk_start_pipeline_2d_hsw_lowp+0xa0>
43456  .byte  76,137,198                          // mov           %r8,%rsi
43457  .byte  72,173                              // lods          %ds:(%rsi),%rax
43458  .byte  73,137,198                          // mov           %rax,%r14
43459  .byte  73,137,245                          // mov           %rsi,%r13
43460  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
43461  .byte  72,141,64,16                        // lea           0x10(%rax),%rax
43462  .byte  72,137,69,184                       // mov           %rax,-0x48(%rbp)
43463  .byte  76,137,77,192                       // mov           %r9,-0x40(%rbp)
43464  .byte  72,137,93,200                       // mov           %rbx,-0x38(%rbp)
43465  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
43466  .byte  72,57,93,184                        // cmp           %rbx,-0x48(%rbp)
43467  .byte  119,46                              // ja            fb <_sk_start_pipeline_2d_hsw_lowp+0x7b>
43468  .byte  76,139,125,208                      // mov           -0x30(%rbp),%r15
43469  .byte  69,49,192                           // xor           %r8d,%r8d
43470  .byte  76,137,207                          // mov           %r9,%rdi
43471  .byte  76,137,238                          // mov           %r13,%rsi
43472  .byte  76,137,250                          // mov           %r15,%rdx
43473  .byte  76,137,225                          // mov           %r12,%rcx
43474  .byte  65,255,214                          // callq         *%r14
43475  .byte  72,139,93,200                       // mov           -0x38(%rbp),%rbx
43476  .byte  76,139,77,192                       // mov           -0x40(%rbp),%r9
43477  .byte  73,141,87,16                        // lea           0x10(%r15),%rdx
43478  .byte  73,131,199,32                       // add           $0x20,%r15
43479  .byte  73,57,223                           // cmp           %rbx,%r15
43480  .byte  73,137,215                          // mov           %rdx,%r15
43481  .byte  118,214                             // jbe           d1 <_sk_start_pipeline_2d_hsw_lowp+0x51>
43482  .byte  73,137,216                          // mov           %rbx,%r8
43483  .byte  73,41,208                           // sub           %rdx,%r8
43484  .byte  116,20                              // je            117 <_sk_start_pipeline_2d_hsw_lowp+0x97>
43485  .byte  76,137,207                          // mov           %r9,%rdi
43486  .byte  76,137,238                          // mov           %r13,%rsi
43487  .byte  76,137,225                          // mov           %r12,%rcx
43488  .byte  65,255,214                          // callq         *%r14
43489  .byte  72,139,93,200                       // mov           -0x38(%rbp),%rbx
43490  .byte  76,139,77,192                       // mov           -0x40(%rbp),%r9
43491  .byte  73,255,196                          // inc           %r12
43492  .byte  76,59,101,176                       // cmp           -0x50(%rbp),%r12
43493  .byte  117,163                             // jne           c3 <_sk_start_pipeline_2d_hsw_lowp+0x43>
43494  .byte  72,131,196,40                       // add           $0x28,%rsp
43495  .byte  91                                  // pop           %rbx
43496  .byte  65,92                               // pop           %r12
43497  .byte  65,93                               // pop           %r13
43498  .byte  65,94                               // pop           %r14
43499  .byte  65,95                               // pop           %r15
43500  .byte  93                                  // pop           %rbp
43501  .byte  197,248,119                         // vzeroupper
43502  .byte  195                                 // retq
43503
43504HIDDEN _sk_just_return_hsw_lowp
43505.globl _sk_just_return_hsw_lowp
43506FUNCTION(_sk_just_return_hsw_lowp)
43507_sk_just_return_hsw_lowp:
43508  .byte  195                                 // retq
43509
43510HIDDEN _sk_uniform_color_hsw_lowp
43511.globl _sk_uniform_color_hsw_lowp
43512FUNCTION(_sk_uniform_color_hsw_lowp)
43513_sk_uniform_color_hsw_lowp:
43514  .byte  72,173                              // lods          %ds:(%rsi),%rax
43515  .byte  196,226,121,24,5,30,33,0,0          // vbroadcastss  0x211e(%rip),%xmm0        # 225c <_sk_xor__hsw_lowp+0x78>
43516  .byte  197,248,88,24                       // vaddps        (%rax),%xmm0,%xmm3
43517  .byte  196,226,125,121,195                 // vpbroadcastw  %xmm3,%ymm0
43518  .byte  197,251,112,203,234                 // vpshuflw      $0xea,%xmm3,%xmm1
43519  .byte  196,226,125,88,201                  // vpbroadcastd  %xmm1,%ymm1
43520  .byte  196,227,121,4,211,230               // vpermilps     $0xe6,%xmm3,%xmm2
43521  .byte  197,251,112,210,224                 // vpshuflw      $0xe0,%xmm2,%xmm2
43522  .byte  196,226,125,88,210                  // vpbroadcastd  %xmm2,%ymm2
43523  .byte  196,227,121,4,219,236               // vpermilps     $0xec,%xmm3,%xmm3
43524  .byte  197,251,112,219,234                 // vpshuflw      $0xea,%xmm3,%xmm3
43525  .byte  196,226,125,88,219                  // vpbroadcastd  %xmm3,%ymm3
43526  .byte  72,173                              // lods          %ds:(%rsi),%rax
43527  .byte  255,224                             // jmpq          *%rax
43528
43529HIDDEN _sk_black_color_hsw_lowp
43530.globl _sk_black_color_hsw_lowp
43531FUNCTION(_sk_black_color_hsw_lowp)
43532_sk_black_color_hsw_lowp:
43533  .byte  72,173                              // lods          %ds:(%rsi),%rax
43534  .byte  196,226,125,121,29,0,33,0,0         // vpbroadcastw  0x2100(%rip),%ymm3        # 2280 <_sk_xor__hsw_lowp+0x9c>
43535  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
43536  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
43537  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
43538  .byte  255,224                             // jmpq          *%rax
43539
43540HIDDEN _sk_white_color_hsw_lowp
43541.globl _sk_white_color_hsw_lowp
43542FUNCTION(_sk_white_color_hsw_lowp)
43543_sk_white_color_hsw_lowp:
43544  .byte  72,173                              // lods          %ds:(%rsi),%rax
43545  .byte  196,226,125,121,5,233,32,0,0        // vpbroadcastw  0x20e9(%rip),%ymm0        # 2282 <_sk_xor__hsw_lowp+0x9e>
43546  .byte  197,253,111,200                     // vmovdqa       %ymm0,%ymm1
43547  .byte  197,253,111,208                     // vmovdqa       %ymm0,%ymm2
43548  .byte  197,253,111,216                     // vmovdqa       %ymm0,%ymm3
43549  .byte  255,224                             // jmpq          *%rax
43550
43551HIDDEN _sk_set_rgb_hsw_lowp
43552.globl _sk_set_rgb_hsw_lowp
43553FUNCTION(_sk_set_rgb_hsw_lowp)
43554_sk_set_rgb_hsw_lowp:
43555  .byte  72,173                              // lods          %ds:(%rsi),%rax
43556  .byte  197,250,16,21,175,32,0,0            // vmovss        0x20af(%rip),%xmm2        # 2260 <_sk_xor__hsw_lowp+0x7c>
43557  .byte  197,234,88,0                        // vaddss        (%rax),%xmm2,%xmm0
43558  .byte  196,193,121,126,193                 // vmovd         %xmm0,%r9d
43559  .byte  196,193,121,110,193                 // vmovd         %r9d,%xmm0
43560  .byte  196,226,125,121,192                 // vpbroadcastw  %xmm0,%ymm0
43561  .byte  197,234,88,72,4                     // vaddss        0x4(%rax),%xmm2,%xmm1
43562  .byte  196,193,121,126,201                 // vmovd         %xmm1,%r9d
43563  .byte  196,193,121,110,201                 // vmovd         %r9d,%xmm1
43564  .byte  196,226,125,121,201                 // vpbroadcastw  %xmm1,%ymm1
43565  .byte  197,234,88,80,8                     // vaddss        0x8(%rax),%xmm2,%xmm2
43566  .byte  197,249,126,208                     // vmovd         %xmm2,%eax
43567  .byte  197,249,110,208                     // vmovd         %eax,%xmm2
43568  .byte  196,226,125,121,210                 // vpbroadcastw  %xmm2,%ymm2
43569  .byte  72,173                              // lods          %ds:(%rsi),%rax
43570  .byte  255,224                             // jmpq          *%rax
43571
43572HIDDEN _sk_premul_hsw_lowp
43573.globl _sk_premul_hsw_lowp
43574FUNCTION(_sk_premul_hsw_lowp)
43575_sk_premul_hsw_lowp:
43576  .byte  196,226,125,11,195                  // vpmulhrsw     %ymm3,%ymm0,%ymm0
43577  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
43578  .byte  196,226,117,11,203                  // vpmulhrsw     %ymm3,%ymm1,%ymm1
43579  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
43580  .byte  196,226,109,11,211                  // vpmulhrsw     %ymm3,%ymm2,%ymm2
43581  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
43582  .byte  72,173                              // lods          %ds:(%rsi),%rax
43583  .byte  255,224                             // jmpq          *%rax
43584
43585HIDDEN _sk_load_8888_hsw_lowp
43586.globl _sk_load_8888_hsw_lowp
43587FUNCTION(_sk_load_8888_hsw_lowp)
43588_sk_load_8888_hsw_lowp:
43589  .byte  72,173                              // lods          %ds:(%rsi),%rax
43590  .byte  76,139,24                           // mov           (%rax),%r11
43591  .byte  77,133,192                          // test          %r8,%r8
43592  .byte  15,133,210,0,0,0                    // jne           2f0 <_sk_load_8888_hsw_lowp+0xe0>
43593  .byte  196,193,126,111,92,147,32           // vmovdqu       0x20(%r11,%rdx,4),%ymm3
43594  .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
43595  .byte  197,253,111,5,109,32,0,0            // vmovdqa       0x206d(%rip),%ymm0        # 22a0 <_sk_xor__hsw_lowp+0xbc>
43596  .byte  196,226,61,0,200                    // vpshufb       %ymm0,%ymm8,%ymm1
43597  .byte  196,227,253,0,201,232               // vpermq        $0xe8,%ymm1,%ymm1
43598  .byte  196,226,101,0,192                   // vpshufb       %ymm0,%ymm3,%ymm0
43599  .byte  196,227,253,0,192,232               // vpermq        $0xe8,%ymm0,%ymm0
43600  .byte  196,227,117,56,192,1                // vinserti128   $0x1,%xmm0,%ymm1,%ymm0
43601  .byte  197,253,113,240,8                   // vpsllw        $0x8,%ymm0,%ymm0
43602  .byte  196,98,125,121,13,99,32,0,0         // vpbroadcastw  0x2063(%rip),%ymm9        # 22c0 <_sk_xor__hsw_lowp+0xdc>
43603  .byte  196,193,125,228,193                 // vpmulhuw      %ymm9,%ymm0,%ymm0
43604  .byte  197,253,111,13,118,32,0,0           // vmovdqa       0x2076(%rip),%ymm1        # 22e0 <_sk_xor__hsw_lowp+0xfc>
43605  .byte  196,226,61,0,209                    // vpshufb       %ymm1,%ymm8,%ymm2
43606  .byte  196,227,253,0,210,232               // vpermq        $0xe8,%ymm2,%ymm2
43607  .byte  196,226,101,0,201                   // vpshufb       %ymm1,%ymm3,%ymm1
43608  .byte  196,227,253,0,201,232               // vpermq        $0xe8,%ymm1,%ymm1
43609  .byte  196,227,109,56,201,1                // vinserti128   $0x1,%xmm1,%ymm2,%ymm1
43610  .byte  197,245,113,241,8                   // vpsllw        $0x8,%ymm1,%ymm1
43611  .byte  196,193,117,228,201                 // vpmulhuw      %ymm9,%ymm1,%ymm1
43612  .byte  197,253,111,21,104,32,0,0           // vmovdqa       0x2068(%rip),%ymm2        # 2300 <_sk_xor__hsw_lowp+0x11c>
43613  .byte  196,98,61,0,210                     // vpshufb       %ymm2,%ymm8,%ymm10
43614  .byte  196,67,253,0,210,232                // vpermq        $0xe8,%ymm10,%ymm10
43615  .byte  196,226,101,0,210                   // vpshufb       %ymm2,%ymm3,%ymm2
43616  .byte  196,227,253,0,210,232               // vpermq        $0xe8,%ymm2,%ymm2
43617  .byte  196,227,45,56,210,1                 // vinserti128   $0x1,%xmm2,%ymm10,%ymm2
43618  .byte  197,237,113,242,8                   // vpsllw        $0x8,%ymm2,%ymm2
43619  .byte  196,193,109,228,209                 // vpmulhuw      %ymm9,%ymm2,%ymm2
43620  .byte  197,125,111,21,90,32,0,0            // vmovdqa       0x205a(%rip),%ymm10        # 2320 <_sk_xor__hsw_lowp+0x13c>
43621  .byte  196,66,61,0,194                     // vpshufb       %ymm10,%ymm8,%ymm8
43622  .byte  196,67,253,0,192,232                // vpermq        $0xe8,%ymm8,%ymm8
43623  .byte  196,194,101,0,218                   // vpshufb       %ymm10,%ymm3,%ymm3
43624  .byte  196,227,253,0,219,232               // vpermq        $0xe8,%ymm3,%ymm3
43625  .byte  196,227,61,56,219,1                 // vinserti128   $0x1,%xmm3,%ymm8,%ymm3
43626  .byte  197,229,113,243,8                   // vpsllw        $0x8,%ymm3,%ymm3
43627  .byte  196,193,101,228,217                 // vpmulhuw      %ymm9,%ymm3,%ymm3
43628  .byte  72,173                              // lods          %ds:(%rsi),%rax
43629  .byte  255,224                             // jmpq          *%rax
43630  .byte  69,137,193                          // mov           %r8d,%r9d
43631  .byte  65,128,225,15                       // and           $0xf,%r9b
43632  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
43633  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
43634  .byte  65,254,201                          // dec           %r9b
43635  .byte  65,128,249,14                       // cmp           $0xe,%r9b
43636  .byte  15,135,30,255,255,255               // ja            22b <_sk_load_8888_hsw_lowp+0x1b>
43637  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
43638  .byte  76,141,21,28,1,0,0                  // lea           0x11c(%rip),%r10        # 434 <_sk_load_8888_hsw_lowp+0x224>
43639  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
43640  .byte  76,1,208                            // add           %r10,%rax
43641  .byte  255,224                             // jmpq          *%rax
43642  .byte  196,65,121,110,4,147                // vmovd         (%r11,%rdx,4),%xmm8
43643  .byte  233,255,254,255,255                 // jmpq          22b <_sk_load_8888_hsw_lowp+0x1b>
43644  .byte  196,193,121,110,68,147,8            // vmovd         0x8(%r11,%rdx,4),%xmm0
43645  .byte  196,226,121,89,192                  // vpbroadcastq  %xmm0,%xmm0
43646  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
43647  .byte  196,99,101,2,192,4                  // vpblendd      $0x4,%ymm0,%ymm3,%ymm8
43648  .byte  196,194,121,53,4,147                // vpmovzxdq     (%r11,%rdx,4),%xmm0
43649  .byte  197,249,112,192,232                 // vpshufd       $0xe8,%xmm0,%xmm0
43650  .byte  196,99,61,2,192,3                   // vpblendd      $0x3,%ymm0,%ymm8,%ymm8
43651  .byte  233,211,254,255,255                 // jmpq          22b <_sk_load_8888_hsw_lowp+0x1b>
43652  .byte  196,193,121,110,68,147,24           // vmovd         0x18(%r11,%rdx,4),%xmm0
43653  .byte  196,226,125,89,192                  // vpbroadcastq  %xmm0,%ymm0
43654  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
43655  .byte  196,99,101,2,192,64                 // vpblendd      $0x40,%ymm0,%ymm3,%ymm8
43656  .byte  196,99,125,57,192,1                 // vextracti128  $0x1,%ymm8,%xmm0
43657  .byte  196,195,121,34,68,147,20,1          // vpinsrd       $0x1,0x14(%r11,%rdx,4),%xmm0,%xmm0
43658  .byte  196,99,61,56,192,1                  // vinserti128   $0x1,%xmm0,%ymm8,%ymm8
43659  .byte  196,99,125,57,192,1                 // vextracti128  $0x1,%ymm8,%xmm0
43660  .byte  196,195,121,34,68,147,16,0          // vpinsrd       $0x0,0x10(%r11,%rdx,4),%xmm0,%xmm0
43661  .byte  196,99,61,56,192,1                  // vinserti128   $0x1,%xmm0,%ymm8,%ymm8
43662  .byte  196,193,122,111,4,147               // vmovdqu       (%r11,%rdx,4),%xmm0
43663  .byte  196,67,125,2,192,240                // vpblendd      $0xf0,%ymm8,%ymm0,%ymm8
43664  .byte  233,132,254,255,255                 // jmpq          22b <_sk_load_8888_hsw_lowp+0x1b>
43665  .byte  196,193,121,110,68,147,40           // vmovd         0x28(%r11,%rdx,4),%xmm0
43666  .byte  196,226,121,89,192                  // vpbroadcastq  %xmm0,%xmm0
43667  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
43668  .byte  196,227,117,2,216,4                 // vpblendd      $0x4,%ymm0,%ymm1,%ymm3
43669  .byte  196,195,97,34,68,147,36,1           // vpinsrd       $0x1,0x24(%r11,%rdx,4),%xmm3,%xmm0
43670  .byte  196,227,101,2,216,15                // vpblendd      $0xf,%ymm0,%ymm3,%ymm3
43671  .byte  196,193,121,110,68,147,32           // vmovd         0x20(%r11,%rdx,4),%xmm0
43672  .byte  196,227,101,2,216,1                 // vpblendd      $0x1,%ymm0,%ymm3,%ymm3
43673  .byte  233,72,254,255,255                  // jmpq          225 <_sk_load_8888_hsw_lowp+0x15>
43674  .byte  196,193,121,110,68,147,56           // vmovd         0x38(%r11,%rdx,4),%xmm0
43675  .byte  196,226,125,89,192                  // vpbroadcastq  %xmm0,%ymm0
43676  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
43677  .byte  196,227,117,2,216,64                // vpblendd      $0x40,%ymm0,%ymm1,%ymm3
43678  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
43679  .byte  196,195,121,34,68,147,52,1          // vpinsrd       $0x1,0x34(%r11,%rdx,4),%xmm0,%xmm0
43680  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
43681  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
43682  .byte  196,195,121,34,68,147,48,0          // vpinsrd       $0x0,0x30(%r11,%rdx,4),%xmm0,%xmm0
43683  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
43684  .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
43685  .byte  196,193,122,111,68,147,32           // vmovdqu       0x20(%r11,%rdx,4),%xmm0
43686  .byte  196,227,125,2,219,240               // vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
43687  .byte  233,248,253,255,255                 // jmpq          22b <_sk_load_8888_hsw_lowp+0x1b>
43688  .byte  144                                 // nop
43689  .byte  237                                 // in            (%dx),%eax
43690  .byte  254                                 // (bad)
43691  .byte  255                                 // (bad)
43692  .byte  255,14                              // decl          (%rsi)
43693  .byte  255                                 // (bad)
43694  .byte  255                                 // (bad)
43695  .byte  255                                 // (bad)
43696  .byte  248                                 // clc
43697  .byte  254                                 // (bad)
43698  .byte  255                                 // (bad)
43699  .byte  255,98,255                          // jmpq          *-0x1(%rdx)
43700  .byte  255                                 // (bad)
43701  .byte  255,78,255                          // decl          -0x1(%rsi)
43702  .byte  255                                 // (bad)
43703  .byte  255                                 // (bad)
43704  .byte  58,255                              // cmp           %bh,%bh
43705  .byte  255                                 // (bad)
43706  .byte  255,36,255                          // jmpq          *(%rdi,%rdi,8)
43707  .byte  255                                 // (bad)
43708  .byte  255,241                             // push          %rcx
43709  .byte  253                                 // std
43710  .byte  255                                 // (bad)
43711  .byte  255,151,255,255,255,137             // callq         *-0x76000001(%rdi)
43712  .byte  255                                 // (bad)
43713  .byte  255                                 // (bad)
43714  .byte  255,115,255                         // pushq         -0x1(%rbx)
43715  .byte  255                                 // (bad)
43716  .byte  255,231                             // jmpq          *%rdi
43717  .byte  255                                 // (bad)
43718  .byte  255                                 // (bad)
43719  .byte  255,211                             // callq         *%rbx
43720  .byte  255                                 // (bad)
43721  .byte  255                                 // (bad)
43722  .byte  255                                 // (bad)
43723  .byte  191,255,255,255,169                 // mov           $0xa9ffffff,%edi
43724  .byte  255                                 // (bad)
43725  .byte  255                                 // (bad)
43726  .byte  255                                 // .byte         0xff
43727
43728HIDDEN _sk_load_8888_dst_hsw_lowp
43729.globl _sk_load_8888_dst_hsw_lowp
43730FUNCTION(_sk_load_8888_dst_hsw_lowp)
43731_sk_load_8888_dst_hsw_lowp:
43732  .byte  72,173                              // lods          %ds:(%rsi),%rax
43733  .byte  76,139,24                           // mov           (%rax),%r11
43734  .byte  77,133,192                          // test          %r8,%r8
43735  .byte  15,133,210,0,0,0                    // jne           550 <_sk_load_8888_dst_hsw_lowp+0xe0>
43736  .byte  196,193,126,111,124,147,32          // vmovdqu       0x20(%r11,%rdx,4),%ymm7
43737  .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
43738  .byte  197,253,111,37,173,30,0,0           // vmovdqa       0x1ead(%rip),%ymm4        # 2340 <_sk_xor__hsw_lowp+0x15c>
43739  .byte  196,226,61,0,236                    // vpshufb       %ymm4,%ymm8,%ymm5
43740  .byte  196,227,253,0,237,232               // vpermq        $0xe8,%ymm5,%ymm5
43741  .byte  196,226,69,0,228                    // vpshufb       %ymm4,%ymm7,%ymm4
43742  .byte  196,227,253,0,228,232               // vpermq        $0xe8,%ymm4,%ymm4
43743  .byte  196,227,85,56,228,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm4
43744  .byte  197,221,113,244,8                   // vpsllw        $0x8,%ymm4,%ymm4
43745  .byte  196,98,125,121,13,163,30,0,0        // vpbroadcastw  0x1ea3(%rip),%ymm9        # 2360 <_sk_xor__hsw_lowp+0x17c>
43746  .byte  196,193,93,228,225                  // vpmulhuw      %ymm9,%ymm4,%ymm4
43747  .byte  197,253,111,45,182,30,0,0           // vmovdqa       0x1eb6(%rip),%ymm5        # 2380 <_sk_xor__hsw_lowp+0x19c>
43748  .byte  196,226,61,0,245                    // vpshufb       %ymm5,%ymm8,%ymm6
43749  .byte  196,227,253,0,246,232               // vpermq        $0xe8,%ymm6,%ymm6
43750  .byte  196,226,69,0,237                    // vpshufb       %ymm5,%ymm7,%ymm5
43751  .byte  196,227,253,0,237,232               // vpermq        $0xe8,%ymm5,%ymm5
43752  .byte  196,227,77,56,237,1                 // vinserti128   $0x1,%xmm5,%ymm6,%ymm5
43753  .byte  197,213,113,245,8                   // vpsllw        $0x8,%ymm5,%ymm5
43754  .byte  196,193,85,228,233                  // vpmulhuw      %ymm9,%ymm5,%ymm5
43755  .byte  197,253,111,53,168,30,0,0           // vmovdqa       0x1ea8(%rip),%ymm6        # 23a0 <_sk_xor__hsw_lowp+0x1bc>
43756  .byte  196,98,61,0,214                     // vpshufb       %ymm6,%ymm8,%ymm10
43757  .byte  196,67,253,0,210,232                // vpermq        $0xe8,%ymm10,%ymm10
43758  .byte  196,226,69,0,246                    // vpshufb       %ymm6,%ymm7,%ymm6
43759  .byte  196,227,253,0,246,232               // vpermq        $0xe8,%ymm6,%ymm6
43760  .byte  196,227,45,56,246,1                 // vinserti128   $0x1,%xmm6,%ymm10,%ymm6
43761  .byte  197,205,113,246,8                   // vpsllw        $0x8,%ymm6,%ymm6
43762  .byte  196,193,77,228,241                  // vpmulhuw      %ymm9,%ymm6,%ymm6
43763  .byte  197,125,111,21,154,30,0,0           // vmovdqa       0x1e9a(%rip),%ymm10        # 23c0 <_sk_xor__hsw_lowp+0x1dc>
43764  .byte  196,66,61,0,194                     // vpshufb       %ymm10,%ymm8,%ymm8
43765  .byte  196,67,253,0,192,232                // vpermq        $0xe8,%ymm8,%ymm8
43766  .byte  196,194,69,0,250                    // vpshufb       %ymm10,%ymm7,%ymm7
43767  .byte  196,227,253,0,255,232               // vpermq        $0xe8,%ymm7,%ymm7
43768  .byte  196,227,61,56,255,1                 // vinserti128   $0x1,%xmm7,%ymm8,%ymm7
43769  .byte  197,197,113,247,8                   // vpsllw        $0x8,%ymm7,%ymm7
43770  .byte  196,193,69,228,249                  // vpmulhuw      %ymm9,%ymm7,%ymm7
43771  .byte  72,173                              // lods          %ds:(%rsi),%rax
43772  .byte  255,224                             // jmpq          *%rax
43773  .byte  69,137,193                          // mov           %r8d,%r9d
43774  .byte  65,128,225,15                       // and           $0xf,%r9b
43775  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
43776  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
43777  .byte  65,254,201                          // dec           %r9b
43778  .byte  65,128,249,14                       // cmp           $0xe,%r9b
43779  .byte  15,135,30,255,255,255               // ja            48b <_sk_load_8888_dst_hsw_lowp+0x1b>
43780  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
43781  .byte  76,141,21,28,1,0,0                  // lea           0x11c(%rip),%r10        # 694 <_sk_load_8888_dst_hsw_lowp+0x224>
43782  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
43783  .byte  76,1,208                            // add           %r10,%rax
43784  .byte  255,224                             // jmpq          *%rax
43785  .byte  196,65,121,110,4,147                // vmovd         (%r11,%rdx,4),%xmm8
43786  .byte  233,255,254,255,255                 // jmpq          48b <_sk_load_8888_dst_hsw_lowp+0x1b>
43787  .byte  196,193,121,110,100,147,8           // vmovd         0x8(%r11,%rdx,4),%xmm4
43788  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
43789  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
43790  .byte  196,99,69,2,196,4                   // vpblendd      $0x4,%ymm4,%ymm7,%ymm8
43791  .byte  196,194,121,53,36,147               // vpmovzxdq     (%r11,%rdx,4),%xmm4
43792  .byte  197,249,112,228,232                 // vpshufd       $0xe8,%xmm4,%xmm4
43793  .byte  196,99,61,2,196,3                   // vpblendd      $0x3,%ymm4,%ymm8,%ymm8
43794  .byte  233,211,254,255,255                 // jmpq          48b <_sk_load_8888_dst_hsw_lowp+0x1b>
43795  .byte  196,193,121,110,100,147,24          // vmovd         0x18(%r11,%rdx,4),%xmm4
43796  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
43797  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
43798  .byte  196,99,69,2,196,64                  // vpblendd      $0x40,%ymm4,%ymm7,%ymm8
43799  .byte  196,99,125,57,196,1                 // vextracti128  $0x1,%ymm8,%xmm4
43800  .byte  196,195,89,34,100,147,20,1          // vpinsrd       $0x1,0x14(%r11,%rdx,4),%xmm4,%xmm4
43801  .byte  196,99,61,56,196,1                  // vinserti128   $0x1,%xmm4,%ymm8,%ymm8
43802  .byte  196,99,125,57,196,1                 // vextracti128  $0x1,%ymm8,%xmm4
43803  .byte  196,195,89,34,100,147,16,0          // vpinsrd       $0x0,0x10(%r11,%rdx,4),%xmm4,%xmm4
43804  .byte  196,99,61,56,196,1                  // vinserti128   $0x1,%xmm4,%ymm8,%ymm8
43805  .byte  196,193,122,111,36,147              // vmovdqu       (%r11,%rdx,4),%xmm4
43806  .byte  196,67,93,2,192,240                 // vpblendd      $0xf0,%ymm8,%ymm4,%ymm8
43807  .byte  233,132,254,255,255                 // jmpq          48b <_sk_load_8888_dst_hsw_lowp+0x1b>
43808  .byte  196,193,121,110,100,147,40          // vmovd         0x28(%r11,%rdx,4),%xmm4
43809  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
43810  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
43811  .byte  196,227,85,2,252,4                  // vpblendd      $0x4,%ymm4,%ymm5,%ymm7
43812  .byte  196,195,65,34,100,147,36,1          // vpinsrd       $0x1,0x24(%r11,%rdx,4),%xmm7,%xmm4
43813  .byte  196,227,69,2,252,15                 // vpblendd      $0xf,%ymm4,%ymm7,%ymm7
43814  .byte  196,193,121,110,100,147,32          // vmovd         0x20(%r11,%rdx,4),%xmm4
43815  .byte  196,227,69,2,252,1                  // vpblendd      $0x1,%ymm4,%ymm7,%ymm7
43816  .byte  233,72,254,255,255                  // jmpq          485 <_sk_load_8888_dst_hsw_lowp+0x15>
43817  .byte  196,193,121,110,100,147,56          // vmovd         0x38(%r11,%rdx,4),%xmm4
43818  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
43819  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
43820  .byte  196,227,85,2,252,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm7
43821  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
43822  .byte  196,195,89,34,100,147,52,1          // vpinsrd       $0x1,0x34(%r11,%rdx,4),%xmm4,%xmm4
43823  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
43824  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
43825  .byte  196,195,89,34,100,147,48,0          // vpinsrd       $0x0,0x30(%r11,%rdx,4),%xmm4,%xmm4
43826  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
43827  .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
43828  .byte  196,193,122,111,100,147,32          // vmovdqu       0x20(%r11,%rdx,4),%xmm4
43829  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
43830  .byte  233,248,253,255,255                 // jmpq          48b <_sk_load_8888_dst_hsw_lowp+0x1b>
43831  .byte  144                                 // nop
43832  .byte  237                                 // in            (%dx),%eax
43833  .byte  254                                 // (bad)
43834  .byte  255                                 // (bad)
43835  .byte  255,14                              // decl          (%rsi)
43836  .byte  255                                 // (bad)
43837  .byte  255                                 // (bad)
43838  .byte  255                                 // (bad)
43839  .byte  248                                 // clc
43840  .byte  254                                 // (bad)
43841  .byte  255                                 // (bad)
43842  .byte  255,98,255                          // jmpq          *-0x1(%rdx)
43843  .byte  255                                 // (bad)
43844  .byte  255,78,255                          // decl          -0x1(%rsi)
43845  .byte  255                                 // (bad)
43846  .byte  255                                 // (bad)
43847  .byte  58,255                              // cmp           %bh,%bh
43848  .byte  255                                 // (bad)
43849  .byte  255,36,255                          // jmpq          *(%rdi,%rdi,8)
43850  .byte  255                                 // (bad)
43851  .byte  255,241                             // push          %rcx
43852  .byte  253                                 // std
43853  .byte  255                                 // (bad)
43854  .byte  255,151,255,255,255,137             // callq         *-0x76000001(%rdi)
43855  .byte  255                                 // (bad)
43856  .byte  255                                 // (bad)
43857  .byte  255,115,255                         // pushq         -0x1(%rbx)
43858  .byte  255                                 // (bad)
43859  .byte  255,231                             // jmpq          *%rdi
43860  .byte  255                                 // (bad)
43861  .byte  255                                 // (bad)
43862  .byte  255,211                             // callq         *%rbx
43863  .byte  255                                 // (bad)
43864  .byte  255                                 // (bad)
43865  .byte  255                                 // (bad)
43866  .byte  191,255,255,255,169                 // mov           $0xa9ffffff,%edi
43867  .byte  255                                 // (bad)
43868  .byte  255                                 // (bad)
43869  .byte  255                                 // .byte         0xff
43870
43871HIDDEN _sk_store_8888_hsw_lowp
43872.globl _sk_store_8888_hsw_lowp
43873FUNCTION(_sk_store_8888_hsw_lowp)
43874_sk_store_8888_hsw_lowp:
43875  .byte  72,173                              // lods          %ds:(%rsi),%rax
43876  .byte  76,139,24                           // mov           (%rax),%r11
43877  .byte  197,189,113,208,7                   // vpsrlw        $0x7,%ymm0,%ymm8
43878  .byte  196,98,125,121,13,253,28,0,0        // vpbroadcastw  0x1cfd(%rip),%ymm9        # 23e0 <_sk_xor__hsw_lowp+0x1fc>
43879  .byte  196,65,61,234,193                   // vpminsw       %ymm9,%ymm8,%ymm8
43880  .byte  196,66,125,51,208                   // vpmovzxwd     %xmm8,%ymm10
43881  .byte  196,67,125,57,192,1                 // vextracti128  $0x1,%ymm8,%xmm8
43882  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
43883  .byte  197,165,113,209,7                   // vpsrlw        $0x7,%ymm1,%ymm11
43884  .byte  196,65,37,234,217                   // vpminsw       %ymm9,%ymm11,%ymm11
43885  .byte  196,67,125,57,220,1                 // vextracti128  $0x1,%ymm11,%xmm12
43886  .byte  196,66,125,51,228                   // vpmovzxwd     %xmm12,%ymm12
43887  .byte  196,66,125,51,219                   // vpmovzxwd     %xmm11,%ymm11
43888  .byte  196,193,37,114,243,8                // vpslld        $0x8,%ymm11,%ymm11
43889  .byte  196,193,29,114,244,8                // vpslld        $0x8,%ymm12,%ymm12
43890  .byte  196,65,29,235,192                   // vpor          %ymm8,%ymm12,%ymm8
43891  .byte  196,65,37,235,210                   // vpor          %ymm10,%ymm11,%ymm10
43892  .byte  197,165,113,210,7                   // vpsrlw        $0x7,%ymm2,%ymm11
43893  .byte  196,65,37,234,217                   // vpminsw       %ymm9,%ymm11,%ymm11
43894  .byte  196,66,125,51,227                   // vpmovzxwd     %xmm11,%ymm12
43895  .byte  196,67,125,57,219,1                 // vextracti128  $0x1,%ymm11,%xmm11
43896  .byte  196,66,125,51,219                   // vpmovzxwd     %xmm11,%ymm11
43897  .byte  196,193,37,114,243,16               // vpslld        $0x10,%ymm11,%ymm11
43898  .byte  196,193,29,114,244,16               // vpslld        $0x10,%ymm12,%ymm12
43899  .byte  197,149,113,211,7                   // vpsrlw        $0x7,%ymm3,%ymm13
43900  .byte  196,65,21,234,201                   // vpminsw       %ymm9,%ymm13,%ymm9
43901  .byte  196,67,125,57,205,1                 // vextracti128  $0x1,%ymm9,%xmm13
43902  .byte  196,66,125,51,237                   // vpmovzxwd     %xmm13,%ymm13
43903  .byte  196,66,125,51,201                   // vpmovzxwd     %xmm9,%ymm9
43904  .byte  196,193,13,114,241,24               // vpslld        $0x18,%ymm9,%ymm14
43905  .byte  196,193,53,114,245,24               // vpslld        $0x18,%ymm13,%ymm9
43906  .byte  196,65,37,235,201                   // vpor          %ymm9,%ymm11,%ymm9
43907  .byte  196,65,61,235,201                   // vpor          %ymm9,%ymm8,%ymm9
43908  .byte  196,65,29,235,198                   // vpor          %ymm14,%ymm12,%ymm8
43909  .byte  196,65,45,235,192                   // vpor          %ymm8,%ymm10,%ymm8
43910  .byte  77,133,192                          // test          %r8,%r8
43911  .byte  117,17                              // jne           79e <_sk_store_8888_hsw_lowp+0xce>
43912  .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
43913  .byte  196,65,126,127,76,147,32            // vmovdqu       %ymm9,0x20(%r11,%rdx,4)
43914  .byte  72,173                              // lods          %ds:(%rsi),%rax
43915  .byte  255,224                             // jmpq          *%rax
43916  .byte  69,137,193                          // mov           %r8d,%r9d
43917  .byte  65,128,225,15                       // and           $0xf,%r9b
43918  .byte  65,254,201                          // dec           %r9b
43919  .byte  65,128,249,14                       // cmp           $0xe,%r9b
43920  .byte  119,236                             // ja            79a <_sk_store_8888_hsw_lowp+0xca>
43921  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
43922  .byte  76,141,21,175,0,0,0                 // lea           0xaf(%rip),%r10        # 868 <_sk_store_8888_hsw_lowp+0x198>
43923  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
43924  .byte  76,1,208                            // add           %r10,%rax
43925  .byte  255,224                             // jmpq          *%rax
43926  .byte  196,65,121,126,4,147                // vmovd         %xmm8,(%r11,%rdx,4)
43927  .byte  235,208                             // jmp           79a <_sk_store_8888_hsw_lowp+0xca>
43928  .byte  196,67,121,22,68,147,8,2            // vpextrd       $0x2,%xmm8,0x8(%r11,%rdx,4)
43929  .byte  196,65,121,214,4,147                // vmovq         %xmm8,(%r11,%rdx,4)
43930  .byte  235,192                             // jmp           79a <_sk_store_8888_hsw_lowp+0xca>
43931  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
43932  .byte  196,67,121,22,76,147,24,2           // vpextrd       $0x2,%xmm9,0x18(%r11,%rdx,4)
43933  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
43934  .byte  196,67,121,22,76,147,20,1           // vpextrd       $0x1,%xmm9,0x14(%r11,%rdx,4)
43935  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
43936  .byte  196,65,121,126,76,147,16            // vmovd         %xmm9,0x10(%r11,%rdx,4)
43937  .byte  196,65,122,127,4,147                // vmovdqu       %xmm8,(%r11,%rdx,4)
43938  .byte  235,143                             // jmp           79a <_sk_store_8888_hsw_lowp+0xca>
43939  .byte  196,67,121,22,76,147,40,2           // vpextrd       $0x2,%xmm9,0x28(%r11,%rdx,4)
43940  .byte  196,67,121,22,76,147,36,1           // vpextrd       $0x1,%xmm9,0x24(%r11,%rdx,4)
43941  .byte  196,65,121,126,76,147,32            // vmovd         %xmm9,0x20(%r11,%rdx,4)
43942  .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
43943  .byte  233,109,255,255,255                 // jmpq          79a <_sk_store_8888_hsw_lowp+0xca>
43944  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
43945  .byte  196,67,121,22,84,147,56,2           // vpextrd       $0x2,%xmm10,0x38(%r11,%rdx,4)
43946  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
43947  .byte  196,67,121,22,84,147,52,1           // vpextrd       $0x1,%xmm10,0x34(%r11,%rdx,4)
43948  .byte  196,67,125,57,202,1                 // vextracti128  $0x1,%ymm9,%xmm10
43949  .byte  196,65,121,126,84,147,48            // vmovd         %xmm10,0x30(%r11,%rdx,4)
43950  .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
43951  .byte  196,65,122,127,76,147,32            // vmovdqu       %xmm9,0x20(%r11,%rdx,4)
43952  .byte  233,50,255,255,255                  // jmpq          79a <_sk_store_8888_hsw_lowp+0xca>
43953  .byte  90                                  // pop           %rdx
43954  .byte  255                                 // (bad)
43955  .byte  255                                 // (bad)
43956  .byte  255,106,255                         // ljmp          *-0x1(%rdx)
43957  .byte  255                                 // (bad)
43958  .byte  255,98,255                          // jmpq          *-0x1(%rdx)
43959  .byte  255                                 // (bad)
43960  .byte  255,155,255,255,255,142             // lcall         *-0x71000001(%rbx)
43961  .byte  255                                 // (bad)
43962  .byte  255                                 // (bad)
43963  .byte  255,128,255,255,255,114             // incl          0x72ffffff(%rax)
43964  .byte  255                                 // (bad)
43965  .byte  255                                 // (bad)
43966  .byte  255                                 // (bad)
43967  .byte  186,255,255,255,179                 // mov           $0xb3ffffff,%edx
43968  .byte  255                                 // (bad)
43969  .byte  255                                 // (bad)
43970  .byte  255,171,255,255,255,163             // ljmp          *-0x5c000001(%rbx)
43971  .byte  255                                 // (bad)
43972  .byte  255                                 // (bad)
43973  .byte  255                                 // (bad)
43974  .byte  238                                 // out           %al,(%dx)
43975  .byte  255                                 // (bad)
43976  .byte  255                                 // (bad)
43977  .byte  255,225                             // jmpq          *%rcx
43978  .byte  255                                 // (bad)
43979  .byte  255                                 // (bad)
43980  .byte  255,211                             // callq         *%rbx
43981  .byte  255                                 // (bad)
43982  .byte  255                                 // (bad)
43983  .byte  255,197                             // inc           %ebp
43984  .byte  255                                 // (bad)
43985  .byte  255                                 // (bad)
43986  .byte  255                                 // .byte         0xff
43987
43988HIDDEN _sk_load_bgra_hsw_lowp
43989.globl _sk_load_bgra_hsw_lowp
43990FUNCTION(_sk_load_bgra_hsw_lowp)
43991_sk_load_bgra_hsw_lowp:
43992  .byte  72,173                              // lods          %ds:(%rsi),%rax
43993  .byte  76,139,24                           // mov           (%rax),%r11
43994  .byte  77,133,192                          // test          %r8,%r8
43995  .byte  15,133,210,0,0,0                    // jne           984 <_sk_load_bgra_hsw_lowp+0xe0>
43996  .byte  196,193,126,111,92,147,32           // vmovdqu       0x20(%r11,%rdx,4),%ymm3
43997  .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
43998  .byte  197,253,111,5,57,27,0,0             // vmovdqa       0x1b39(%rip),%ymm0        # 2400 <_sk_xor__hsw_lowp+0x21c>
43999  .byte  196,226,61,0,200                    // vpshufb       %ymm0,%ymm8,%ymm1
44000  .byte  196,227,253,0,201,232               // vpermq        $0xe8,%ymm1,%ymm1
44001  .byte  196,226,101,0,192                   // vpshufb       %ymm0,%ymm3,%ymm0
44002  .byte  196,227,253,0,192,232               // vpermq        $0xe8,%ymm0,%ymm0
44003  .byte  196,227,117,56,192,1                // vinserti128   $0x1,%xmm0,%ymm1,%ymm0
44004  .byte  197,253,113,240,8                   // vpsllw        $0x8,%ymm0,%ymm0
44005  .byte  196,98,125,121,13,47,27,0,0         // vpbroadcastw  0x1b2f(%rip),%ymm9        # 2420 <_sk_xor__hsw_lowp+0x23c>
44006  .byte  196,193,125,228,209                 // vpmulhuw      %ymm9,%ymm0,%ymm2
44007  .byte  197,253,111,5,66,27,0,0             // vmovdqa       0x1b42(%rip),%ymm0        # 2440 <_sk_xor__hsw_lowp+0x25c>
44008  .byte  196,226,61,0,200                    // vpshufb       %ymm0,%ymm8,%ymm1
44009  .byte  196,227,253,0,201,232               // vpermq        $0xe8,%ymm1,%ymm1
44010  .byte  196,226,101,0,192                   // vpshufb       %ymm0,%ymm3,%ymm0
44011  .byte  196,227,253,0,192,232               // vpermq        $0xe8,%ymm0,%ymm0
44012  .byte  196,227,117,56,192,1                // vinserti128   $0x1,%xmm0,%ymm1,%ymm0
44013  .byte  197,253,113,240,8                   // vpsllw        $0x8,%ymm0,%ymm0
44014  .byte  196,193,125,228,201                 // vpmulhuw      %ymm9,%ymm0,%ymm1
44015  .byte  197,253,111,5,52,27,0,0             // vmovdqa       0x1b34(%rip),%ymm0        # 2460 <_sk_xor__hsw_lowp+0x27c>
44016  .byte  196,98,61,0,208                     // vpshufb       %ymm0,%ymm8,%ymm10
44017  .byte  196,67,253,0,210,232                // vpermq        $0xe8,%ymm10,%ymm10
44018  .byte  196,226,101,0,192                   // vpshufb       %ymm0,%ymm3,%ymm0
44019  .byte  196,227,253,0,192,232               // vpermq        $0xe8,%ymm0,%ymm0
44020  .byte  196,227,45,56,192,1                 // vinserti128   $0x1,%xmm0,%ymm10,%ymm0
44021  .byte  197,253,113,240,8                   // vpsllw        $0x8,%ymm0,%ymm0
44022  .byte  196,193,125,228,193                 // vpmulhuw      %ymm9,%ymm0,%ymm0
44023  .byte  197,125,111,21,38,27,0,0            // vmovdqa       0x1b26(%rip),%ymm10        # 2480 <_sk_xor__hsw_lowp+0x29c>
44024  .byte  196,66,61,0,194                     // vpshufb       %ymm10,%ymm8,%ymm8
44025  .byte  196,67,253,0,192,232                // vpermq        $0xe8,%ymm8,%ymm8
44026  .byte  196,194,101,0,218                   // vpshufb       %ymm10,%ymm3,%ymm3
44027  .byte  196,227,253,0,219,232               // vpermq        $0xe8,%ymm3,%ymm3
44028  .byte  196,227,61,56,219,1                 // vinserti128   $0x1,%xmm3,%ymm8,%ymm3
44029  .byte  197,229,113,243,8                   // vpsllw        $0x8,%ymm3,%ymm3
44030  .byte  196,193,101,228,217                 // vpmulhuw      %ymm9,%ymm3,%ymm3
44031  .byte  72,173                              // lods          %ds:(%rsi),%rax
44032  .byte  255,224                             // jmpq          *%rax
44033  .byte  69,137,193                          // mov           %r8d,%r9d
44034  .byte  65,128,225,15                       // and           $0xf,%r9b
44035  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
44036  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
44037  .byte  65,254,201                          // dec           %r9b
44038  .byte  65,128,249,14                       // cmp           $0xe,%r9b
44039  .byte  15,135,30,255,255,255               // ja            8bf <_sk_load_bgra_hsw_lowp+0x1b>
44040  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
44041  .byte  76,141,21,28,1,0,0                  // lea           0x11c(%rip),%r10        # ac8 <_sk_load_bgra_hsw_lowp+0x224>
44042  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
44043  .byte  76,1,208                            // add           %r10,%rax
44044  .byte  255,224                             // jmpq          *%rax
44045  .byte  196,65,121,110,4,147                // vmovd         (%r11,%rdx,4),%xmm8
44046  .byte  233,255,254,255,255                 // jmpq          8bf <_sk_load_bgra_hsw_lowp+0x1b>
44047  .byte  196,193,121,110,68,147,8            // vmovd         0x8(%r11,%rdx,4),%xmm0
44048  .byte  196,226,121,89,192                  // vpbroadcastq  %xmm0,%xmm0
44049  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
44050  .byte  196,99,101,2,192,4                  // vpblendd      $0x4,%ymm0,%ymm3,%ymm8
44051  .byte  196,194,121,53,4,147                // vpmovzxdq     (%r11,%rdx,4),%xmm0
44052  .byte  197,249,112,192,232                 // vpshufd       $0xe8,%xmm0,%xmm0
44053  .byte  196,99,61,2,192,3                   // vpblendd      $0x3,%ymm0,%ymm8,%ymm8
44054  .byte  233,211,254,255,255                 // jmpq          8bf <_sk_load_bgra_hsw_lowp+0x1b>
44055  .byte  196,193,121,110,68,147,24           // vmovd         0x18(%r11,%rdx,4),%xmm0
44056  .byte  196,226,125,89,192                  // vpbroadcastq  %xmm0,%ymm0
44057  .byte  197,229,239,219                     // vpxor         %ymm3,%ymm3,%ymm3
44058  .byte  196,99,101,2,192,64                 // vpblendd      $0x40,%ymm0,%ymm3,%ymm8
44059  .byte  196,99,125,57,192,1                 // vextracti128  $0x1,%ymm8,%xmm0
44060  .byte  196,195,121,34,68,147,20,1          // vpinsrd       $0x1,0x14(%r11,%rdx,4),%xmm0,%xmm0
44061  .byte  196,99,61,56,192,1                  // vinserti128   $0x1,%xmm0,%ymm8,%ymm8
44062  .byte  196,99,125,57,192,1                 // vextracti128  $0x1,%ymm8,%xmm0
44063  .byte  196,195,121,34,68,147,16,0          // vpinsrd       $0x0,0x10(%r11,%rdx,4),%xmm0,%xmm0
44064  .byte  196,99,61,56,192,1                  // vinserti128   $0x1,%xmm0,%ymm8,%ymm8
44065  .byte  196,193,122,111,4,147               // vmovdqu       (%r11,%rdx,4),%xmm0
44066  .byte  196,67,125,2,192,240                // vpblendd      $0xf0,%ymm8,%ymm0,%ymm8
44067  .byte  233,132,254,255,255                 // jmpq          8bf <_sk_load_bgra_hsw_lowp+0x1b>
44068  .byte  196,193,121,110,68,147,40           // vmovd         0x28(%r11,%rdx,4),%xmm0
44069  .byte  196,226,121,89,192                  // vpbroadcastq  %xmm0,%xmm0
44070  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
44071  .byte  196,227,117,2,216,4                 // vpblendd      $0x4,%ymm0,%ymm1,%ymm3
44072  .byte  196,195,97,34,68,147,36,1           // vpinsrd       $0x1,0x24(%r11,%rdx,4),%xmm3,%xmm0
44073  .byte  196,227,101,2,216,15                // vpblendd      $0xf,%ymm0,%ymm3,%ymm3
44074  .byte  196,193,121,110,68,147,32           // vmovd         0x20(%r11,%rdx,4),%xmm0
44075  .byte  196,227,101,2,216,1                 // vpblendd      $0x1,%ymm0,%ymm3,%ymm3
44076  .byte  233,72,254,255,255                  // jmpq          8b9 <_sk_load_bgra_hsw_lowp+0x15>
44077  .byte  196,193,121,110,68,147,56           // vmovd         0x38(%r11,%rdx,4),%xmm0
44078  .byte  196,226,125,89,192                  // vpbroadcastq  %xmm0,%ymm0
44079  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
44080  .byte  196,227,117,2,216,64                // vpblendd      $0x40,%ymm0,%ymm1,%ymm3
44081  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
44082  .byte  196,195,121,34,68,147,52,1          // vpinsrd       $0x1,0x34(%r11,%rdx,4),%xmm0,%xmm0
44083  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
44084  .byte  196,227,125,57,216,1                // vextracti128  $0x1,%ymm3,%xmm0
44085  .byte  196,195,121,34,68,147,48,0          // vpinsrd       $0x0,0x30(%r11,%rdx,4),%xmm0,%xmm0
44086  .byte  196,227,101,56,216,1                // vinserti128   $0x1,%xmm0,%ymm3,%ymm3
44087  .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
44088  .byte  196,193,122,111,68,147,32           // vmovdqu       0x20(%r11,%rdx,4),%xmm0
44089  .byte  196,227,125,2,219,240               // vpblendd      $0xf0,%ymm3,%ymm0,%ymm3
44090  .byte  233,248,253,255,255                 // jmpq          8bf <_sk_load_bgra_hsw_lowp+0x1b>
44091  .byte  144                                 // nop
44092  .byte  237                                 // in            (%dx),%eax
44093  .byte  254                                 // (bad)
44094  .byte  255                                 // (bad)
44095  .byte  255,14                              // decl          (%rsi)
44096  .byte  255                                 // (bad)
44097  .byte  255                                 // (bad)
44098  .byte  255                                 // (bad)
44099  .byte  248                                 // clc
44100  .byte  254                                 // (bad)
44101  .byte  255                                 // (bad)
44102  .byte  255,98,255                          // jmpq          *-0x1(%rdx)
44103  .byte  255                                 // (bad)
44104  .byte  255,78,255                          // decl          -0x1(%rsi)
44105  .byte  255                                 // (bad)
44106  .byte  255                                 // (bad)
44107  .byte  58,255                              // cmp           %bh,%bh
44108  .byte  255                                 // (bad)
44109  .byte  255,36,255                          // jmpq          *(%rdi,%rdi,8)
44110  .byte  255                                 // (bad)
44111  .byte  255,241                             // push          %rcx
44112  .byte  253                                 // std
44113  .byte  255                                 // (bad)
44114  .byte  255,151,255,255,255,137             // callq         *-0x76000001(%rdi)
44115  .byte  255                                 // (bad)
44116  .byte  255                                 // (bad)
44117  .byte  255,115,255                         // pushq         -0x1(%rbx)
44118  .byte  255                                 // (bad)
44119  .byte  255,231                             // jmpq          *%rdi
44120  .byte  255                                 // (bad)
44121  .byte  255                                 // (bad)
44122  .byte  255,211                             // callq         *%rbx
44123  .byte  255                                 // (bad)
44124  .byte  255                                 // (bad)
44125  .byte  255                                 // (bad)
44126  .byte  191,255,255,255,169                 // mov           $0xa9ffffff,%edi
44127  .byte  255                                 // (bad)
44128  .byte  255                                 // (bad)
44129  .byte  255                                 // .byte         0xff
44130
44131HIDDEN _sk_load_bgra_dst_hsw_lowp
44132.globl _sk_load_bgra_dst_hsw_lowp
44133FUNCTION(_sk_load_bgra_dst_hsw_lowp)
44134_sk_load_bgra_dst_hsw_lowp:
44135  .byte  72,173                              // lods          %ds:(%rsi),%rax
44136  .byte  76,139,24                           // mov           (%rax),%r11
44137  .byte  77,133,192                          // test          %r8,%r8
44138  .byte  15,133,210,0,0,0                    // jne           be4 <_sk_load_bgra_dst_hsw_lowp+0xe0>
44139  .byte  196,193,126,111,124,147,32          // vmovdqu       0x20(%r11,%rdx,4),%ymm7
44140  .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
44141  .byte  197,253,111,37,121,25,0,0           // vmovdqa       0x1979(%rip),%ymm4        # 24a0 <_sk_xor__hsw_lowp+0x2bc>
44142  .byte  196,226,61,0,236                    // vpshufb       %ymm4,%ymm8,%ymm5
44143  .byte  196,227,253,0,237,232               // vpermq        $0xe8,%ymm5,%ymm5
44144  .byte  196,226,69,0,228                    // vpshufb       %ymm4,%ymm7,%ymm4
44145  .byte  196,227,253,0,228,232               // vpermq        $0xe8,%ymm4,%ymm4
44146  .byte  196,227,85,56,228,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm4
44147  .byte  197,221,113,244,8                   // vpsllw        $0x8,%ymm4,%ymm4
44148  .byte  196,98,125,121,13,111,25,0,0        // vpbroadcastw  0x196f(%rip),%ymm9        # 24c0 <_sk_xor__hsw_lowp+0x2dc>
44149  .byte  196,193,93,228,241                  // vpmulhuw      %ymm9,%ymm4,%ymm6
44150  .byte  197,253,111,37,130,25,0,0           // vmovdqa       0x1982(%rip),%ymm4        # 24e0 <_sk_xor__hsw_lowp+0x2fc>
44151  .byte  196,226,61,0,236                    // vpshufb       %ymm4,%ymm8,%ymm5
44152  .byte  196,227,253,0,237,232               // vpermq        $0xe8,%ymm5,%ymm5
44153  .byte  196,226,69,0,228                    // vpshufb       %ymm4,%ymm7,%ymm4
44154  .byte  196,227,253,0,228,232               // vpermq        $0xe8,%ymm4,%ymm4
44155  .byte  196,227,85,56,228,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm4
44156  .byte  197,221,113,244,8                   // vpsllw        $0x8,%ymm4,%ymm4
44157  .byte  196,193,93,228,233                  // vpmulhuw      %ymm9,%ymm4,%ymm5
44158  .byte  197,253,111,37,116,25,0,0           // vmovdqa       0x1974(%rip),%ymm4        # 2500 <_sk_xor__hsw_lowp+0x31c>
44159  .byte  196,98,61,0,212                     // vpshufb       %ymm4,%ymm8,%ymm10
44160  .byte  196,67,253,0,210,232                // vpermq        $0xe8,%ymm10,%ymm10
44161  .byte  196,226,69,0,228                    // vpshufb       %ymm4,%ymm7,%ymm4
44162  .byte  196,227,253,0,228,232               // vpermq        $0xe8,%ymm4,%ymm4
44163  .byte  196,227,45,56,228,1                 // vinserti128   $0x1,%xmm4,%ymm10,%ymm4
44164  .byte  197,221,113,244,8                   // vpsllw        $0x8,%ymm4,%ymm4
44165  .byte  196,193,93,228,225                  // vpmulhuw      %ymm9,%ymm4,%ymm4
44166  .byte  197,125,111,21,102,25,0,0           // vmovdqa       0x1966(%rip),%ymm10        # 2520 <_sk_xor__hsw_lowp+0x33c>
44167  .byte  196,66,61,0,194                     // vpshufb       %ymm10,%ymm8,%ymm8
44168  .byte  196,67,253,0,192,232                // vpermq        $0xe8,%ymm8,%ymm8
44169  .byte  196,194,69,0,250                    // vpshufb       %ymm10,%ymm7,%ymm7
44170  .byte  196,227,253,0,255,232               // vpermq        $0xe8,%ymm7,%ymm7
44171  .byte  196,227,61,56,255,1                 // vinserti128   $0x1,%xmm7,%ymm8,%ymm7
44172  .byte  197,197,113,247,8                   // vpsllw        $0x8,%ymm7,%ymm7
44173  .byte  196,193,69,228,249                  // vpmulhuw      %ymm9,%ymm7,%ymm7
44174  .byte  72,173                              // lods          %ds:(%rsi),%rax
44175  .byte  255,224                             // jmpq          *%rax
44176  .byte  69,137,193                          // mov           %r8d,%r9d
44177  .byte  65,128,225,15                       // and           $0xf,%r9b
44178  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
44179  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
44180  .byte  65,254,201                          // dec           %r9b
44181  .byte  65,128,249,14                       // cmp           $0xe,%r9b
44182  .byte  15,135,30,255,255,255               // ja            b1f <_sk_load_bgra_dst_hsw_lowp+0x1b>
44183  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
44184  .byte  76,141,21,28,1,0,0                  // lea           0x11c(%rip),%r10        # d28 <_sk_load_bgra_dst_hsw_lowp+0x224>
44185  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
44186  .byte  76,1,208                            // add           %r10,%rax
44187  .byte  255,224                             // jmpq          *%rax
44188  .byte  196,65,121,110,4,147                // vmovd         (%r11,%rdx,4),%xmm8
44189  .byte  233,255,254,255,255                 // jmpq          b1f <_sk_load_bgra_dst_hsw_lowp+0x1b>
44190  .byte  196,193,121,110,100,147,8           // vmovd         0x8(%r11,%rdx,4),%xmm4
44191  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
44192  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
44193  .byte  196,99,69,2,196,4                   // vpblendd      $0x4,%ymm4,%ymm7,%ymm8
44194  .byte  196,194,121,53,36,147               // vpmovzxdq     (%r11,%rdx,4),%xmm4
44195  .byte  197,249,112,228,232                 // vpshufd       $0xe8,%xmm4,%xmm4
44196  .byte  196,99,61,2,196,3                   // vpblendd      $0x3,%ymm4,%ymm8,%ymm8
44197  .byte  233,211,254,255,255                 // jmpq          b1f <_sk_load_bgra_dst_hsw_lowp+0x1b>
44198  .byte  196,193,121,110,100,147,24          // vmovd         0x18(%r11,%rdx,4),%xmm4
44199  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
44200  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
44201  .byte  196,99,69,2,196,64                  // vpblendd      $0x40,%ymm4,%ymm7,%ymm8
44202  .byte  196,99,125,57,196,1                 // vextracti128  $0x1,%ymm8,%xmm4
44203  .byte  196,195,89,34,100,147,20,1          // vpinsrd       $0x1,0x14(%r11,%rdx,4),%xmm4,%xmm4
44204  .byte  196,99,61,56,196,1                  // vinserti128   $0x1,%xmm4,%ymm8,%ymm8
44205  .byte  196,99,125,57,196,1                 // vextracti128  $0x1,%ymm8,%xmm4
44206  .byte  196,195,89,34,100,147,16,0          // vpinsrd       $0x0,0x10(%r11,%rdx,4),%xmm4,%xmm4
44207  .byte  196,99,61,56,196,1                  // vinserti128   $0x1,%xmm4,%ymm8,%ymm8
44208  .byte  196,193,122,111,36,147              // vmovdqu       (%r11,%rdx,4),%xmm4
44209  .byte  196,67,93,2,192,240                 // vpblendd      $0xf0,%ymm8,%ymm4,%ymm8
44210  .byte  233,132,254,255,255                 // jmpq          b1f <_sk_load_bgra_dst_hsw_lowp+0x1b>
44211  .byte  196,193,121,110,100,147,40          // vmovd         0x28(%r11,%rdx,4),%xmm4
44212  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
44213  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
44214  .byte  196,227,85,2,252,4                  // vpblendd      $0x4,%ymm4,%ymm5,%ymm7
44215  .byte  196,195,65,34,100,147,36,1          // vpinsrd       $0x1,0x24(%r11,%rdx,4),%xmm7,%xmm4
44216  .byte  196,227,69,2,252,15                 // vpblendd      $0xf,%ymm4,%ymm7,%ymm7
44217  .byte  196,193,121,110,100,147,32          // vmovd         0x20(%r11,%rdx,4),%xmm4
44218  .byte  196,227,69,2,252,1                  // vpblendd      $0x1,%ymm4,%ymm7,%ymm7
44219  .byte  233,72,254,255,255                  // jmpq          b19 <_sk_load_bgra_dst_hsw_lowp+0x15>
44220  .byte  196,193,121,110,100,147,56          // vmovd         0x38(%r11,%rdx,4),%xmm4
44221  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
44222  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
44223  .byte  196,227,85,2,252,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm7
44224  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
44225  .byte  196,195,89,34,100,147,52,1          // vpinsrd       $0x1,0x34(%r11,%rdx,4),%xmm4,%xmm4
44226  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
44227  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
44228  .byte  196,195,89,34,100,147,48,0          // vpinsrd       $0x0,0x30(%r11,%rdx,4),%xmm4,%xmm4
44229  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
44230  .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
44231  .byte  196,193,122,111,100,147,32          // vmovdqu       0x20(%r11,%rdx,4),%xmm4
44232  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
44233  .byte  233,248,253,255,255                 // jmpq          b1f <_sk_load_bgra_dst_hsw_lowp+0x1b>
44234  .byte  144                                 // nop
44235  .byte  237                                 // in            (%dx),%eax
44236  .byte  254                                 // (bad)
44237  .byte  255                                 // (bad)
44238  .byte  255,14                              // decl          (%rsi)
44239  .byte  255                                 // (bad)
44240  .byte  255                                 // (bad)
44241  .byte  255                                 // (bad)
44242  .byte  248                                 // clc
44243  .byte  254                                 // (bad)
44244  .byte  255                                 // (bad)
44245  .byte  255,98,255                          // jmpq          *-0x1(%rdx)
44246  .byte  255                                 // (bad)
44247  .byte  255,78,255                          // decl          -0x1(%rsi)
44248  .byte  255                                 // (bad)
44249  .byte  255                                 // (bad)
44250  .byte  58,255                              // cmp           %bh,%bh
44251  .byte  255                                 // (bad)
44252  .byte  255,36,255                          // jmpq          *(%rdi,%rdi,8)
44253  .byte  255                                 // (bad)
44254  .byte  255,241                             // push          %rcx
44255  .byte  253                                 // std
44256  .byte  255                                 // (bad)
44257  .byte  255,151,255,255,255,137             // callq         *-0x76000001(%rdi)
44258  .byte  255                                 // (bad)
44259  .byte  255                                 // (bad)
44260  .byte  255,115,255                         // pushq         -0x1(%rbx)
44261  .byte  255                                 // (bad)
44262  .byte  255,231                             // jmpq          *%rdi
44263  .byte  255                                 // (bad)
44264  .byte  255                                 // (bad)
44265  .byte  255,211                             // callq         *%rbx
44266  .byte  255                                 // (bad)
44267  .byte  255                                 // (bad)
44268  .byte  255                                 // (bad)
44269  .byte  191,255,255,255,169                 // mov           $0xa9ffffff,%edi
44270  .byte  255                                 // (bad)
44271  .byte  255                                 // (bad)
44272  .byte  255                                 // .byte         0xff
44273
44274HIDDEN _sk_store_bgra_hsw_lowp
44275.globl _sk_store_bgra_hsw_lowp
44276FUNCTION(_sk_store_bgra_hsw_lowp)
44277_sk_store_bgra_hsw_lowp:
44278  .byte  72,173                              // lods          %ds:(%rsi),%rax
44279  .byte  76,139,24                           // mov           (%rax),%r11
44280  .byte  197,189,113,210,7                   // vpsrlw        $0x7,%ymm2,%ymm8
44281  .byte  196,98,125,121,13,201,23,0,0        // vpbroadcastw  0x17c9(%rip),%ymm9        # 2540 <_sk_xor__hsw_lowp+0x35c>
44282  .byte  196,65,61,234,193                   // vpminsw       %ymm9,%ymm8,%ymm8
44283  .byte  196,66,125,51,208                   // vpmovzxwd     %xmm8,%ymm10
44284  .byte  196,67,125,57,192,1                 // vextracti128  $0x1,%ymm8,%xmm8
44285  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
44286  .byte  197,165,113,209,7                   // vpsrlw        $0x7,%ymm1,%ymm11
44287  .byte  196,65,37,234,217                   // vpminsw       %ymm9,%ymm11,%ymm11
44288  .byte  196,66,125,51,227                   // vpmovzxwd     %xmm11,%ymm12
44289  .byte  196,67,125,57,219,1                 // vextracti128  $0x1,%ymm11,%xmm11
44290  .byte  196,66,125,51,219                   // vpmovzxwd     %xmm11,%ymm11
44291  .byte  196,193,37,114,243,8                // vpslld        $0x8,%ymm11,%ymm11
44292  .byte  196,193,29,114,244,8                // vpslld        $0x8,%ymm12,%ymm12
44293  .byte  197,149,113,208,7                   // vpsrlw        $0x7,%ymm0,%ymm13
44294  .byte  196,65,21,234,233                   // vpminsw       %ymm9,%ymm13,%ymm13
44295  .byte  196,67,125,57,238,1                 // vextracti128  $0x1,%ymm13,%xmm14
44296  .byte  196,66,125,51,246                   // vpmovzxwd     %xmm14,%ymm14
44297  .byte  196,66,125,51,237                   // vpmovzxwd     %xmm13,%ymm13
44298  .byte  196,193,21,114,245,16               // vpslld        $0x10,%ymm13,%ymm13
44299  .byte  196,193,13,114,246,16               // vpslld        $0x10,%ymm14,%ymm14
44300  .byte  197,133,113,211,7                   // vpsrlw        $0x7,%ymm3,%ymm15
44301  .byte  196,65,5,234,201                    // vpminsw       %ymm9,%ymm15,%ymm9
44302  .byte  196,67,125,57,207,1                 // vextracti128  $0x1,%ymm9,%xmm15
44303  .byte  196,66,125,51,255                   // vpmovzxwd     %xmm15,%ymm15
44304  .byte  196,66,125,51,201                   // vpmovzxwd     %xmm9,%ymm9
44305  .byte  196,193,53,114,241,24               // vpslld        $0x18,%ymm9,%ymm9
44306  .byte  196,193,5,114,247,24                // vpslld        $0x18,%ymm15,%ymm15
44307  .byte  196,65,61,235,198                   // vpor          %ymm14,%ymm8,%ymm8
44308  .byte  196,65,45,235,237                   // vpor          %ymm13,%ymm10,%ymm13
44309  .byte  196,65,37,235,215                   // vpor          %ymm15,%ymm11,%ymm10
44310  .byte  196,65,61,235,210                   // vpor          %ymm10,%ymm8,%ymm10
44311  .byte  196,65,29,235,193                   // vpor          %ymm9,%ymm12,%ymm8
44312  .byte  196,65,21,235,192                   // vpor          %ymm8,%ymm13,%ymm8
44313  .byte  77,133,192                          // test          %r8,%r8
44314  .byte  117,17                              // jne           e32 <_sk_store_bgra_hsw_lowp+0xce>
44315  .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
44316  .byte  196,65,126,127,84,147,32            // vmovdqu       %ymm10,0x20(%r11,%rdx,4)
44317  .byte  72,173                              // lods          %ds:(%rsi),%rax
44318  .byte  255,224                             // jmpq          *%rax
44319  .byte  69,137,193                          // mov           %r8d,%r9d
44320  .byte  65,128,225,15                       // and           $0xf,%r9b
44321  .byte  65,254,201                          // dec           %r9b
44322  .byte  65,128,249,14                       // cmp           $0xe,%r9b
44323  .byte  119,236                             // ja            e2e <_sk_store_bgra_hsw_lowp+0xca>
44324  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
44325  .byte  76,141,21,175,0,0,0                 // lea           0xaf(%rip),%r10        # efc <_sk_store_bgra_hsw_lowp+0x198>
44326  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
44327  .byte  76,1,208                            // add           %r10,%rax
44328  .byte  255,224                             // jmpq          *%rax
44329  .byte  196,65,121,126,4,147                // vmovd         %xmm8,(%r11,%rdx,4)
44330  .byte  235,208                             // jmp           e2e <_sk_store_bgra_hsw_lowp+0xca>
44331  .byte  196,67,121,22,68,147,8,2            // vpextrd       $0x2,%xmm8,0x8(%r11,%rdx,4)
44332  .byte  196,65,121,214,4,147                // vmovq         %xmm8,(%r11,%rdx,4)
44333  .byte  235,192                             // jmp           e2e <_sk_store_bgra_hsw_lowp+0xca>
44334  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
44335  .byte  196,67,121,22,76,147,24,2           // vpextrd       $0x2,%xmm9,0x18(%r11,%rdx,4)
44336  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
44337  .byte  196,67,121,22,76,147,20,1           // vpextrd       $0x1,%xmm9,0x14(%r11,%rdx,4)
44338  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
44339  .byte  196,65,121,126,76,147,16            // vmovd         %xmm9,0x10(%r11,%rdx,4)
44340  .byte  196,65,122,127,4,147                // vmovdqu       %xmm8,(%r11,%rdx,4)
44341  .byte  235,143                             // jmp           e2e <_sk_store_bgra_hsw_lowp+0xca>
44342  .byte  196,67,121,22,84,147,40,2           // vpextrd       $0x2,%xmm10,0x28(%r11,%rdx,4)
44343  .byte  196,67,121,22,84,147,36,1           // vpextrd       $0x1,%xmm10,0x24(%r11,%rdx,4)
44344  .byte  196,65,121,126,84,147,32            // vmovd         %xmm10,0x20(%r11,%rdx,4)
44345  .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
44346  .byte  233,109,255,255,255                 // jmpq          e2e <_sk_store_bgra_hsw_lowp+0xca>
44347  .byte  196,67,125,57,209,1                 // vextracti128  $0x1,%ymm10,%xmm9
44348  .byte  196,67,121,22,76,147,56,2           // vpextrd       $0x2,%xmm9,0x38(%r11,%rdx,4)
44349  .byte  196,67,125,57,209,1                 // vextracti128  $0x1,%ymm10,%xmm9
44350  .byte  196,67,121,22,76,147,52,1           // vpextrd       $0x1,%xmm9,0x34(%r11,%rdx,4)
44351  .byte  196,67,125,57,209,1                 // vextracti128  $0x1,%ymm10,%xmm9
44352  .byte  196,65,121,126,76,147,48            // vmovd         %xmm9,0x30(%r11,%rdx,4)
44353  .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
44354  .byte  196,65,122,127,84,147,32            // vmovdqu       %xmm10,0x20(%r11,%rdx,4)
44355  .byte  233,50,255,255,255                  // jmpq          e2e <_sk_store_bgra_hsw_lowp+0xca>
44356  .byte  90                                  // pop           %rdx
44357  .byte  255                                 // (bad)
44358  .byte  255                                 // (bad)
44359  .byte  255,106,255                         // ljmp          *-0x1(%rdx)
44360  .byte  255                                 // (bad)
44361  .byte  255,98,255                          // jmpq          *-0x1(%rdx)
44362  .byte  255                                 // (bad)
44363  .byte  255,155,255,255,255,142             // lcall         *-0x71000001(%rbx)
44364  .byte  255                                 // (bad)
44365  .byte  255                                 // (bad)
44366  .byte  255,128,255,255,255,114             // incl          0x72ffffff(%rax)
44367  .byte  255                                 // (bad)
44368  .byte  255                                 // (bad)
44369  .byte  255                                 // (bad)
44370  .byte  186,255,255,255,179                 // mov           $0xb3ffffff,%edx
44371  .byte  255                                 // (bad)
44372  .byte  255                                 // (bad)
44373  .byte  255,171,255,255,255,163             // ljmp          *-0x5c000001(%rbx)
44374  .byte  255                                 // (bad)
44375  .byte  255                                 // (bad)
44376  .byte  255                                 // (bad)
44377  .byte  238                                 // out           %al,(%dx)
44378  .byte  255                                 // (bad)
44379  .byte  255                                 // (bad)
44380  .byte  255,225                             // jmpq          *%rcx
44381  .byte  255                                 // (bad)
44382  .byte  255                                 // (bad)
44383  .byte  255,211                             // callq         *%rbx
44384  .byte  255                                 // (bad)
44385  .byte  255                                 // (bad)
44386  .byte  255,197                             // inc           %ebp
44387  .byte  255                                 // (bad)
44388  .byte  255                                 // (bad)
44389  .byte  255                                 // .byte         0xff
44390
44391HIDDEN _sk_load_a8_hsw_lowp
44392.globl _sk_load_a8_hsw_lowp
44393FUNCTION(_sk_load_a8_hsw_lowp)
44394_sk_load_a8_hsw_lowp:
44395  .byte  72,173                              // lods          %ds:(%rsi),%rax
44396  .byte  76,139,24                           // mov           (%rax),%r11
44397  .byte  77,133,192                          // test          %r8,%r8
44398  .byte  117,45                              // jne           f6f <_sk_load_a8_hsw_lowp+0x37>
44399  .byte  196,193,122,111,4,19                // vmovdqu       (%r11,%rdx,1),%xmm0
44400  .byte  196,226,125,48,192                  // vpmovzxbw     %xmm0,%ymm0
44401  .byte  197,253,113,240,8                   // vpsllw        $0x8,%ymm0,%ymm0
44402  .byte  196,226,125,121,13,231,21,0,0       // vpbroadcastw  0x15e7(%rip),%ymm1        # 2542 <_sk_xor__hsw_lowp+0x35e>
44403  .byte  197,253,228,217                     // vpmulhuw      %ymm1,%ymm0,%ymm3
44404  .byte  72,173                              // lods          %ds:(%rsi),%rax
44405  .byte  197,253,239,192                     // vpxor         %ymm0,%ymm0,%ymm0
44406  .byte  197,245,239,201                     // vpxor         %ymm1,%ymm1,%ymm1
44407  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
44408  .byte  255,224                             // jmpq          *%rax
44409  .byte  69,137,193                          // mov           %r8d,%r9d
44410  .byte  65,128,225,15                       // and           $0xf,%r9b
44411  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
44412  .byte  65,254,201                          // dec           %r9b
44413  .byte  65,128,249,14                       // cmp           $0xe,%r9b
44414  .byte  119,197                             // ja            f48 <_sk_load_a8_hsw_lowp+0x10>
44415  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
44416  .byte  76,141,21,194,0,0,0                 // lea           0xc2(%rip),%r10        # 1050 <_sk_load_a8_hsw_lowp+0x118>
44417  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
44418  .byte  76,1,208                            // add           %r10,%rax
44419  .byte  255,224                             // jmpq          *%rax
44420  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
44421  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
44422  .byte  235,166                             // jmp           f48 <_sk_load_a8_hsw_lowp+0x10>
44423  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
44424  .byte  196,195,121,32,68,19,2,2            // vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm0,%xmm0
44425  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
44426  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
44427  .byte  196,227,121,14,193,1                // vpblendw      $0x1,%xmm1,%xmm0,%xmm0
44428  .byte  235,137                             // jmp           f48 <_sk_load_a8_hsw_lowp+0x10>
44429  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
44430  .byte  196,195,121,32,68,19,6,6            // vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm0,%xmm0
44431  .byte  196,195,121,32,68,19,5,5            // vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm0,%xmm0
44432  .byte  196,195,121,32,68,19,4,4            // vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm0,%xmm0
44433  .byte  196,193,121,110,12,19               // vmovd         (%r11,%rdx,1),%xmm1
44434  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
44435  .byte  233,92,255,255,255                  // jmpq          f48 <_sk_load_a8_hsw_lowp+0x10>
44436  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
44437  .byte  196,195,121,32,68,19,10,10          // vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm0,%xmm0
44438  .byte  196,195,121,32,68,19,9,9            // vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm0,%xmm0
44439  .byte  196,195,121,32,68,19,8,8            // vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm0,%xmm0
44440  .byte  196,193,122,126,12,19               // vmovq         (%r11,%rdx,1),%xmm1
44441  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
44442  .byte  233,47,255,255,255                  // jmpq          f48 <_sk_load_a8_hsw_lowp+0x10>
44443  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
44444  .byte  196,195,121,32,68,19,14,14          // vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm0,%xmm0
44445  .byte  196,195,121,32,68,19,13,13          // vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm0,%xmm0
44446  .byte  196,195,121,32,68,19,12,12          // vpinsrb       $0xc,0xc(%r11,%rdx,1),%xmm0,%xmm0
44447  .byte  196,193,122,126,12,19               // vmovq         (%r11,%rdx,1),%xmm1
44448  .byte  196,195,113,34,76,19,8,2            // vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm1,%xmm1
44449  .byte  196,227,113,2,192,8                 // vpblendd      $0x8,%xmm0,%xmm1,%xmm0
44450  .byte  233,250,254,255,255                 // jmpq          f48 <_sk_load_a8_hsw_lowp+0x10>
44451  .byte  102,144                             // xchg          %ax,%ax
44452  .byte  71,255                              // rex.RXB       (bad)
44453  .byte  255                                 // (bad)
44454  .byte  255,94,255                          // lcall         *-0x1(%rsi)
44455  .byte  255                                 // (bad)
44456  .byte  255,82,255                          // callq         *-0x1(%rdx)
44457  .byte  255                                 // (bad)
44458  .byte  255,139,255,255,255,131             // decl          -0x7c000001(%rbx)
44459  .byte  255                                 // (bad)
44460  .byte  255                                 // (bad)
44461  .byte  255                                 // (bad)
44462  .byte  123,255                             // jnp           1065 <_sk_load_a8_hsw_lowp+0x12d>
44463  .byte  255                                 // (bad)
44464  .byte  255,111,255                         // ljmp          *-0x1(%rdi)
44465  .byte  255                                 // (bad)
44466  .byte  255                                 // (bad)
44467  .byte  184,255,255,255,176                 // mov           $0xb0ffffff,%eax
44468  .byte  255                                 // (bad)
44469  .byte  255                                 // (bad)
44470  .byte  255,168,255,255,255,156             // ljmp          *-0x63000001(%rax)
44471  .byte  255                                 // (bad)
44472  .byte  255                                 // (bad)
44473  .byte  255,229                             // jmpq          *%rbp
44474  .byte  255                                 // (bad)
44475  .byte  255                                 // (bad)
44476  .byte  255                                 // (bad)
44477  .byte  221,255                             // (bad)
44478  .byte  255                                 // (bad)
44479  .byte  255,213                             // callq         *%rbp
44480  .byte  255                                 // (bad)
44481  .byte  255                                 // (bad)
44482  .byte  255,201                             // dec           %ecx
44483  .byte  255                                 // (bad)
44484  .byte  255                                 // (bad)
44485  .byte  255                                 // .byte         0xff
44486
44487HIDDEN _sk_load_a8_dst_hsw_lowp
44488.globl _sk_load_a8_dst_hsw_lowp
44489FUNCTION(_sk_load_a8_dst_hsw_lowp)
44490_sk_load_a8_dst_hsw_lowp:
44491  .byte  72,173                              // lods          %ds:(%rsi),%rax
44492  .byte  76,139,24                           // mov           (%rax),%r11
44493  .byte  77,133,192                          // test          %r8,%r8
44494  .byte  117,45                              // jne           10c3 <_sk_load_a8_dst_hsw_lowp+0x37>
44495  .byte  196,193,122,111,36,19               // vmovdqu       (%r11,%rdx,1),%xmm4
44496  .byte  196,226,125,48,228                  // vpmovzxbw     %xmm4,%ymm4
44497  .byte  197,221,113,244,8                   // vpsllw        $0x8,%ymm4,%ymm4
44498  .byte  196,226,125,121,45,149,20,0,0       // vpbroadcastw  0x1495(%rip),%ymm5        # 2544 <_sk_xor__hsw_lowp+0x360>
44499  .byte  197,221,228,253                     // vpmulhuw      %ymm5,%ymm4,%ymm7
44500  .byte  72,173                              // lods          %ds:(%rsi),%rax
44501  .byte  197,221,239,228                     // vpxor         %ymm4,%ymm4,%ymm4
44502  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
44503  .byte  197,204,87,246                      // vxorps        %ymm6,%ymm6,%ymm6
44504  .byte  255,224                             // jmpq          *%rax
44505  .byte  69,137,193                          // mov           %r8d,%r9d
44506  .byte  65,128,225,15                       // and           $0xf,%r9b
44507  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
44508  .byte  65,254,201                          // dec           %r9b
44509  .byte  65,128,249,14                       // cmp           $0xe,%r9b
44510  .byte  119,197                             // ja            109c <_sk_load_a8_dst_hsw_lowp+0x10>
44511  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
44512  .byte  76,141,21,194,0,0,0                 // lea           0xc2(%rip),%r10        # 11a4 <_sk_load_a8_dst_hsw_lowp+0x118>
44513  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
44514  .byte  76,1,208                            // add           %r10,%rax
44515  .byte  255,224                             // jmpq          *%rax
44516  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
44517  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
44518  .byte  235,166                             // jmp           109c <_sk_load_a8_dst_hsw_lowp+0x10>
44519  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
44520  .byte  196,195,89,32,100,19,2,2            // vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm4,%xmm4
44521  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
44522  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
44523  .byte  196,227,89,14,229,1                 // vpblendw      $0x1,%xmm5,%xmm4,%xmm4
44524  .byte  235,137                             // jmp           109c <_sk_load_a8_dst_hsw_lowp+0x10>
44525  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
44526  .byte  196,195,89,32,100,19,6,6            // vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm4,%xmm4
44527  .byte  196,195,89,32,100,19,5,5            // vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm4,%xmm4
44528  .byte  196,195,89,32,100,19,4,4            // vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm4,%xmm4
44529  .byte  196,193,121,110,44,19               // vmovd         (%r11,%rdx,1),%xmm5
44530  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
44531  .byte  233,92,255,255,255                  // jmpq          109c <_sk_load_a8_dst_hsw_lowp+0x10>
44532  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
44533  .byte  196,195,89,32,100,19,10,10          // vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm4,%xmm4
44534  .byte  196,195,89,32,100,19,9,9            // vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm4,%xmm4
44535  .byte  196,195,89,32,100,19,8,8            // vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm4,%xmm4
44536  .byte  196,193,122,126,44,19               // vmovq         (%r11,%rdx,1),%xmm5
44537  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
44538  .byte  233,47,255,255,255                  // jmpq          109c <_sk_load_a8_dst_hsw_lowp+0x10>
44539  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
44540  .byte  196,195,89,32,100,19,14,14          // vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm4,%xmm4
44541  .byte  196,195,89,32,100,19,13,13          // vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm4,%xmm4
44542  .byte  196,195,89,32,100,19,12,12          // vpinsrb       $0xc,0xc(%r11,%rdx,1),%xmm4,%xmm4
44543  .byte  196,193,122,126,44,19               // vmovq         (%r11,%rdx,1),%xmm5
44544  .byte  196,195,81,34,108,19,8,2            // vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm5,%xmm5
44545  .byte  196,227,81,2,228,8                  // vpblendd      $0x8,%xmm4,%xmm5,%xmm4
44546  .byte  233,250,254,255,255                 // jmpq          109c <_sk_load_a8_dst_hsw_lowp+0x10>
44547  .byte  102,144                             // xchg          %ax,%ax
44548  .byte  71,255                              // rex.RXB       (bad)
44549  .byte  255                                 // (bad)
44550  .byte  255,94,255                          // lcall         *-0x1(%rsi)
44551  .byte  255                                 // (bad)
44552  .byte  255,82,255                          // callq         *-0x1(%rdx)
44553  .byte  255                                 // (bad)
44554  .byte  255,139,255,255,255,131             // decl          -0x7c000001(%rbx)
44555  .byte  255                                 // (bad)
44556  .byte  255                                 // (bad)
44557  .byte  255                                 // (bad)
44558  .byte  123,255                             // jnp           11b9 <_sk_load_a8_dst_hsw_lowp+0x12d>
44559  .byte  255                                 // (bad)
44560  .byte  255,111,255                         // ljmp          *-0x1(%rdi)
44561  .byte  255                                 // (bad)
44562  .byte  255                                 // (bad)
44563  .byte  184,255,255,255,176                 // mov           $0xb0ffffff,%eax
44564  .byte  255                                 // (bad)
44565  .byte  255                                 // (bad)
44566  .byte  255,168,255,255,255,156             // ljmp          *-0x63000001(%rax)
44567  .byte  255                                 // (bad)
44568  .byte  255                                 // (bad)
44569  .byte  255,229                             // jmpq          *%rbp
44570  .byte  255                                 // (bad)
44571  .byte  255                                 // (bad)
44572  .byte  255                                 // (bad)
44573  .byte  221,255                             // (bad)
44574  .byte  255                                 // (bad)
44575  .byte  255,213                             // callq         *%rbp
44576  .byte  255                                 // (bad)
44577  .byte  255                                 // (bad)
44578  .byte  255,201                             // dec           %ecx
44579  .byte  255                                 // (bad)
44580  .byte  255                                 // (bad)
44581  .byte  255                                 // .byte         0xff
44582
44583HIDDEN _sk_store_a8_hsw_lowp
44584.globl _sk_store_a8_hsw_lowp
44585FUNCTION(_sk_store_a8_hsw_lowp)
44586_sk_store_a8_hsw_lowp:
44587  .byte  72,173                              // lods          %ds:(%rsi),%rax
44588  .byte  76,139,24                           // mov           (%rax),%r11
44589  .byte  197,189,113,211,7                   // vpsrlw        $0x7,%ymm3,%ymm8
44590  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
44591  .byte  196,65,57,103,193                   // vpackuswb     %xmm9,%xmm8,%xmm8
44592  .byte  77,133,192                          // test          %r8,%r8
44593  .byte  117,10                              // jne           1204 <_sk_store_a8_hsw_lowp+0x24>
44594  .byte  196,65,122,127,4,19                 // vmovdqu       %xmm8,(%r11,%rdx,1)
44595  .byte  72,173                              // lods          %ds:(%rsi),%rax
44596  .byte  255,224                             // jmpq          *%rax
44597  .byte  69,137,193                          // mov           %r8d,%r9d
44598  .byte  65,128,225,15                       // and           $0xf,%r9b
44599  .byte  65,254,201                          // dec           %r9b
44600  .byte  65,128,249,14                       // cmp           $0xe,%r9b
44601  .byte  119,236                             // ja            1200 <_sk_store_a8_hsw_lowp+0x20>
44602  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
44603  .byte  76,141,21,137,0,0,0                 // lea           0x89(%rip),%r10        # 12a8 <_sk_store_a8_hsw_lowp+0xc8>
44604  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
44605  .byte  76,1,208                            // add           %r10,%rax
44606  .byte  255,224                             // jmpq          *%rax
44607  .byte  196,67,121,20,4,19,0                // vpextrb       $0x0,%xmm8,(%r11,%rdx,1)
44608  .byte  235,207                             // jmp           1200 <_sk_store_a8_hsw_lowp+0x20>
44609  .byte  196,67,121,20,68,19,2,2             // vpextrb       $0x2,%xmm8,0x2(%r11,%rdx,1)
44610  .byte  196,67,121,21,4,19,0                // vpextrw       $0x0,%xmm8,(%r11,%rdx,1)
44611  .byte  235,190                             // jmp           1200 <_sk_store_a8_hsw_lowp+0x20>
44612  .byte  196,67,121,20,68,19,6,6             // vpextrb       $0x6,%xmm8,0x6(%r11,%rdx,1)
44613  .byte  196,67,121,20,68,19,5,5             // vpextrb       $0x5,%xmm8,0x5(%r11,%rdx,1)
44614  .byte  196,67,121,20,68,19,4,4             // vpextrb       $0x4,%xmm8,0x4(%r11,%rdx,1)
44615  .byte  196,65,121,126,4,19                 // vmovd         %xmm8,(%r11,%rdx,1)
44616  .byte  235,158                             // jmp           1200 <_sk_store_a8_hsw_lowp+0x20>
44617  .byte  196,67,121,20,68,19,10,10           // vpextrb       $0xa,%xmm8,0xa(%r11,%rdx,1)
44618  .byte  196,67,121,20,68,19,9,9             // vpextrb       $0x9,%xmm8,0x9(%r11,%rdx,1)
44619  .byte  196,67,121,20,68,19,8,8             // vpextrb       $0x8,%xmm8,0x8(%r11,%rdx,1)
44620  .byte  235,32                              // jmp           129c <_sk_store_a8_hsw_lowp+0xbc>
44621  .byte  196,67,121,20,68,19,14,14           // vpextrb       $0xe,%xmm8,0xe(%r11,%rdx,1)
44622  .byte  196,67,121,20,68,19,13,13           // vpextrb       $0xd,%xmm8,0xd(%r11,%rdx,1)
44623  .byte  196,67,121,20,68,19,12,12           // vpextrb       $0xc,%xmm8,0xc(%r11,%rdx,1)
44624  .byte  196,67,121,22,68,19,8,2             // vpextrd       $0x2,%xmm8,0x8(%r11,%rdx,1)
44625  .byte  196,65,121,214,4,19                 // vmovq         %xmm8,(%r11,%rdx,1)
44626  .byte  233,89,255,255,255                  // jmpq          1200 <_sk_store_a8_hsw_lowp+0x20>
44627  .byte  144                                 // nop
44628  .byte  128,255,255                         // cmp           $0xff,%bh
44629  .byte  255,145,255,255,255,137             // callq         *-0x76000001(%rcx)
44630  .byte  255                                 // (bad)
44631  .byte  255                                 // (bad)
44632  .byte  255,178,255,255,255,170             // pushq         -0x55000001(%rdx)
44633  .byte  255                                 // (bad)
44634  .byte  255                                 // (bad)
44635  .byte  255,162,255,255,255,154             // jmpq          *-0x65000001(%rdx)
44636  .byte  255                                 // (bad)
44637  .byte  255                                 // (bad)
44638  .byte  255,244                             // push          %rsp
44639  .byte  255                                 // (bad)
44640  .byte  255                                 // (bad)
44641  .byte  255,202                             // dec           %edx
44642  .byte  255                                 // (bad)
44643  .byte  255                                 // (bad)
44644  .byte  255,194                             // inc           %edx
44645  .byte  255                                 // (bad)
44646  .byte  255                                 // (bad)
44647  .byte  255                                 // (bad)
44648  .byte  186,255,255,255,236                 // mov           $0xecffffff,%edx
44649  .byte  255                                 // (bad)
44650  .byte  255                                 // (bad)
44651  .byte  255,228                             // jmpq          *%rsp
44652  .byte  255                                 // (bad)
44653  .byte  255                                 // (bad)
44654  .byte  255                                 // (bad)
44655  .byte  220,255                             // fdivr         %st,%st(7)
44656  .byte  255                                 // (bad)
44657  .byte  255,212                             // callq         *%rsp
44658  .byte  255                                 // (bad)
44659  .byte  255                                 // (bad)
44660  .byte  255                                 // .byte         0xff
44661
44662HIDDEN _sk_load_g8_hsw_lowp
44663.globl _sk_load_g8_hsw_lowp
44664FUNCTION(_sk_load_g8_hsw_lowp)
44665_sk_load_g8_hsw_lowp:
44666  .byte  72,173                              // lods          %ds:(%rsi),%rax
44667  .byte  76,139,24                           // mov           (%rax),%r11
44668  .byte  77,133,192                          // test          %r8,%r8
44669  .byte  117,50                              // jne           1320 <_sk_load_g8_hsw_lowp+0x3c>
44670  .byte  196,193,122,111,4,19                // vmovdqu       (%r11,%rdx,1),%xmm0
44671  .byte  196,226,125,48,192                  // vpmovzxbw     %xmm0,%ymm0
44672  .byte  197,253,113,240,8                   // vpsllw        $0x8,%ymm0,%ymm0
44673  .byte  196,226,125,121,13,63,18,0,0        // vpbroadcastw  0x123f(%rip),%ymm1        # 2546 <_sk_xor__hsw_lowp+0x362>
44674  .byte  197,253,228,193                     // vpmulhuw      %ymm1,%ymm0,%ymm0
44675  .byte  72,173                              // lods          %ds:(%rsi),%rax
44676  .byte  196,226,125,121,29,50,18,0,0        // vpbroadcastw  0x1232(%rip),%ymm3        # 2548 <_sk_xor__hsw_lowp+0x364>
44677  .byte  197,253,111,200                     // vmovdqa       %ymm0,%ymm1
44678  .byte  197,253,111,208                     // vmovdqa       %ymm0,%ymm2
44679  .byte  255,224                             // jmpq          *%rax
44680  .byte  69,137,193                          // mov           %r8d,%r9d
44681  .byte  65,128,225,15                       // and           $0xf,%r9b
44682  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
44683  .byte  65,254,201                          // dec           %r9b
44684  .byte  65,128,249,14                       // cmp           $0xe,%r9b
44685  .byte  119,192                             // ja            12f4 <_sk_load_g8_hsw_lowp+0x10>
44686  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
44687  .byte  76,141,21,193,0,0,0                 // lea           0xc1(%rip),%r10        # 1400 <_sk_load_g8_hsw_lowp+0x11c>
44688  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
44689  .byte  76,1,208                            // add           %r10,%rax
44690  .byte  255,224                             // jmpq          *%rax
44691  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
44692  .byte  197,249,110,192                     // vmovd         %eax,%xmm0
44693  .byte  235,161                             // jmp           12f4 <_sk_load_g8_hsw_lowp+0x10>
44694  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
44695  .byte  196,195,121,32,68,19,2,2            // vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm0,%xmm0
44696  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
44697  .byte  197,249,110,200                     // vmovd         %eax,%xmm1
44698  .byte  196,227,121,14,193,1                // vpblendw      $0x1,%xmm1,%xmm0,%xmm0
44699  .byte  235,132                             // jmp           12f4 <_sk_load_g8_hsw_lowp+0x10>
44700  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
44701  .byte  196,195,121,32,68,19,6,6            // vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm0,%xmm0
44702  .byte  196,195,121,32,68,19,5,5            // vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm0,%xmm0
44703  .byte  196,195,121,32,68,19,4,4            // vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm0,%xmm0
44704  .byte  196,193,121,110,12,19               // vmovd         (%r11,%rdx,1),%xmm1
44705  .byte  196,227,121,2,193,1                 // vpblendd      $0x1,%xmm1,%xmm0,%xmm0
44706  .byte  233,87,255,255,255                  // jmpq          12f4 <_sk_load_g8_hsw_lowp+0x10>
44707  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
44708  .byte  196,195,121,32,68,19,10,10          // vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm0,%xmm0
44709  .byte  196,195,121,32,68,19,9,9            // vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm0,%xmm0
44710  .byte  196,195,121,32,68,19,8,8            // vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm0,%xmm0
44711  .byte  196,193,122,126,12,19               // vmovq         (%r11,%rdx,1),%xmm1
44712  .byte  196,227,113,2,192,12                // vpblendd      $0xc,%xmm0,%xmm1,%xmm0
44713  .byte  233,42,255,255,255                  // jmpq          12f4 <_sk_load_g8_hsw_lowp+0x10>
44714  .byte  197,249,239,192                     // vpxor         %xmm0,%xmm0,%xmm0
44715  .byte  196,195,121,32,68,19,14,14          // vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm0,%xmm0
44716  .byte  196,195,121,32,68,19,13,13          // vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm0,%xmm0
44717  .byte  196,195,121,32,68,19,12,12          // vpinsrb       $0xc,0xc(%r11,%rdx,1),%xmm0,%xmm0
44718  .byte  196,193,122,126,12,19               // vmovq         (%r11,%rdx,1),%xmm1
44719  .byte  196,195,113,34,76,19,8,2            // vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm1,%xmm1
44720  .byte  196,227,113,2,192,8                 // vpblendd      $0x8,%xmm0,%xmm1,%xmm0
44721  .byte  233,245,254,255,255                 // jmpq          12f4 <_sk_load_g8_hsw_lowp+0x10>
44722  .byte  144                                 // nop
44723  .byte  72,255                              // rex.W         (bad)
44724  .byte  255                                 // (bad)
44725  .byte  255,95,255                          // lcall         *-0x1(%rdi)
44726  .byte  255                                 // (bad)
44727  .byte  255,83,255                          // callq         *-0x1(%rbx)
44728  .byte  255                                 // (bad)
44729  .byte  255,140,255,255,255,132,255         // decl          -0x7b0001(%rdi,%rdi,8)
44730  .byte  255                                 // (bad)
44731  .byte  255                                 // (bad)
44732  .byte  124,255                             // jl            1415 <_sk_load_g8_hsw_lowp+0x131>
44733  .byte  255                                 // (bad)
44734  .byte  255,112,255                         // pushq         -0x1(%rax)
44735  .byte  255                                 // (bad)
44736  .byte  255                                 // (bad)
44737  .byte  185,255,255,255,177                 // mov           $0xb1ffffff,%ecx
44738  .byte  255                                 // (bad)
44739  .byte  255                                 // (bad)
44740  .byte  255,169,255,255,255,157             // ljmp          *-0x62000001(%rcx)
44741  .byte  255                                 // (bad)
44742  .byte  255                                 // (bad)
44743  .byte  255,230                             // jmpq          *%rsi
44744  .byte  255                                 // (bad)
44745  .byte  255                                 // (bad)
44746  .byte  255                                 // (bad)
44747  .byte  222,255                             // fdivrp        %st,%st(7)
44748  .byte  255                                 // (bad)
44749  .byte  255,214                             // callq         *%rsi
44750  .byte  255                                 // (bad)
44751  .byte  255                                 // (bad)
44752  .byte  255,202                             // dec           %edx
44753  .byte  255                                 // (bad)
44754  .byte  255                                 // (bad)
44755  .byte  255                                 // .byte         0xff
44756
44757HIDDEN _sk_load_g8_dst_hsw_lowp
44758.globl _sk_load_g8_dst_hsw_lowp
44759FUNCTION(_sk_load_g8_dst_hsw_lowp)
44760_sk_load_g8_dst_hsw_lowp:
44761  .byte  72,173                              // lods          %ds:(%rsi),%rax
44762  .byte  76,139,24                           // mov           (%rax),%r11
44763  .byte  77,133,192                          // test          %r8,%r8
44764  .byte  117,50                              // jne           1478 <_sk_load_g8_dst_hsw_lowp+0x3c>
44765  .byte  196,193,122,111,36,19               // vmovdqu       (%r11,%rdx,1),%xmm4
44766  .byte  196,226,125,48,228                  // vpmovzxbw     %xmm4,%ymm4
44767  .byte  197,221,113,244,8                   // vpsllw        $0x8,%ymm4,%ymm4
44768  .byte  196,226,125,121,45,235,16,0,0       // vpbroadcastw  0x10eb(%rip),%ymm5        # 254a <_sk_xor__hsw_lowp+0x366>
44769  .byte  197,221,228,229                     // vpmulhuw      %ymm5,%ymm4,%ymm4
44770  .byte  72,173                              // lods          %ds:(%rsi),%rax
44771  .byte  196,226,125,121,61,222,16,0,0       // vpbroadcastw  0x10de(%rip),%ymm7        # 254c <_sk_xor__hsw_lowp+0x368>
44772  .byte  197,253,111,236                     // vmovdqa       %ymm4,%ymm5
44773  .byte  197,253,111,244                     // vmovdqa       %ymm4,%ymm6
44774  .byte  255,224                             // jmpq          *%rax
44775  .byte  69,137,193                          // mov           %r8d,%r9d
44776  .byte  65,128,225,15                       // and           $0xf,%r9b
44777  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
44778  .byte  65,254,201                          // dec           %r9b
44779  .byte  65,128,249,14                       // cmp           $0xe,%r9b
44780  .byte  119,192                             // ja            144c <_sk_load_g8_dst_hsw_lowp+0x10>
44781  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
44782  .byte  76,141,21,193,0,0,0                 // lea           0xc1(%rip),%r10        # 1558 <_sk_load_g8_dst_hsw_lowp+0x11c>
44783  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
44784  .byte  76,1,208                            // add           %r10,%rax
44785  .byte  255,224                             // jmpq          *%rax
44786  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
44787  .byte  197,249,110,224                     // vmovd         %eax,%xmm4
44788  .byte  235,161                             // jmp           144c <_sk_load_g8_dst_hsw_lowp+0x10>
44789  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
44790  .byte  196,195,89,32,100,19,2,2            // vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm4,%xmm4
44791  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
44792  .byte  197,249,110,232                     // vmovd         %eax,%xmm5
44793  .byte  196,227,89,14,229,1                 // vpblendw      $0x1,%xmm5,%xmm4,%xmm4
44794  .byte  235,132                             // jmp           144c <_sk_load_g8_dst_hsw_lowp+0x10>
44795  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
44796  .byte  196,195,89,32,100,19,6,6            // vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm4,%xmm4
44797  .byte  196,195,89,32,100,19,5,5            // vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm4,%xmm4
44798  .byte  196,195,89,32,100,19,4,4            // vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm4,%xmm4
44799  .byte  196,193,121,110,44,19               // vmovd         (%r11,%rdx,1),%xmm5
44800  .byte  196,227,89,2,229,1                  // vpblendd      $0x1,%xmm5,%xmm4,%xmm4
44801  .byte  233,87,255,255,255                  // jmpq          144c <_sk_load_g8_dst_hsw_lowp+0x10>
44802  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
44803  .byte  196,195,89,32,100,19,10,10          // vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm4,%xmm4
44804  .byte  196,195,89,32,100,19,9,9            // vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm4,%xmm4
44805  .byte  196,195,89,32,100,19,8,8            // vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm4,%xmm4
44806  .byte  196,193,122,126,44,19               // vmovq         (%r11,%rdx,1),%xmm5
44807  .byte  196,227,81,2,228,12                 // vpblendd      $0xc,%xmm4,%xmm5,%xmm4
44808  .byte  233,42,255,255,255                  // jmpq          144c <_sk_load_g8_dst_hsw_lowp+0x10>
44809  .byte  197,217,239,228                     // vpxor         %xmm4,%xmm4,%xmm4
44810  .byte  196,195,89,32,100,19,14,14          // vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm4,%xmm4
44811  .byte  196,195,89,32,100,19,13,13          // vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm4,%xmm4
44812  .byte  196,195,89,32,100,19,12,12          // vpinsrb       $0xc,0xc(%r11,%rdx,1),%xmm4,%xmm4
44813  .byte  196,193,122,126,44,19               // vmovq         (%r11,%rdx,1),%xmm5
44814  .byte  196,195,81,34,108,19,8,2            // vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm5,%xmm5
44815  .byte  196,227,81,2,228,8                  // vpblendd      $0x8,%xmm4,%xmm5,%xmm4
44816  .byte  233,245,254,255,255                 // jmpq          144c <_sk_load_g8_dst_hsw_lowp+0x10>
44817  .byte  144                                 // nop
44818  .byte  72,255                              // rex.W         (bad)
44819  .byte  255                                 // (bad)
44820  .byte  255,95,255                          // lcall         *-0x1(%rdi)
44821  .byte  255                                 // (bad)
44822  .byte  255,83,255                          // callq         *-0x1(%rbx)
44823  .byte  255                                 // (bad)
44824  .byte  255,140,255,255,255,132,255         // decl          -0x7b0001(%rdi,%rdi,8)
44825  .byte  255                                 // (bad)
44826  .byte  255                                 // (bad)
44827  .byte  124,255                             // jl            156d <_sk_load_g8_dst_hsw_lowp+0x131>
44828  .byte  255                                 // (bad)
44829  .byte  255,112,255                         // pushq         -0x1(%rax)
44830  .byte  255                                 // (bad)
44831  .byte  255                                 // (bad)
44832  .byte  185,255,255,255,177                 // mov           $0xb1ffffff,%ecx
44833  .byte  255                                 // (bad)
44834  .byte  255                                 // (bad)
44835  .byte  255,169,255,255,255,157             // ljmp          *-0x62000001(%rcx)
44836  .byte  255                                 // (bad)
44837  .byte  255                                 // (bad)
44838  .byte  255,230                             // jmpq          *%rsi
44839  .byte  255                                 // (bad)
44840  .byte  255                                 // (bad)
44841  .byte  255                                 // (bad)
44842  .byte  222,255                             // fdivrp        %st,%st(7)
44843  .byte  255                                 // (bad)
44844  .byte  255,214                             // callq         *%rsi
44845  .byte  255                                 // (bad)
44846  .byte  255                                 // (bad)
44847  .byte  255,202                             // dec           %edx
44848  .byte  255                                 // (bad)
44849  .byte  255                                 // (bad)
44850  .byte  255                                 // .byte         0xff
44851
44852HIDDEN _sk_srcover_rgba_8888_hsw_lowp
44853.globl _sk_srcover_rgba_8888_hsw_lowp
44854FUNCTION(_sk_srcover_rgba_8888_hsw_lowp)
44855_sk_srcover_rgba_8888_hsw_lowp:
44856  .byte  72,173                              // lods          %ds:(%rsi),%rax
44857  .byte  76,139,24                           // mov           (%rax),%r11
44858  .byte  77,133,192                          // test          %r8,%r8
44859  .byte  15,133,220,1,0,0                    // jne           177e <_sk_srcover_rgba_8888_hsw_lowp+0x1ea>
44860  .byte  196,193,126,111,124,147,32          // vmovdqu       0x20(%r11,%rdx,4),%ymm7
44861  .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
44862  .byte  197,253,111,37,169,15,0,0           // vmovdqa       0xfa9(%rip),%ymm4        # 2560 <_sk_xor__hsw_lowp+0x37c>
44863  .byte  196,226,61,0,236                    // vpshufb       %ymm4,%ymm8,%ymm5
44864  .byte  196,227,253,0,237,232               // vpermq        $0xe8,%ymm5,%ymm5
44865  .byte  196,226,69,0,228                    // vpshufb       %ymm4,%ymm7,%ymm4
44866  .byte  196,227,253,0,228,232               // vpermq        $0xe8,%ymm4,%ymm4
44867  .byte  196,227,85,56,228,1                 // vinserti128   $0x1,%xmm4,%ymm5,%ymm4
44868  .byte  196,98,125,121,13,164,15,0,0        // vpbroadcastw  0xfa4(%rip),%ymm9        # 2580 <_sk_xor__hsw_lowp+0x39c>
44869  .byte  197,221,113,244,8                   // vpsllw        $0x8,%ymm4,%ymm4
44870  .byte  196,98,125,121,21,152,15,0,0        // vpbroadcastw  0xf98(%rip),%ymm10        # 2582 <_sk_xor__hsw_lowp+0x39e>
44871  .byte  196,193,93,228,226                  // vpmulhuw      %ymm10,%ymm4,%ymm4
44872  .byte  197,253,111,45,169,15,0,0           // vmovdqa       0xfa9(%rip),%ymm5        # 25a0 <_sk_xor__hsw_lowp+0x3bc>
44873  .byte  196,226,61,0,245                    // vpshufb       %ymm5,%ymm8,%ymm6
44874  .byte  196,227,253,0,246,232               // vpermq        $0xe8,%ymm6,%ymm6
44875  .byte  196,226,69,0,237                    // vpshufb       %ymm5,%ymm7,%ymm5
44876  .byte  196,227,253,0,237,232               // vpermq        $0xe8,%ymm5,%ymm5
44877  .byte  196,227,77,56,237,1                 // vinserti128   $0x1,%xmm5,%ymm6,%ymm5
44878  .byte  197,213,113,245,8                   // vpsllw        $0x8,%ymm5,%ymm5
44879  .byte  196,193,85,228,234                  // vpmulhuw      %ymm10,%ymm5,%ymm5
44880  .byte  197,253,111,53,155,15,0,0           // vmovdqa       0xf9b(%rip),%ymm6        # 25c0 <_sk_xor__hsw_lowp+0x3dc>
44881  .byte  196,98,61,0,222                     // vpshufb       %ymm6,%ymm8,%ymm11
44882  .byte  196,67,253,0,219,232                // vpermq        $0xe8,%ymm11,%ymm11
44883  .byte  196,226,69,0,246                    // vpshufb       %ymm6,%ymm7,%ymm6
44884  .byte  196,227,253,0,246,232               // vpermq        $0xe8,%ymm6,%ymm6
44885  .byte  196,227,37,56,246,1                 // vinserti128   $0x1,%xmm6,%ymm11,%ymm6
44886  .byte  197,205,113,246,8                   // vpsllw        $0x8,%ymm6,%ymm6
44887  .byte  196,193,77,228,242                  // vpmulhuw      %ymm10,%ymm6,%ymm6
44888  .byte  197,125,111,29,141,15,0,0           // vmovdqa       0xf8d(%rip),%ymm11        # 25e0 <_sk_xor__hsw_lowp+0x3fc>
44889  .byte  196,66,61,0,195                     // vpshufb       %ymm11,%ymm8,%ymm8
44890  .byte  196,67,253,0,192,232                // vpermq        $0xe8,%ymm8,%ymm8
44891  .byte  196,194,69,0,251                    // vpshufb       %ymm11,%ymm7,%ymm7
44892  .byte  196,227,253,0,255,232               // vpermq        $0xe8,%ymm7,%ymm7
44893  .byte  196,227,61,56,255,1                 // vinserti128   $0x1,%xmm7,%ymm8,%ymm7
44894  .byte  197,197,113,247,8                   // vpsllw        $0x8,%ymm7,%ymm7
44895  .byte  196,193,69,228,250                  // vpmulhuw      %ymm10,%ymm7,%ymm7
44896  .byte  196,98,125,121,5,126,15,0,0         // vpbroadcastw  0xf7e(%rip),%ymm8        # 2600 <_sk_xor__hsw_lowp+0x41c>
44897  .byte  197,61,249,195                      // vpsubw        %ymm3,%ymm8,%ymm8
44898  .byte  196,66,93,11,208                    // vpmulhrsw     %ymm8,%ymm4,%ymm10
44899  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
44900  .byte  197,173,253,192                     // vpaddw        %ymm0,%ymm10,%ymm0
44901  .byte  196,66,85,11,208                    // vpmulhrsw     %ymm8,%ymm5,%ymm10
44902  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
44903  .byte  197,173,253,201                     // vpaddw        %ymm1,%ymm10,%ymm1
44904  .byte  196,66,77,11,208                    // vpmulhrsw     %ymm8,%ymm6,%ymm10
44905  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
44906  .byte  197,173,253,210                     // vpaddw        %ymm2,%ymm10,%ymm2
44907  .byte  196,66,69,11,192                    // vpmulhrsw     %ymm8,%ymm7,%ymm8
44908  .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
44909  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
44910  .byte  197,189,113,208,7                   // vpsrlw        $0x7,%ymm0,%ymm8
44911  .byte  196,65,61,234,193                   // vpminsw       %ymm9,%ymm8,%ymm8
44912  .byte  196,66,125,51,208                   // vpmovzxwd     %xmm8,%ymm10
44913  .byte  196,67,125,57,192,1                 // vextracti128  $0x1,%ymm8,%xmm8
44914  .byte  196,66,125,51,192                   // vpmovzxwd     %xmm8,%ymm8
44915  .byte  197,165,113,209,7                   // vpsrlw        $0x7,%ymm1,%ymm11
44916  .byte  196,65,37,234,217                   // vpminsw       %ymm9,%ymm11,%ymm11
44917  .byte  196,67,125,57,220,1                 // vextracti128  $0x1,%ymm11,%xmm12
44918  .byte  196,66,125,51,228                   // vpmovzxwd     %xmm12,%ymm12
44919  .byte  196,66,125,51,219                   // vpmovzxwd     %xmm11,%ymm11
44920  .byte  196,193,37,114,243,8                // vpslld        $0x8,%ymm11,%ymm11
44921  .byte  196,193,29,114,244,8                // vpslld        $0x8,%ymm12,%ymm12
44922  .byte  197,149,113,210,7                   // vpsrlw        $0x7,%ymm2,%ymm13
44923  .byte  196,65,21,234,233                   // vpminsw       %ymm9,%ymm13,%ymm13
44924  .byte  196,66,125,51,245                   // vpmovzxwd     %xmm13,%ymm14
44925  .byte  196,67,125,57,237,1                 // vextracti128  $0x1,%ymm13,%xmm13
44926  .byte  196,66,125,51,237                   // vpmovzxwd     %xmm13,%ymm13
44927  .byte  196,193,21,114,245,16               // vpslld        $0x10,%ymm13,%ymm13
44928  .byte  196,193,13,114,246,16               // vpslld        $0x10,%ymm14,%ymm14
44929  .byte  197,133,113,211,7                   // vpsrlw        $0x7,%ymm3,%ymm15
44930  .byte  196,65,5,234,201                    // vpminsw       %ymm9,%ymm15,%ymm9
44931  .byte  196,67,125,57,207,1                 // vextracti128  $0x1,%ymm9,%xmm15
44932  .byte  196,66,125,51,255                   // vpmovzxwd     %xmm15,%ymm15
44933  .byte  196,66,125,51,201                   // vpmovzxwd     %xmm9,%ymm9
44934  .byte  196,193,53,114,241,24               // vpslld        $0x18,%ymm9,%ymm9
44935  .byte  196,193,5,114,247,24                // vpslld        $0x18,%ymm15,%ymm15
44936  .byte  196,65,29,235,192                   // vpor          %ymm8,%ymm12,%ymm8
44937  .byte  196,65,37,235,218                   // vpor          %ymm10,%ymm11,%ymm11
44938  .byte  196,65,21,235,215                   // vpor          %ymm15,%ymm13,%ymm10
44939  .byte  196,65,61,235,210                   // vpor          %ymm10,%ymm8,%ymm10
44940  .byte  196,65,13,235,193                   // vpor          %ymm9,%ymm14,%ymm8
44941  .byte  196,65,37,235,192                   // vpor          %ymm8,%ymm11,%ymm8
44942  .byte  77,133,192                          // test          %r8,%r8
44943  .byte  117,77                              // jne           17ba <_sk_srcover_rgba_8888_hsw_lowp+0x226>
44944  .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
44945  .byte  196,65,126,127,84,147,32            // vmovdqu       %ymm10,0x20(%r11,%rdx,4)
44946  .byte  72,173                              // lods          %ds:(%rsi),%rax
44947  .byte  255,224                             // jmpq          *%rax
44948  .byte  69,137,193                          // mov           %r8d,%r9d
44949  .byte  65,128,225,15                       // and           $0xf,%r9b
44950  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
44951  .byte  196,65,61,239,192                   // vpxor         %ymm8,%ymm8,%ymm8
44952  .byte  65,254,201                          // dec           %r9b
44953  .byte  65,128,249,14                       // cmp           $0xe,%r9b
44954  .byte  15,135,20,254,255,255               // ja            15af <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
44955  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
44956  .byte  76,141,21,238,1,0,0                 // lea           0x1ee(%rip),%r10        # 1994 <_sk_srcover_rgba_8888_hsw_lowp+0x400>
44957  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
44958  .byte  76,1,208                            // add           %r10,%rax
44959  .byte  255,224                             // jmpq          *%rax
44960  .byte  196,65,121,110,4,147                // vmovd         (%r11,%rdx,4),%xmm8
44961  .byte  233,245,253,255,255                 // jmpq          15af <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
44962  .byte  69,137,193                          // mov           %r8d,%r9d
44963  .byte  65,128,225,15                       // and           $0xf,%r9b
44964  .byte  65,254,201                          // dec           %r9b
44965  .byte  65,128,249,14                       // cmp           $0xe,%r9b
44966  .byte  119,176                             // ja            177a <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
44967  .byte  65,15,182,193                       // movzbl        %r9b,%eax
44968  .byte  76,141,13,251,1,0,0                 // lea           0x1fb(%rip),%r9        # 19d0 <_sk_srcover_rgba_8888_hsw_lowp+0x43c>
44969  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
44970  .byte  76,1,200                            // add           %r9,%rax
44971  .byte  255,224                             // jmpq          *%rax
44972  .byte  196,65,121,126,4,147                // vmovd         %xmm8,(%r11,%rdx,4)
44973  .byte  235,148                             // jmp           177a <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
44974  .byte  196,193,121,110,100,147,8           // vmovd         0x8(%r11,%rdx,4),%xmm4
44975  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
44976  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
44977  .byte  196,99,69,2,196,4                   // vpblendd      $0x4,%ymm4,%ymm7,%ymm8
44978  .byte  196,194,121,53,36,147               // vpmovzxdq     (%r11,%rdx,4),%xmm4
44979  .byte  197,249,112,228,232                 // vpshufd       $0xe8,%xmm4,%xmm4
44980  .byte  196,99,61,2,196,3                   // vpblendd      $0x3,%ymm4,%ymm8,%ymm8
44981  .byte  233,157,253,255,255                 // jmpq          15af <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
44982  .byte  196,193,121,110,100,147,24          // vmovd         0x18(%r11,%rdx,4),%xmm4
44983  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
44984  .byte  197,197,239,255                     // vpxor         %ymm7,%ymm7,%ymm7
44985  .byte  196,99,69,2,196,64                  // vpblendd      $0x40,%ymm4,%ymm7,%ymm8
44986  .byte  196,99,125,57,196,1                 // vextracti128  $0x1,%ymm8,%xmm4
44987  .byte  196,195,89,34,100,147,20,1          // vpinsrd       $0x1,0x14(%r11,%rdx,4),%xmm4,%xmm4
44988  .byte  196,99,61,56,196,1                  // vinserti128   $0x1,%xmm4,%ymm8,%ymm8
44989  .byte  196,99,125,57,196,1                 // vextracti128  $0x1,%ymm8,%xmm4
44990  .byte  196,195,89,34,100,147,16,0          // vpinsrd       $0x0,0x10(%r11,%rdx,4),%xmm4,%xmm4
44991  .byte  196,99,61,56,196,1                  // vinserti128   $0x1,%xmm4,%ymm8,%ymm8
44992  .byte  196,193,122,111,36,147              // vmovdqu       (%r11,%rdx,4),%xmm4
44993  .byte  196,67,93,2,192,240                 // vpblendd      $0xf0,%ymm8,%ymm4,%ymm8
44994  .byte  233,78,253,255,255                  // jmpq          15af <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
44995  .byte  196,193,121,110,100,147,40          // vmovd         0x28(%r11,%rdx,4),%xmm4
44996  .byte  196,226,121,89,228                  // vpbroadcastq  %xmm4,%xmm4
44997  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
44998  .byte  196,227,85,2,252,4                  // vpblendd      $0x4,%ymm4,%ymm5,%ymm7
44999  .byte  196,195,65,34,100,147,36,1          // vpinsrd       $0x1,0x24(%r11,%rdx,4),%xmm7,%xmm4
45000  .byte  196,227,69,2,252,15                 // vpblendd      $0xf,%ymm4,%ymm7,%ymm7
45001  .byte  196,193,121,110,100,147,32          // vmovd         0x20(%r11,%rdx,4),%xmm4
45002  .byte  196,227,69,2,252,1                  // vpblendd      $0x1,%ymm4,%ymm7,%ymm7
45003  .byte  233,18,253,255,255                  // jmpq          15a9 <_sk_srcover_rgba_8888_hsw_lowp+0x15>
45004  .byte  196,193,121,110,100,147,56          // vmovd         0x38(%r11,%rdx,4),%xmm4
45005  .byte  196,226,125,89,228                  // vpbroadcastq  %xmm4,%ymm4
45006  .byte  197,213,239,237                     // vpxor         %ymm5,%ymm5,%ymm5
45007  .byte  196,227,85,2,252,64                 // vpblendd      $0x40,%ymm4,%ymm5,%ymm7
45008  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
45009  .byte  196,195,89,34,100,147,52,1          // vpinsrd       $0x1,0x34(%r11,%rdx,4),%xmm4,%xmm4
45010  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
45011  .byte  196,227,125,57,252,1                // vextracti128  $0x1,%ymm7,%xmm4
45012  .byte  196,195,89,34,100,147,48,0          // vpinsrd       $0x0,0x30(%r11,%rdx,4),%xmm4,%xmm4
45013  .byte  196,227,69,56,252,1                 // vinserti128   $0x1,%xmm4,%ymm7,%ymm7
45014  .byte  196,65,126,111,4,147                // vmovdqu       (%r11,%rdx,4),%ymm8
45015  .byte  196,193,122,111,100,147,32          // vmovdqu       0x20(%r11,%rdx,4),%xmm4
45016  .byte  196,227,93,2,255,240                // vpblendd      $0xf0,%ymm7,%ymm4,%ymm7
45017  .byte  233,194,252,255,255                 // jmpq          15af <_sk_srcover_rgba_8888_hsw_lowp+0x1b>
45018  .byte  196,67,121,22,68,147,8,2            // vpextrd       $0x2,%xmm8,0x8(%r11,%rdx,4)
45019  .byte  196,65,121,214,4,147                // vmovq         %xmm8,(%r11,%rdx,4)
45020  .byte  233,122,254,255,255                 // jmpq          177a <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
45021  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
45022  .byte  196,67,121,22,76,147,24,2           // vpextrd       $0x2,%xmm9,0x18(%r11,%rdx,4)
45023  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
45024  .byte  196,67,121,22,76,147,20,1           // vpextrd       $0x1,%xmm9,0x14(%r11,%rdx,4)
45025  .byte  196,67,125,57,193,1                 // vextracti128  $0x1,%ymm8,%xmm9
45026  .byte  196,65,121,126,76,147,16            // vmovd         %xmm9,0x10(%r11,%rdx,4)
45027  .byte  196,65,122,127,4,147                // vmovdqu       %xmm8,(%r11,%rdx,4)
45028  .byte  233,70,254,255,255                  // jmpq          177a <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
45029  .byte  196,67,121,22,84,147,40,2           // vpextrd       $0x2,%xmm10,0x28(%r11,%rdx,4)
45030  .byte  196,67,121,22,84,147,36,1           // vpextrd       $0x1,%xmm10,0x24(%r11,%rdx,4)
45031  .byte  196,65,121,126,84,147,32            // vmovd         %xmm10,0x20(%r11,%rdx,4)
45032  .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
45033  .byte  233,36,254,255,255                  // jmpq          177a <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
45034  .byte  196,67,125,57,209,1                 // vextracti128  $0x1,%ymm10,%xmm9
45035  .byte  196,67,121,22,76,147,56,2           // vpextrd       $0x2,%xmm9,0x38(%r11,%rdx,4)
45036  .byte  196,67,125,57,209,1                 // vextracti128  $0x1,%ymm10,%xmm9
45037  .byte  196,67,121,22,76,147,52,1           // vpextrd       $0x1,%xmm9,0x34(%r11,%rdx,4)
45038  .byte  196,67,125,57,209,1                 // vextracti128  $0x1,%ymm10,%xmm9
45039  .byte  196,65,121,126,76,147,48            // vmovd         %xmm9,0x30(%r11,%rdx,4)
45040  .byte  196,65,126,127,4,147                // vmovdqu       %ymm8,(%r11,%rdx,4)
45041  .byte  196,65,122,127,84,147,32            // vmovdqu       %xmm10,0x20(%r11,%rdx,4)
45042  .byte  233,233,253,255,255                 // jmpq          177a <_sk_srcover_rgba_8888_hsw_lowp+0x1e6>
45043  .byte  15,31,0                             // nopl          (%rax)
45044  .byte  27,254                              // sbb           %esi,%edi
45045  .byte  255                                 // (bad)
45046  .byte  255,104,254                         // ljmp          *-0x2(%rax)
45047  .byte  255                                 // (bad)
45048  .byte  255,82,254                          // callq         *-0x2(%rdx)
45049  .byte  255                                 // (bad)
45050  .byte  255                                 // (bad)
45051  .byte  188,254,255,255,168                 // mov           $0xa8fffffe,%esp
45052  .byte  254                                 // (bad)
45053  .byte  255                                 // (bad)
45054  .byte  255,148,254,255,255,126,254         // callq         *-0x1810001(%rsi,%rdi,8)
45055  .byte  255                                 // (bad)
45056  .byte  255,21,252,255,255,241              // callq         *-0xe000004(%rip)        # fffffffff20019b1 <_sk_xor__hsw_lowp+0xfffffffff1fff7cd>
45057  .byte  254                                 // (bad)
45058  .byte  255                                 // (bad)
45059  .byte  255,227                             // jmpq          *%rbx
45060  .byte  254                                 // (bad)
45061  .byte  255                                 // (bad)
45062  .byte  255,205                             // dec           %ebp
45063  .byte  254                                 // (bad)
45064  .byte  255                                 // (bad)
45065  .byte  255,65,255                          // incl          -0x1(%rcx)
45066  .byte  255                                 // (bad)
45067  .byte  255,45,255,255,255,25               // ljmp          *0x19ffffff(%rip)        # 1a0019c8 <_sk_xor__hsw_lowp+0x19fff7e4>
45068  .byte  255                                 // (bad)
45069  .byte  255                                 // (bad)
45070  .byte  255,3                               // incl          (%rbx)
45071  .byte  255                                 // (bad)
45072  .byte  255                                 // (bad)
45073  .byte  255,14                              // decl          (%rsi)
45074  .byte  254                                 // (bad)
45075  .byte  255                                 // (bad)
45076  .byte  255,37,255,255,255,29               // jmpq          *0x1dffffff(%rip)        # 1e0019d8 <_sk_xor__hsw_lowp+0x1dfff7f4>
45077  .byte  255                                 // (bad)
45078  .byte  255                                 // (bad)
45079  .byte  255,89,255                          // lcall         *-0x1(%rcx)
45080  .byte  255                                 // (bad)
45081  .byte  255,76,255,255                      // decl          -0x1(%rdi,%rdi,8)
45082  .byte  255                                 // (bad)
45083  .byte  62,255                              // ds            (bad)
45084  .byte  255                                 // (bad)
45085  .byte  255,48                              // pushq         (%rax)
45086  .byte  255                                 // (bad)
45087  .byte  255                                 // (bad)
45088  .byte  255                                 // (bad)
45089  .byte  123,255                             // jnp           19ed <_sk_srcover_rgba_8888_hsw_lowp+0x459>
45090  .byte  255                                 // (bad)
45091  .byte  255,116,255,255                     // pushq         -0x1(%rdi,%rdi,8)
45092  .byte  255,108,255,255                     // ljmp          *-0x1(%rdi,%rdi,8)
45093  .byte  255,100,255,255                     // jmpq          *-0x1(%rdi,%rdi,8)
45094  .byte  255,175,255,255,255,162             // ljmp          *-0x5d000001(%rdi)
45095  .byte  255                                 // (bad)
45096  .byte  255                                 // (bad)
45097  .byte  255,148,255,255,255,134,255         // callq         *-0x790001(%rdi,%rdi,8)
45098  .byte  255                                 // (bad)
45099  .byte  255                                 // .byte         0xff
45100
45101HIDDEN _sk_scale_1_float_hsw_lowp
45102.globl _sk_scale_1_float_hsw_lowp
45103FUNCTION(_sk_scale_1_float_hsw_lowp)
45104_sk_scale_1_float_hsw_lowp:
45105  .byte  72,173                              // lods          %ds:(%rsi),%rax
45106  .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
45107  .byte  197,58,88,5,74,8,0,0                // vaddss        0x84a(%rip),%xmm8,%xmm8        # 2264 <_sk_xor__hsw_lowp+0x80>
45108  .byte  197,121,126,192                     // vmovd         %xmm8,%eax
45109  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
45110  .byte  196,66,125,121,192                  // vpbroadcastw  %xmm8,%ymm8
45111  .byte  196,194,125,11,192                  // vpmulhrsw     %ymm8,%ymm0,%ymm0
45112  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45113  .byte  196,194,117,11,200                  // vpmulhrsw     %ymm8,%ymm1,%ymm1
45114  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45115  .byte  196,194,109,11,208                  // vpmulhrsw     %ymm8,%ymm2,%ymm2
45116  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45117  .byte  196,194,101,11,216                  // vpmulhrsw     %ymm8,%ymm3,%ymm3
45118  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45119  .byte  72,173                              // lods          %ds:(%rsi),%rax
45120  .byte  255,224                             // jmpq          *%rax
45121
45122HIDDEN _sk_scale_u8_hsw_lowp
45123.globl _sk_scale_u8_hsw_lowp
45124FUNCTION(_sk_scale_u8_hsw_lowp)
45125_sk_scale_u8_hsw_lowp:
45126  .byte  72,173                              // lods          %ds:(%rsi),%rax
45127  .byte  76,139,24                           // mov           (%rax),%r11
45128  .byte  77,133,192                          // test          %r8,%r8
45129  .byte  117,75                              // jne           1aa8 <_sk_scale_u8_hsw_lowp+0x55>
45130  .byte  196,65,122,111,4,19                 // vmovdqu       (%r11,%rdx,1),%xmm8
45131  .byte  196,66,125,48,192                   // vpmovzxbw     %xmm8,%ymm8
45132  .byte  196,193,61,113,240,8                // vpsllw        $0x8,%ymm8,%ymm8
45133  .byte  196,98,125,121,13,139,11,0,0        // vpbroadcastw  0xb8b(%rip),%ymm9        # 2602 <_sk_xor__hsw_lowp+0x41e>
45134  .byte  196,65,61,228,193                   // vpmulhuw      %ymm9,%ymm8,%ymm8
45135  .byte  196,194,125,11,192                  // vpmulhrsw     %ymm8,%ymm0,%ymm0
45136  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45137  .byte  196,194,117,11,200                  // vpmulhrsw     %ymm8,%ymm1,%ymm1
45138  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45139  .byte  196,194,109,11,208                  // vpmulhrsw     %ymm8,%ymm2,%ymm2
45140  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45141  .byte  196,194,101,11,216                  // vpmulhrsw     %ymm8,%ymm3,%ymm3
45142  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45143  .byte  72,173                              // lods          %ds:(%rsi),%rax
45144  .byte  255,224                             // jmpq          *%rax
45145  .byte  69,137,193                          // mov           %r8d,%r9d
45146  .byte  65,128,225,15                       // and           $0xf,%r9b
45147  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
45148  .byte  65,254,201                          // dec           %r9b
45149  .byte  65,128,249,14                       // cmp           $0xe,%r9b
45150  .byte  119,166                             // ja            1a63 <_sk_scale_u8_hsw_lowp+0x10>
45151  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
45152  .byte  76,141,21,200,0,0,0                 // lea           0xc8(%rip),%r10        # 1b90 <_sk_scale_u8_hsw_lowp+0x13d>
45153  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
45154  .byte  76,1,208                            // add           %r10,%rax
45155  .byte  255,224                             // jmpq          *%rax
45156  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
45157  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
45158  .byte  235,135                             // jmp           1a63 <_sk_scale_u8_hsw_lowp+0x10>
45159  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
45160  .byte  196,67,57,32,68,19,2,2              // vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm8,%xmm8
45161  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
45162  .byte  197,121,110,200                     // vmovd         %eax,%xmm9
45163  .byte  196,67,57,14,193,1                  // vpblendw      $0x1,%xmm9,%xmm8,%xmm8
45164  .byte  233,102,255,255,255                 // jmpq          1a63 <_sk_scale_u8_hsw_lowp+0x10>
45165  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
45166  .byte  196,67,57,32,68,19,6,6              // vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm8,%xmm8
45167  .byte  196,67,57,32,68,19,5,5              // vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm8,%xmm8
45168  .byte  196,67,57,32,68,19,4,4              // vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm8,%xmm8
45169  .byte  196,65,121,110,12,19                // vmovd         (%r11,%rdx,1),%xmm9
45170  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
45171  .byte  233,56,255,255,255                  // jmpq          1a63 <_sk_scale_u8_hsw_lowp+0x10>
45172  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
45173  .byte  196,67,57,32,68,19,10,10            // vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm8,%xmm8
45174  .byte  196,67,57,32,68,19,9,9              // vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm8,%xmm8
45175  .byte  196,67,57,32,68,19,8,8              // vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm8,%xmm8
45176  .byte  196,65,122,126,12,19                // vmovq         (%r11,%rdx,1),%xmm9
45177  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
45178  .byte  233,10,255,255,255                  // jmpq          1a63 <_sk_scale_u8_hsw_lowp+0x10>
45179  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
45180  .byte  196,67,57,32,68,19,14,14            // vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm8,%xmm8
45181  .byte  196,67,57,32,68,19,13,13            // vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm8,%xmm8
45182  .byte  196,67,57,32,68,19,12,12            // vpinsrb       $0xc,0xc(%r11,%rdx,1),%xmm8,%xmm8
45183  .byte  196,65,122,126,12,19                // vmovq         (%r11,%rdx,1),%xmm9
45184  .byte  196,67,49,34,76,19,8,2              // vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm9,%xmm9
45185  .byte  196,67,49,2,192,8                   // vpblendd      $0x8,%xmm8,%xmm9,%xmm8
45186  .byte  233,212,254,255,255                 // jmpq          1a63 <_sk_scale_u8_hsw_lowp+0x10>
45187  .byte  144                                 // nop
45188  .byte  65,255                              // rex.B         (bad)
45189  .byte  255                                 // (bad)
45190  .byte  255,89,255                          // lcall         *-0x1(%rcx)
45191  .byte  255                                 // (bad)
45192  .byte  255,76,255,255                      // decl          -0x1(%rdi,%rdi,8)
45193  .byte  255,138,255,255,255,130             // decl          -0x7d000001(%rdx)
45194  .byte  255                                 // (bad)
45195  .byte  255                                 // (bad)
45196  .byte  255                                 // (bad)
45197  .byte  122,255                             // jp            1ba5 <_sk_scale_u8_hsw_lowp+0x152>
45198  .byte  255                                 // (bad)
45199  .byte  255,109,255                         // ljmp          *-0x1(%rbp)
45200  .byte  255                                 // (bad)
45201  .byte  255                                 // (bad)
45202  .byte  184,255,255,255,176                 // mov           $0xb0ffffff,%eax
45203  .byte  255                                 // (bad)
45204  .byte  255                                 // (bad)
45205  .byte  255,168,255,255,255,155             // ljmp          *-0x64000001(%rax)
45206  .byte  255                                 // (bad)
45207  .byte  255                                 // (bad)
45208  .byte  255,230                             // jmpq          *%rsi
45209  .byte  255                                 // (bad)
45210  .byte  255                                 // (bad)
45211  .byte  255                                 // (bad)
45212  .byte  222,255                             // fdivrp        %st,%st(7)
45213  .byte  255                                 // (bad)
45214  .byte  255,214                             // callq         *%rsi
45215  .byte  255                                 // (bad)
45216  .byte  255                                 // (bad)
45217  .byte  255,201                             // dec           %ecx
45218  .byte  255                                 // (bad)
45219  .byte  255                                 // (bad)
45220  .byte  255                                 // .byte         0xff
45221
45222HIDDEN _sk_lerp_1_float_hsw_lowp
45223.globl _sk_lerp_1_float_hsw_lowp
45224FUNCTION(_sk_lerp_1_float_hsw_lowp)
45225_sk_lerp_1_float_hsw_lowp:
45226  .byte  72,173                              // lods          %ds:(%rsi),%rax
45227  .byte  197,122,16,0                        // vmovss        (%rax),%xmm8
45228  .byte  197,58,88,5,142,6,0,0               // vaddss        0x68e(%rip),%xmm8,%xmm8        # 2268 <_sk_xor__hsw_lowp+0x84>
45229  .byte  197,121,126,192                     // vmovd         %xmm8,%eax
45230  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
45231  .byte  196,66,125,121,192                  // vpbroadcastw  %xmm8,%ymm8
45232  .byte  196,194,125,11,192                  // vpmulhrsw     %ymm8,%ymm0,%ymm0
45233  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45234  .byte  196,98,125,121,13,10,10,0,0         // vpbroadcastw  0xa0a(%rip),%ymm9        # 2604 <_sk_xor__hsw_lowp+0x420>
45235  .byte  196,65,53,249,200                   // vpsubw        %ymm8,%ymm9,%ymm9
45236  .byte  196,66,93,11,209                    // vpmulhrsw     %ymm9,%ymm4,%ymm10
45237  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
45238  .byte  197,173,253,192                     // vpaddw        %ymm0,%ymm10,%ymm0
45239  .byte  196,194,117,11,200                  // vpmulhrsw     %ymm8,%ymm1,%ymm1
45240  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45241  .byte  196,66,85,11,209                    // vpmulhrsw     %ymm9,%ymm5,%ymm10
45242  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
45243  .byte  197,173,253,201                     // vpaddw        %ymm1,%ymm10,%ymm1
45244  .byte  196,194,109,11,208                  // vpmulhrsw     %ymm8,%ymm2,%ymm2
45245  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45246  .byte  196,66,77,11,209                    // vpmulhrsw     %ymm9,%ymm6,%ymm10
45247  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
45248  .byte  197,173,253,210                     // vpaddw        %ymm2,%ymm10,%ymm2
45249  .byte  196,194,101,11,216                  // vpmulhrsw     %ymm8,%ymm3,%ymm3
45250  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45251  .byte  196,66,69,11,193                    // vpmulhrsw     %ymm9,%ymm7,%ymm8
45252  .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
45253  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
45254  .byte  72,173                              // lods          %ds:(%rsi),%rax
45255  .byte  255,224                             // jmpq          *%rax
45256
45257HIDDEN _sk_lerp_u8_hsw_lowp
45258.globl _sk_lerp_u8_hsw_lowp
45259FUNCTION(_sk_lerp_u8_hsw_lowp)
45260_sk_lerp_u8_hsw_lowp:
45261  .byte  72,173                              // lods          %ds:(%rsi),%rax
45262  .byte  76,139,24                           // mov           (%rax),%r11
45263  .byte  77,133,192                          // test          %r8,%r8
45264  .byte  15,133,145,0,0,0                    // jne           1cf8 <_sk_lerp_u8_hsw_lowp+0x9f>
45265  .byte  196,65,122,111,4,19                 // vmovdqu       (%r11,%rdx,1),%xmm8
45266  .byte  196,66,125,48,192                   // vpmovzxbw     %xmm8,%ymm8
45267  .byte  196,193,61,113,240,8                // vpsllw        $0x8,%ymm8,%ymm8
45268  .byte  196,98,125,121,13,133,9,0,0         // vpbroadcastw  0x985(%rip),%ymm9        # 2606 <_sk_xor__hsw_lowp+0x422>
45269  .byte  196,65,61,228,193                   // vpmulhuw      %ymm9,%ymm8,%ymm8
45270  .byte  196,194,125,11,192                  // vpmulhrsw     %ymm8,%ymm0,%ymm0
45271  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45272  .byte  196,98,125,121,13,111,9,0,0         // vpbroadcastw  0x96f(%rip),%ymm9        # 2608 <_sk_xor__hsw_lowp+0x424>
45273  .byte  196,65,53,249,200                   // vpsubw        %ymm8,%ymm9,%ymm9
45274  .byte  196,66,93,11,209                    // vpmulhrsw     %ymm9,%ymm4,%ymm10
45275  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
45276  .byte  197,173,253,192                     // vpaddw        %ymm0,%ymm10,%ymm0
45277  .byte  196,194,117,11,200                  // vpmulhrsw     %ymm8,%ymm1,%ymm1
45278  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45279  .byte  196,66,85,11,209                    // vpmulhrsw     %ymm9,%ymm5,%ymm10
45280  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
45281  .byte  197,173,253,201                     // vpaddw        %ymm1,%ymm10,%ymm1
45282  .byte  196,194,109,11,208                  // vpmulhrsw     %ymm8,%ymm2,%ymm2
45283  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45284  .byte  196,66,77,11,209                    // vpmulhrsw     %ymm9,%ymm6,%ymm10
45285  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
45286  .byte  197,173,253,210                     // vpaddw        %ymm2,%ymm10,%ymm2
45287  .byte  196,194,101,11,216                  // vpmulhrsw     %ymm8,%ymm3,%ymm3
45288  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45289  .byte  196,66,69,11,193                    // vpmulhrsw     %ymm9,%ymm7,%ymm8
45290  .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
45291  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
45292  .byte  72,173                              // lods          %ds:(%rsi),%rax
45293  .byte  255,224                             // jmpq          *%rax
45294  .byte  69,137,193                          // mov           %r8d,%r9d
45295  .byte  65,128,225,15                       // and           $0xf,%r9b
45296  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
45297  .byte  65,254,201                          // dec           %r9b
45298  .byte  65,128,249,14                       // cmp           $0xe,%r9b
45299  .byte  15,135,92,255,255,255               // ja            1c6d <_sk_lerp_u8_hsw_lowp+0x14>
45300  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
45301  .byte  76,141,21,204,0,0,0                 // lea           0xcc(%rip),%r10        # 1de8 <_sk_lerp_u8_hsw_lowp+0x18f>
45302  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
45303  .byte  76,1,208                            // add           %r10,%rax
45304  .byte  255,224                             // jmpq          *%rax
45305  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
45306  .byte  197,121,110,192                     // vmovd         %eax,%xmm8
45307  .byte  233,58,255,255,255                  // jmpq          1c6d <_sk_lerp_u8_hsw_lowp+0x14>
45308  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
45309  .byte  196,67,57,32,68,19,2,2              // vpinsrb       $0x2,0x2(%r11,%rdx,1),%xmm8,%xmm8
45310  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
45311  .byte  197,121,110,200                     // vmovd         %eax,%xmm9
45312  .byte  196,67,57,14,193,1                  // vpblendw      $0x1,%xmm9,%xmm8,%xmm8
45313  .byte  233,25,255,255,255                  // jmpq          1c6d <_sk_lerp_u8_hsw_lowp+0x14>
45314  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
45315  .byte  196,67,57,32,68,19,6,6              // vpinsrb       $0x6,0x6(%r11,%rdx,1),%xmm8,%xmm8
45316  .byte  196,67,57,32,68,19,5,5              // vpinsrb       $0x5,0x5(%r11,%rdx,1),%xmm8,%xmm8
45317  .byte  196,67,57,32,68,19,4,4              // vpinsrb       $0x4,0x4(%r11,%rdx,1),%xmm8,%xmm8
45318  .byte  196,65,121,110,12,19                // vmovd         (%r11,%rdx,1),%xmm9
45319  .byte  196,67,57,2,193,1                   // vpblendd      $0x1,%xmm9,%xmm8,%xmm8
45320  .byte  233,235,254,255,255                 // jmpq          1c6d <_sk_lerp_u8_hsw_lowp+0x14>
45321  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
45322  .byte  196,67,57,32,68,19,10,10            // vpinsrb       $0xa,0xa(%r11,%rdx,1),%xmm8,%xmm8
45323  .byte  196,67,57,32,68,19,9,9              // vpinsrb       $0x9,0x9(%r11,%rdx,1),%xmm8,%xmm8
45324  .byte  196,67,57,32,68,19,8,8              // vpinsrb       $0x8,0x8(%r11,%rdx,1),%xmm8,%xmm8
45325  .byte  196,65,122,126,12,19                // vmovq         (%r11,%rdx,1),%xmm9
45326  .byte  196,67,49,2,192,12                  // vpblendd      $0xc,%xmm8,%xmm9,%xmm8
45327  .byte  233,189,254,255,255                 // jmpq          1c6d <_sk_lerp_u8_hsw_lowp+0x14>
45328  .byte  196,65,57,239,192                   // vpxor         %xmm8,%xmm8,%xmm8
45329  .byte  196,67,57,32,68,19,14,14            // vpinsrb       $0xe,0xe(%r11,%rdx,1),%xmm8,%xmm8
45330  .byte  196,67,57,32,68,19,13,13            // vpinsrb       $0xd,0xd(%r11,%rdx,1),%xmm8,%xmm8
45331  .byte  196,67,57,32,68,19,12,12            // vpinsrb       $0xc,0xc(%r11,%rdx,1),%xmm8,%xmm8
45332  .byte  196,65,122,126,12,19                // vmovq         (%r11,%rdx,1),%xmm9
45333  .byte  196,67,49,34,76,19,8,2              // vpinsrd       $0x2,0x8(%r11,%rdx,1),%xmm9,%xmm9
45334  .byte  196,67,49,2,192,8                   // vpblendd      $0x8,%xmm8,%xmm9,%xmm8
45335  .byte  233,135,254,255,255                 // jmpq          1c6d <_sk_lerp_u8_hsw_lowp+0x14>
45336  .byte  102,144                             // xchg          %ax,%ax
45337  .byte  61,255,255,255,88                   // cmp           $0x58ffffff,%eax
45338  .byte  255                                 // (bad)
45339  .byte  255                                 // (bad)
45340  .byte  255,75,255                          // decl          -0x1(%rbx)
45341  .byte  255                                 // (bad)
45342  .byte  255,137,255,255,255,129             // decl          -0x7e000001(%rcx)
45343  .byte  255                                 // (bad)
45344  .byte  255                                 // (bad)
45345  .byte  255                                 // (bad)
45346  .byte  121,255                             // jns           1dfd <_sk_lerp_u8_hsw_lowp+0x1a4>
45347  .byte  255                                 // (bad)
45348  .byte  255,108,255,255                     // ljmp          *-0x1(%rdi,%rdi,8)
45349  .byte  255,183,255,255,255,175             // pushq         -0x50000001(%rdi)
45350  .byte  255                                 // (bad)
45351  .byte  255                                 // (bad)
45352  .byte  255,167,255,255,255,154             // jmpq          *-0x65000001(%rdi)
45353  .byte  255                                 // (bad)
45354  .byte  255                                 // (bad)
45355  .byte  255,229                             // jmpq          *%rbp
45356  .byte  255                                 // (bad)
45357  .byte  255                                 // (bad)
45358  .byte  255                                 // (bad)
45359  .byte  221,255                             // (bad)
45360  .byte  255                                 // (bad)
45361  .byte  255,213                             // callq         *%rbp
45362  .byte  255                                 // (bad)
45363  .byte  255                                 // (bad)
45364  .byte  255,200                             // dec           %eax
45365  .byte  255                                 // (bad)
45366  .byte  255                                 // (bad)
45367  .byte  255                                 // .byte         0xff
45368
45369HIDDEN _sk_swap_rb_hsw_lowp
45370.globl _sk_swap_rb_hsw_lowp
45371FUNCTION(_sk_swap_rb_hsw_lowp)
45372_sk_swap_rb_hsw_lowp:
45373  .byte  197,124,40,192                      // vmovaps       %ymm0,%ymm8
45374  .byte  72,173                              // lods          %ds:(%rsi),%rax
45375  .byte  197,252,40,194                      // vmovaps       %ymm2,%ymm0
45376  .byte  197,124,41,194                      // vmovaps       %ymm8,%ymm2
45377  .byte  255,224                             // jmpq          *%rax
45378
45379HIDDEN _sk_move_src_dst_hsw_lowp
45380.globl _sk_move_src_dst_hsw_lowp
45381FUNCTION(_sk_move_src_dst_hsw_lowp)
45382_sk_move_src_dst_hsw_lowp:
45383  .byte  72,173                              // lods          %ds:(%rsi),%rax
45384  .byte  197,252,40,224                      // vmovaps       %ymm0,%ymm4
45385  .byte  197,252,40,233                      // vmovaps       %ymm1,%ymm5
45386  .byte  197,252,40,242                      // vmovaps       %ymm2,%ymm6
45387  .byte  197,252,40,251                      // vmovaps       %ymm3,%ymm7
45388  .byte  255,224                             // jmpq          *%rax
45389
45390HIDDEN _sk_move_dst_src_hsw_lowp
45391.globl _sk_move_dst_src_hsw_lowp
45392FUNCTION(_sk_move_dst_src_hsw_lowp)
45393_sk_move_dst_src_hsw_lowp:
45394  .byte  72,173                              // lods          %ds:(%rsi),%rax
45395  .byte  197,252,40,196                      // vmovaps       %ymm4,%ymm0
45396  .byte  197,252,40,205                      // vmovaps       %ymm5,%ymm1
45397  .byte  197,252,40,214                      // vmovaps       %ymm6,%ymm2
45398  .byte  197,252,40,223                      // vmovaps       %ymm7,%ymm3
45399  .byte  255,224                             // jmpq          *%rax
45400
45401HIDDEN _sk_clear_hsw_lowp
45402.globl _sk_clear_hsw_lowp
45403FUNCTION(_sk_clear_hsw_lowp)
45404_sk_clear_hsw_lowp:
45405  .byte  72,173                              // lods          %ds:(%rsi),%rax
45406  .byte  197,252,87,192                      // vxorps        %ymm0,%ymm0,%ymm0
45407  .byte  197,244,87,201                      // vxorps        %ymm1,%ymm1,%ymm1
45408  .byte  197,236,87,210                      // vxorps        %ymm2,%ymm2,%ymm2
45409  .byte  197,228,87,219                      // vxorps        %ymm3,%ymm3,%ymm3
45410  .byte  255,224                             // jmpq          *%rax
45411
45412HIDDEN _sk_srcatop_hsw_lowp
45413.globl _sk_srcatop_hsw_lowp
45414FUNCTION(_sk_srcatop_hsw_lowp)
45415_sk_srcatop_hsw_lowp:
45416  .byte  196,226,125,11,199                  // vpmulhrsw     %ymm7,%ymm0,%ymm0
45417  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45418  .byte  196,98,125,121,5,135,7,0,0          // vpbroadcastw  0x787(%rip),%ymm8        # 260a <_sk_xor__hsw_lowp+0x426>
45419  .byte  197,61,249,195                      // vpsubw        %ymm3,%ymm8,%ymm8
45420  .byte  196,66,93,11,200                    // vpmulhrsw     %ymm8,%ymm4,%ymm9
45421  .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
45422  .byte  197,181,253,192                     // vpaddw        %ymm0,%ymm9,%ymm0
45423  .byte  196,226,117,11,207                  // vpmulhrsw     %ymm7,%ymm1,%ymm1
45424  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45425  .byte  196,66,85,11,200                    // vpmulhrsw     %ymm8,%ymm5,%ymm9
45426  .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
45427  .byte  197,181,253,201                     // vpaddw        %ymm1,%ymm9,%ymm1
45428  .byte  196,226,109,11,215                  // vpmulhrsw     %ymm7,%ymm2,%ymm2
45429  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45430  .byte  196,66,77,11,200                    // vpmulhrsw     %ymm8,%ymm6,%ymm9
45431  .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
45432  .byte  197,181,253,210                     // vpaddw        %ymm2,%ymm9,%ymm2
45433  .byte  196,226,101,11,223                  // vpmulhrsw     %ymm7,%ymm3,%ymm3
45434  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45435  .byte  196,66,69,11,192                    // vpmulhrsw     %ymm8,%ymm7,%ymm8
45436  .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
45437  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
45438  .byte  72,173                              // lods          %ds:(%rsi),%rax
45439  .byte  255,224                             // jmpq          *%rax
45440
45441HIDDEN _sk_dstatop_hsw_lowp
45442.globl _sk_dstatop_hsw_lowp
45443FUNCTION(_sk_dstatop_hsw_lowp)
45444_sk_dstatop_hsw_lowp:
45445  .byte  196,98,93,11,195                    // vpmulhrsw     %ymm3,%ymm4,%ymm8
45446  .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
45447  .byte  196,98,125,121,13,24,7,0,0          // vpbroadcastw  0x718(%rip),%ymm9        # 260c <_sk_xor__hsw_lowp+0x428>
45448  .byte  197,53,249,207                      // vpsubw        %ymm7,%ymm9,%ymm9
45449  .byte  196,194,125,11,193                  // vpmulhrsw     %ymm9,%ymm0,%ymm0
45450  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45451  .byte  196,193,125,253,192                 // vpaddw        %ymm8,%ymm0,%ymm0
45452  .byte  196,98,85,11,195                    // vpmulhrsw     %ymm3,%ymm5,%ymm8
45453  .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
45454  .byte  196,194,117,11,201                  // vpmulhrsw     %ymm9,%ymm1,%ymm1
45455  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45456  .byte  196,193,117,253,200                 // vpaddw        %ymm8,%ymm1,%ymm1
45457  .byte  196,98,77,11,195                    // vpmulhrsw     %ymm3,%ymm6,%ymm8
45458  .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
45459  .byte  196,194,109,11,209                  // vpmulhrsw     %ymm9,%ymm2,%ymm2
45460  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45461  .byte  196,193,109,253,208                 // vpaddw        %ymm8,%ymm2,%ymm2
45462  .byte  196,98,69,11,195                    // vpmulhrsw     %ymm3,%ymm7,%ymm8
45463  .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
45464  .byte  196,194,101,11,217                  // vpmulhrsw     %ymm9,%ymm3,%ymm3
45465  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45466  .byte  196,193,101,253,216                 // vpaddw        %ymm8,%ymm3,%ymm3
45467  .byte  72,173                              // lods          %ds:(%rsi),%rax
45468  .byte  255,224                             // jmpq          *%rax
45469
45470HIDDEN _sk_srcin_hsw_lowp
45471.globl _sk_srcin_hsw_lowp
45472FUNCTION(_sk_srcin_hsw_lowp)
45473_sk_srcin_hsw_lowp:
45474  .byte  196,226,125,11,199                  // vpmulhrsw     %ymm7,%ymm0,%ymm0
45475  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45476  .byte  196,226,117,11,207                  // vpmulhrsw     %ymm7,%ymm1,%ymm1
45477  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45478  .byte  196,226,109,11,215                  // vpmulhrsw     %ymm7,%ymm2,%ymm2
45479  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45480  .byte  196,226,101,11,223                  // vpmulhrsw     %ymm7,%ymm3,%ymm3
45481  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45482  .byte  72,173                              // lods          %ds:(%rsi),%rax
45483  .byte  255,224                             // jmpq          *%rax
45484
45485HIDDEN _sk_dstin_hsw_lowp
45486.globl _sk_dstin_hsw_lowp
45487FUNCTION(_sk_dstin_hsw_lowp)
45488_sk_dstin_hsw_lowp:
45489  .byte  196,226,93,11,195                   // vpmulhrsw     %ymm3,%ymm4,%ymm0
45490  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45491  .byte  196,226,85,11,203                   // vpmulhrsw     %ymm3,%ymm5,%ymm1
45492  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45493  .byte  196,226,77,11,211                   // vpmulhrsw     %ymm3,%ymm6,%ymm2
45494  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45495  .byte  196,226,69,11,219                   // vpmulhrsw     %ymm3,%ymm7,%ymm3
45496  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45497  .byte  72,173                              // lods          %ds:(%rsi),%rax
45498  .byte  255,224                             // jmpq          *%rax
45499
45500HIDDEN _sk_srcout_hsw_lowp
45501.globl _sk_srcout_hsw_lowp
45502FUNCTION(_sk_srcout_hsw_lowp)
45503_sk_srcout_hsw_lowp:
45504  .byte  196,98,125,121,5,87,6,0,0           // vpbroadcastw  0x657(%rip),%ymm8        # 260e <_sk_xor__hsw_lowp+0x42a>
45505  .byte  197,61,249,199                      // vpsubw        %ymm7,%ymm8,%ymm8
45506  .byte  196,194,125,11,192                  // vpmulhrsw     %ymm8,%ymm0,%ymm0
45507  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45508  .byte  196,194,117,11,200                  // vpmulhrsw     %ymm8,%ymm1,%ymm1
45509  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45510  .byte  196,194,109,11,208                  // vpmulhrsw     %ymm8,%ymm2,%ymm2
45511  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45512  .byte  196,194,101,11,216                  // vpmulhrsw     %ymm8,%ymm3,%ymm3
45513  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45514  .byte  72,173                              // lods          %ds:(%rsi),%rax
45515  .byte  255,224                             // jmpq          *%rax
45516
45517HIDDEN _sk_dstout_hsw_lowp
45518.globl _sk_dstout_hsw_lowp
45519FUNCTION(_sk_dstout_hsw_lowp)
45520_sk_dstout_hsw_lowp:
45521  .byte  196,226,125,121,5,32,6,0,0          // vpbroadcastw  0x620(%rip),%ymm0        # 2610 <_sk_xor__hsw_lowp+0x42c>
45522  .byte  197,253,249,219                     // vpsubw        %ymm3,%ymm0,%ymm3
45523  .byte  196,226,93,11,195                   // vpmulhrsw     %ymm3,%ymm4,%ymm0
45524  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45525  .byte  196,226,85,11,203                   // vpmulhrsw     %ymm3,%ymm5,%ymm1
45526  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45527  .byte  196,226,77,11,211                   // vpmulhrsw     %ymm3,%ymm6,%ymm2
45528  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45529  .byte  196,226,69,11,219                   // vpmulhrsw     %ymm3,%ymm7,%ymm3
45530  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45531  .byte  72,173                              // lods          %ds:(%rsi),%rax
45532  .byte  255,224                             // jmpq          *%rax
45533
45534HIDDEN _sk_srcover_hsw_lowp
45535.globl _sk_srcover_hsw_lowp
45536FUNCTION(_sk_srcover_hsw_lowp)
45537_sk_srcover_hsw_lowp:
45538  .byte  196,98,125,121,5,233,5,0,0          // vpbroadcastw  0x5e9(%rip),%ymm8        # 2612 <_sk_xor__hsw_lowp+0x42e>
45539  .byte  197,61,249,195                      // vpsubw        %ymm3,%ymm8,%ymm8
45540  .byte  196,66,93,11,200                    // vpmulhrsw     %ymm8,%ymm4,%ymm9
45541  .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
45542  .byte  197,181,253,192                     // vpaddw        %ymm0,%ymm9,%ymm0
45543  .byte  196,66,85,11,200                    // vpmulhrsw     %ymm8,%ymm5,%ymm9
45544  .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
45545  .byte  197,181,253,201                     // vpaddw        %ymm1,%ymm9,%ymm1
45546  .byte  196,66,77,11,200                    // vpmulhrsw     %ymm8,%ymm6,%ymm9
45547  .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
45548  .byte  197,181,253,210                     // vpaddw        %ymm2,%ymm9,%ymm2
45549  .byte  196,66,69,11,192                    // vpmulhrsw     %ymm8,%ymm7,%ymm8
45550  .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
45551  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
45552  .byte  72,173                              // lods          %ds:(%rsi),%rax
45553  .byte  255,224                             // jmpq          *%rax
45554
45555HIDDEN _sk_dstover_hsw_lowp
45556.globl _sk_dstover_hsw_lowp
45557FUNCTION(_sk_dstover_hsw_lowp)
45558_sk_dstover_hsw_lowp:
45559  .byte  196,98,125,121,5,162,5,0,0          // vpbroadcastw  0x5a2(%rip),%ymm8        # 2614 <_sk_xor__hsw_lowp+0x430>
45560  .byte  197,61,249,199                      // vpsubw        %ymm7,%ymm8,%ymm8
45561  .byte  196,194,125,11,192                  // vpmulhrsw     %ymm8,%ymm0,%ymm0
45562  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45563  .byte  197,253,253,196                     // vpaddw        %ymm4,%ymm0,%ymm0
45564  .byte  196,194,117,11,200                  // vpmulhrsw     %ymm8,%ymm1,%ymm1
45565  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45566  .byte  197,245,253,205                     // vpaddw        %ymm5,%ymm1,%ymm1
45567  .byte  196,194,109,11,208                  // vpmulhrsw     %ymm8,%ymm2,%ymm2
45568  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45569  .byte  197,237,253,214                     // vpaddw        %ymm6,%ymm2,%ymm2
45570  .byte  196,194,101,11,216                  // vpmulhrsw     %ymm8,%ymm3,%ymm3
45571  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45572  .byte  197,229,253,223                     // vpaddw        %ymm7,%ymm3,%ymm3
45573  .byte  72,173                              // lods          %ds:(%rsi),%rax
45574  .byte  255,224                             // jmpq          *%rax
45575
45576HIDDEN _sk_modulate_hsw_lowp
45577.globl _sk_modulate_hsw_lowp
45578FUNCTION(_sk_modulate_hsw_lowp)
45579_sk_modulate_hsw_lowp:
45580  .byte  196,226,125,11,196                  // vpmulhrsw     %ymm4,%ymm0,%ymm0
45581  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45582  .byte  196,226,117,11,205                  // vpmulhrsw     %ymm5,%ymm1,%ymm1
45583  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45584  .byte  196,226,109,11,214                  // vpmulhrsw     %ymm6,%ymm2,%ymm2
45585  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45586  .byte  196,226,101,11,223                  // vpmulhrsw     %ymm7,%ymm3,%ymm3
45587  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45588  .byte  72,173                              // lods          %ds:(%rsi),%rax
45589  .byte  255,224                             // jmpq          *%rax
45590
45591HIDDEN _sk_multiply_hsw_lowp
45592.globl _sk_multiply_hsw_lowp
45593FUNCTION(_sk_multiply_hsw_lowp)
45594_sk_multiply_hsw_lowp:
45595  .byte  196,98,125,121,5,47,5,0,0           // vpbroadcastw  0x52f(%rip),%ymm8        # 2616 <_sk_xor__hsw_lowp+0x432>
45596  .byte  197,61,249,207                      // vpsubw        %ymm7,%ymm8,%ymm9
45597  .byte  196,66,125,11,209                   // vpmulhrsw     %ymm9,%ymm0,%ymm10
45598  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
45599  .byte  197,61,249,195                      // vpsubw        %ymm3,%ymm8,%ymm8
45600  .byte  196,66,93,11,216                    // vpmulhrsw     %ymm8,%ymm4,%ymm11
45601  .byte  196,66,125,29,219                   // vpabsw        %ymm11,%ymm11
45602  .byte  196,65,37,253,210                   // vpaddw        %ymm10,%ymm11,%ymm10
45603  .byte  196,226,125,11,196                  // vpmulhrsw     %ymm4,%ymm0,%ymm0
45604  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45605  .byte  197,173,253,192                     // vpaddw        %ymm0,%ymm10,%ymm0
45606  .byte  196,66,117,11,209                   // vpmulhrsw     %ymm9,%ymm1,%ymm10
45607  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
45608  .byte  196,66,85,11,216                    // vpmulhrsw     %ymm8,%ymm5,%ymm11
45609  .byte  196,66,125,29,219                   // vpabsw        %ymm11,%ymm11
45610  .byte  196,65,37,253,210                   // vpaddw        %ymm10,%ymm11,%ymm10
45611  .byte  196,226,117,11,205                  // vpmulhrsw     %ymm5,%ymm1,%ymm1
45612  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45613  .byte  197,173,253,201                     // vpaddw        %ymm1,%ymm10,%ymm1
45614  .byte  196,66,109,11,209                   // vpmulhrsw     %ymm9,%ymm2,%ymm10
45615  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
45616  .byte  196,66,77,11,216                    // vpmulhrsw     %ymm8,%ymm6,%ymm11
45617  .byte  196,66,125,29,219                   // vpabsw        %ymm11,%ymm11
45618  .byte  196,65,37,253,210                   // vpaddw        %ymm10,%ymm11,%ymm10
45619  .byte  196,226,109,11,214                  // vpmulhrsw     %ymm6,%ymm2,%ymm2
45620  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45621  .byte  197,173,253,210                     // vpaddw        %ymm2,%ymm10,%ymm2
45622  .byte  196,66,101,11,201                   // vpmulhrsw     %ymm9,%ymm3,%ymm9
45623  .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
45624  .byte  196,66,69,11,192                    // vpmulhrsw     %ymm8,%ymm7,%ymm8
45625  .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
45626  .byte  196,65,61,253,193                   // vpaddw        %ymm9,%ymm8,%ymm8
45627  .byte  196,226,101,11,223                  // vpmulhrsw     %ymm7,%ymm3,%ymm3
45628  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45629  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
45630  .byte  72,173                              // lods          %ds:(%rsi),%rax
45631  .byte  255,224                             // jmpq          *%rax
45632
45633HIDDEN _sk_screen_hsw_lowp
45634.globl _sk_screen_hsw_lowp
45635FUNCTION(_sk_screen_hsw_lowp)
45636_sk_screen_hsw_lowp:
45637  .byte  196,98,125,121,5,128,4,0,0          // vpbroadcastw  0x480(%rip),%ymm8        # 2618 <_sk_xor__hsw_lowp+0x434>
45638  .byte  197,61,249,200                      // vpsubw        %ymm0,%ymm8,%ymm9
45639  .byte  196,98,53,11,204                    // vpmulhrsw     %ymm4,%ymm9,%ymm9
45640  .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
45641  .byte  197,181,253,192                     // vpaddw        %ymm0,%ymm9,%ymm0
45642  .byte  197,61,249,201                      // vpsubw        %ymm1,%ymm8,%ymm9
45643  .byte  196,98,53,11,205                    // vpmulhrsw     %ymm5,%ymm9,%ymm9
45644  .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
45645  .byte  197,181,253,201                     // vpaddw        %ymm1,%ymm9,%ymm1
45646  .byte  197,61,249,202                      // vpsubw        %ymm2,%ymm8,%ymm9
45647  .byte  196,98,53,11,206                    // vpmulhrsw     %ymm6,%ymm9,%ymm9
45648  .byte  196,66,125,29,201                   // vpabsw        %ymm9,%ymm9
45649  .byte  197,181,253,210                     // vpaddw        %ymm2,%ymm9,%ymm2
45650  .byte  197,61,249,195                      // vpsubw        %ymm3,%ymm8,%ymm8
45651  .byte  196,98,61,11,199                    // vpmulhrsw     %ymm7,%ymm8,%ymm8
45652  .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
45653  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
45654  .byte  72,173                              // lods          %ds:(%rsi),%rax
45655  .byte  255,224                             // jmpq          *%rax
45656
45657HIDDEN _sk_xor__hsw_lowp
45658.globl _sk_xor__hsw_lowp
45659FUNCTION(_sk_xor__hsw_lowp)
45660_sk_xor__hsw_lowp:
45661  .byte  196,98,125,121,5,45,4,0,0           // vpbroadcastw  0x42d(%rip),%ymm8        # 261a <_sk_xor__hsw_lowp+0x436>
45662  .byte  197,61,249,207                      // vpsubw        %ymm7,%ymm8,%ymm9
45663  .byte  196,194,125,11,193                  // vpmulhrsw     %ymm9,%ymm0,%ymm0
45664  .byte  196,226,125,29,192                  // vpabsw        %ymm0,%ymm0
45665  .byte  197,61,249,195                      // vpsubw        %ymm3,%ymm8,%ymm8
45666  .byte  196,66,93,11,208                    // vpmulhrsw     %ymm8,%ymm4,%ymm10
45667  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
45668  .byte  197,173,253,192                     // vpaddw        %ymm0,%ymm10,%ymm0
45669  .byte  196,194,117,11,201                  // vpmulhrsw     %ymm9,%ymm1,%ymm1
45670  .byte  196,226,125,29,201                  // vpabsw        %ymm1,%ymm1
45671  .byte  196,66,85,11,208                    // vpmulhrsw     %ymm8,%ymm5,%ymm10
45672  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
45673  .byte  197,173,253,201                     // vpaddw        %ymm1,%ymm10,%ymm1
45674  .byte  196,194,109,11,209                  // vpmulhrsw     %ymm9,%ymm2,%ymm2
45675  .byte  196,226,125,29,210                  // vpabsw        %ymm2,%ymm2
45676  .byte  196,66,77,11,208                    // vpmulhrsw     %ymm8,%ymm6,%ymm10
45677  .byte  196,66,125,29,210                   // vpabsw        %ymm10,%ymm10
45678  .byte  197,173,253,210                     // vpaddw        %ymm2,%ymm10,%ymm2
45679  .byte  196,194,101,11,217                  // vpmulhrsw     %ymm9,%ymm3,%ymm3
45680  .byte  196,226,125,29,219                  // vpabsw        %ymm3,%ymm3
45681  .byte  196,66,69,11,192                    // vpmulhrsw     %ymm8,%ymm7,%ymm8
45682  .byte  196,66,125,29,192                   // vpabsw        %ymm8,%ymm8
45683  .byte  197,189,253,219                     // vpaddw        %ymm3,%ymm8,%ymm3
45684  .byte  72,173                              // lods          %ds:(%rsi),%rax
45685  .byte  255,224                             // jmpq          *%rax
45686
45687BALIGN4
45688  .byte  0,0                                 // add           %al,(%rax)
45689  .byte  128,67,0,0                          // addb          $0x0,0x0(%rbx)
45690  .byte  128,67,0,0                          // addb          $0x0,0x0(%rbx)
45691  .byte  128,67,0,0                          // addb          $0x0,0x0(%rbx)
45692  .byte  128                                 // .byte         0x80
45693  .byte  67                                  // rex.XB
45694
45695BALIGN32
45696  .byte  0,128,0,128,0,0                     // add           %al,0x8000(%rax)
45697  .byte  0,0                                 // add           %al,(%rax)
45698  .byte  0,0                                 // add           %al,(%rax)
45699  .byte  0,0                                 // add           %al,(%rax)
45700  .byte  0,0                                 // add           %al,(%rax)
45701  .byte  0,0                                 // add           %al,(%rax)
45702  .byte  0,0                                 // add           %al,(%rax)
45703  .byte  0,0                                 // add           %al,(%rax)
45704  .byte  0,0                                 // add           %al,(%rax)
45705  .byte  0,0                                 // add           %al,(%rax)
45706  .byte  0,0                                 // add           %al,(%rax)
45707  .byte  0,0                                 // add           %al,(%rax)
45708  .byte  0,0                                 // add           %al,(%rax)
45709  .byte  0,0                                 // add           %al,(%rax)
45710  .byte  0,1                                 // add           %al,(%rcx)
45711  .byte  4,5                                 // add           $0x5,%al
45712  .byte  8,9                                 // or            %cl,(%rcx)
45713  .byte  12,13                               // or            $0xd,%al
45714  .byte  128,128,128,128,128,128,128         // addb          $0x80,-0x7f7f7f80(%rax)
45715  .byte  128,0,1                             // addb          $0x1,(%rax)
45716  .byte  4,5                                 // add           $0x5,%al
45717  .byte  8,9                                 // or            %cl,(%rcx)
45718  .byte  12,13                               // or            $0xd,%al
45719  .byte  128,128,128,128,128,128,128         // addb          $0x80,-0x7f7f7f80(%rax)
45720  .byte  128,129,128,0,0,0,0                 // addb          $0x0,0x80(%rcx)
45721  .byte  0,0                                 // add           %al,(%rax)
45722  .byte  0,0                                 // add           %al,(%rax)
45723  .byte  0,0                                 // add           %al,(%rax)
45724  .byte  0,0                                 // add           %al,(%rax)
45725  .byte  0,0                                 // add           %al,(%rax)
45726  .byte  0,0                                 // add           %al,(%rax)
45727  .byte  0,0                                 // add           %al,(%rax)
45728  .byte  0,0                                 // add           %al,(%rax)
45729  .byte  0,0                                 // add           %al,(%rax)
45730  .byte  0,0                                 // add           %al,(%rax)
45731  .byte  0,0                                 // add           %al,(%rax)
45732  .byte  0,0                                 // add           %al,(%rax)
45733  .byte  0,0                                 // add           %al,(%rax)
45734  .byte  1,2                                 // add           %eax,(%rdx)
45735  .byte  5,6,9,10,13                         // add           $0xd0a0906,%eax
45736  .byte  14                                  // (bad)
45737  .byte  255                                 // (bad)
45738  .byte  255                                 // (bad)
45739  .byte  255                                 // (bad)
45740  .byte  255                                 // (bad)
45741  .byte  255                                 // (bad)
45742  .byte  255                                 // (bad)
45743  .byte  255                                 // (bad)
45744  .byte  255,17                              // callq         *(%rcx)
45745  .byte  18,21,22,25,26,29                   // adc           0x1d1a1916(%rip),%dl        # 1d1a3c0d <_sk_xor__hsw_lowp+0x1d1a1a29>
45746  .byte  30                                  // (bad)
45747  .byte  255                                 // (bad)
45748  .byte  255                                 // (bad)
45749  .byte  255                                 // (bad)
45750  .byte  255                                 // (bad)
45751  .byte  255                                 // (bad)
45752  .byte  255                                 // (bad)
45753  .byte  255                                 // (bad)
45754  .byte  255,2                               // incl          (%rdx)
45755  .byte  3,6                                 // add           (%rsi),%eax
45756  .byte  7                                   // (bad)
45757  .byte  10,11                               // or            (%rbx),%cl
45758  .byte  14                                  // (bad)
45759  .byte  15,255                              // (bad)
45760  .byte  255                                 // (bad)
45761  .byte  255                                 // (bad)
45762  .byte  255                                 // (bad)
45763  .byte  255                                 // (bad)
45764  .byte  255                                 // (bad)
45765  .byte  255                                 // (bad)
45766  .byte  255,18                              // callq         *(%rdx)
45767  .byte  19,22                               // adc           (%rsi),%edx
45768  .byte  23                                  // (bad)
45769  .byte  26,27                               // sbb           (%rbx),%bl
45770  .byte  30                                  // (bad)
45771  .byte  31                                  // (bad)
45772  .byte  255                                 // (bad)
45773  .byte  255                                 // (bad)
45774  .byte  255                                 // (bad)
45775  .byte  255                                 // (bad)
45776  .byte  255                                 // (bad)
45777  .byte  255                                 // (bad)
45778  .byte  255                                 // (bad)
45779  .byte  255,3                               // incl          (%rbx)
45780  .byte  255,7                               // incl          (%rdi)
45781  .byte  255,11                              // decl          (%rbx)
45782  .byte  255,15                              // decl          (%rdi)
45783  .byte  255                                 // (bad)
45784  .byte  255                                 // (bad)
45785  .byte  255                                 // (bad)
45786  .byte  255                                 // (bad)
45787  .byte  255                                 // (bad)
45788  .byte  255                                 // (bad)
45789  .byte  255                                 // (bad)
45790  .byte  255                                 // (bad)
45791  .byte  255,19                              // callq         *(%rbx)
45792  .byte  255,23                              // callq         *(%rdi)
45793  .byte  255,27                              // lcall         *(%rbx)
45794  .byte  255,31                              // lcall         *(%rdi)
45795  .byte  255                                 // (bad)
45796  .byte  255                                 // (bad)
45797  .byte  255                                 // (bad)
45798  .byte  255                                 // (bad)
45799  .byte  255                                 // (bad)
45800  .byte  255                                 // (bad)
45801  .byte  255                                 // (bad)
45802  .byte  255                                 // (bad)
45803  .byte  255,0                               // incl          (%rax)
45804  .byte  1,4,5,8,9,12,13                     // add           %eax,0xd0c0908(,%rax,1)
45805  .byte  128,128,128,128,128,128,128         // addb          $0x80,-0x7f7f7f80(%rax)
45806  .byte  128,0,1                             // addb          $0x1,(%rax)
45807  .byte  4,5                                 // add           $0x5,%al
45808  .byte  8,9                                 // or            %cl,(%rcx)
45809  .byte  12,13                               // or            $0xd,%al
45810  .byte  128,128,128,128,128,128,128         // addb          $0x80,-0x7f7f7f80(%rax)
45811  .byte  128,129,128,0,0,0,0                 // addb          $0x0,0x80(%rcx)
45812  .byte  0,0                                 // add           %al,(%rax)
45813  .byte  0,0                                 // add           %al,(%rax)
45814  .byte  0,0                                 // add           %al,(%rax)
45815  .byte  0,0                                 // add           %al,(%rax)
45816  .byte  0,0                                 // add           %al,(%rax)
45817  .byte  0,0                                 // add           %al,(%rax)
45818  .byte  0,0                                 // add           %al,(%rax)
45819  .byte  0,0                                 // add           %al,(%rax)
45820  .byte  0,0                                 // add           %al,(%rax)
45821  .byte  0,0                                 // add           %al,(%rax)
45822  .byte  0,0                                 // add           %al,(%rax)
45823  .byte  0,0                                 // add           %al,(%rax)
45824  .byte  0,0                                 // add           %al,(%rax)
45825  .byte  1,2                                 // add           %eax,(%rdx)
45826  .byte  5,6,9,10,13                         // add           $0xd0a0906,%eax
45827  .byte  14                                  // (bad)
45828  .byte  255                                 // (bad)
45829  .byte  255                                 // (bad)
45830  .byte  255                                 // (bad)
45831  .byte  255                                 // (bad)
45832  .byte  255                                 // (bad)
45833  .byte  255                                 // (bad)
45834  .byte  255                                 // (bad)
45835  .byte  255,17                              // callq         *(%rcx)
45836  .byte  18,21,22,25,26,29                   // adc           0x1d1a1916(%rip),%dl        # 1d1a3cad <_sk_xor__hsw_lowp+0x1d1a1ac9>
45837  .byte  30                                  // (bad)
45838  .byte  255                                 // (bad)
45839  .byte  255                                 // (bad)
45840  .byte  255                                 // (bad)
45841  .byte  255                                 // (bad)
45842  .byte  255                                 // (bad)
45843  .byte  255                                 // (bad)
45844  .byte  255                                 // (bad)
45845  .byte  255,2                               // incl          (%rdx)
45846  .byte  3,6                                 // add           (%rsi),%eax
45847  .byte  7                                   // (bad)
45848  .byte  10,11                               // or            (%rbx),%cl
45849  .byte  14                                  // (bad)
45850  .byte  15,255                              // (bad)
45851  .byte  255                                 // (bad)
45852  .byte  255                                 // (bad)
45853  .byte  255                                 // (bad)
45854  .byte  255                                 // (bad)
45855  .byte  255                                 // (bad)
45856  .byte  255                                 // (bad)
45857  .byte  255,18                              // callq         *(%rdx)
45858  .byte  19,22                               // adc           (%rsi),%edx
45859  .byte  23                                  // (bad)
45860  .byte  26,27                               // sbb           (%rbx),%bl
45861  .byte  30                                  // (bad)
45862  .byte  31                                  // (bad)
45863  .byte  255                                 // (bad)
45864  .byte  255                                 // (bad)
45865  .byte  255                                 // (bad)
45866  .byte  255                                 // (bad)
45867  .byte  255                                 // (bad)
45868  .byte  255                                 // (bad)
45869  .byte  255                                 // (bad)
45870  .byte  255,3                               // incl          (%rbx)
45871  .byte  255,7                               // incl          (%rdi)
45872  .byte  255,11                              // decl          (%rbx)
45873  .byte  255,15                              // decl          (%rdi)
45874  .byte  255                                 // (bad)
45875  .byte  255                                 // (bad)
45876  .byte  255                                 // (bad)
45877  .byte  255                                 // (bad)
45878  .byte  255                                 // (bad)
45879  .byte  255                                 // (bad)
45880  .byte  255                                 // (bad)
45881  .byte  255                                 // (bad)
45882  .byte  255,19                              // callq         *(%rbx)
45883  .byte  255,23                              // callq         *(%rdi)
45884  .byte  255,27                              // lcall         *(%rbx)
45885  .byte  255,31                              // lcall         *(%rdi)
45886  .byte  255                                 // (bad)
45887  .byte  255                                 // (bad)
45888  .byte  255                                 // (bad)
45889  .byte  255                                 // (bad)
45890  .byte  255                                 // (bad)
45891  .byte  255                                 // (bad)
45892  .byte  255                                 // (bad)
45893  .byte  255                                 // (bad)
45894  .byte  255                                 // (bad)
45895  .byte  255,0                               // incl          (%rax)
45896  .byte  0,0                                 // add           %al,(%rax)
45897  .byte  0,0                                 // add           %al,(%rax)
45898  .byte  0,0                                 // add           %al,(%rax)
45899  .byte  0,0                                 // add           %al,(%rax)
45900  .byte  0,0                                 // add           %al,(%rax)
45901  .byte  0,0                                 // add           %al,(%rax)
45902  .byte  0,0                                 // add           %al,(%rax)
45903  .byte  0,0                                 // add           %al,(%rax)
45904  .byte  0,0                                 // add           %al,(%rax)
45905  .byte  0,0                                 // add           %al,(%rax)
45906  .byte  0,0                                 // add           %al,(%rax)
45907  .byte  0,0                                 // add           %al,(%rax)
45908  .byte  0,0                                 // add           %al,(%rax)
45909  .byte  0,0                                 // add           %al,(%rax)
45910  .byte  0,0                                 // add           %al,(%rax)
45911  .byte  0,1                                 // add           %al,(%rcx)
45912  .byte  4,5                                 // add           $0x5,%al
45913  .byte  8,9                                 // or            %cl,(%rcx)
45914  .byte  12,13                               // or            $0xd,%al
45915  .byte  128,128,128,128,128,128,128         // addb          $0x80,-0x7f7f7f80(%rax)
45916  .byte  128,0,1                             // addb          $0x1,(%rax)
45917  .byte  4,5                                 // add           $0x5,%al
45918  .byte  8,9                                 // or            %cl,(%rcx)
45919  .byte  12,13                               // or            $0xd,%al
45920  .byte  128,128,128,128,128,128,128         // addb          $0x80,-0x7f7f7f80(%rax)
45921  .byte  128,129,128,0,0,0,0                 // addb          $0x0,0x80(%rcx)
45922  .byte  0,0                                 // add           %al,(%rax)
45923  .byte  0,0                                 // add           %al,(%rax)
45924  .byte  0,0                                 // add           %al,(%rax)
45925  .byte  0,0                                 // add           %al,(%rax)
45926  .byte  0,0                                 // add           %al,(%rax)
45927  .byte  0,0                                 // add           %al,(%rax)
45928  .byte  0,0                                 // add           %al,(%rax)
45929  .byte  0,0                                 // add           %al,(%rax)
45930  .byte  0,0                                 // add           %al,(%rax)
45931  .byte  0,0                                 // add           %al,(%rax)
45932  .byte  0,0                                 // add           %al,(%rax)
45933  .byte  0,0                                 // add           %al,(%rax)
45934  .byte  0,0                                 // add           %al,(%rax)
45935  .byte  1,2                                 // add           %eax,(%rdx)
45936  .byte  5,6,9,10,13                         // add           $0xd0a0906,%eax
45937  .byte  14                                  // (bad)
45938  .byte  255                                 // (bad)
45939  .byte  255                                 // (bad)
45940  .byte  255                                 // (bad)
45941  .byte  255                                 // (bad)
45942  .byte  255                                 // (bad)
45943  .byte  255                                 // (bad)
45944  .byte  255                                 // (bad)
45945  .byte  255,17                              // callq         *(%rcx)
45946  .byte  18,21,22,25,26,29                   // adc           0x1d1a1916(%rip),%dl        # 1d1a3d6d <_sk_xor__hsw_lowp+0x1d1a1b89>
45947  .byte  30                                  // (bad)
45948  .byte  255                                 // (bad)
45949  .byte  255                                 // (bad)
45950  .byte  255                                 // (bad)
45951  .byte  255                                 // (bad)
45952  .byte  255                                 // (bad)
45953  .byte  255                                 // (bad)
45954  .byte  255                                 // (bad)
45955  .byte  255,2                               // incl          (%rdx)
45956  .byte  3,6                                 // add           (%rsi),%eax
45957  .byte  7                                   // (bad)
45958  .byte  10,11                               // or            (%rbx),%cl
45959  .byte  14                                  // (bad)
45960  .byte  15,255                              // (bad)
45961  .byte  255                                 // (bad)
45962  .byte  255                                 // (bad)
45963  .byte  255                                 // (bad)
45964  .byte  255                                 // (bad)
45965  .byte  255                                 // (bad)
45966  .byte  255                                 // (bad)
45967  .byte  255,18                              // callq         *(%rdx)
45968  .byte  19,22                               // adc           (%rsi),%edx
45969  .byte  23                                  // (bad)
45970  .byte  26,27                               // sbb           (%rbx),%bl
45971  .byte  30                                  // (bad)
45972  .byte  31                                  // (bad)
45973  .byte  255                                 // (bad)
45974  .byte  255                                 // (bad)
45975  .byte  255                                 // (bad)
45976  .byte  255                                 // (bad)
45977  .byte  255                                 // (bad)
45978  .byte  255                                 // (bad)
45979  .byte  255                                 // (bad)
45980  .byte  255,3                               // incl          (%rbx)
45981  .byte  255,7                               // incl          (%rdi)
45982  .byte  255,11                              // decl          (%rbx)
45983  .byte  255,15                              // decl          (%rdi)
45984  .byte  255                                 // (bad)
45985  .byte  255                                 // (bad)
45986  .byte  255                                 // (bad)
45987  .byte  255                                 // (bad)
45988  .byte  255                                 // (bad)
45989  .byte  255                                 // (bad)
45990  .byte  255                                 // (bad)
45991  .byte  255                                 // (bad)
45992  .byte  255,19                              // callq         *(%rbx)
45993  .byte  255,23                              // callq         *(%rdi)
45994  .byte  255,27                              // lcall         *(%rbx)
45995  .byte  255,31                              // lcall         *(%rdi)
45996  .byte  255                                 // (bad)
45997  .byte  255                                 // (bad)
45998  .byte  255                                 // (bad)
45999  .byte  255                                 // (bad)
46000  .byte  255                                 // (bad)
46001  .byte  255                                 // (bad)
46002  .byte  255                                 // (bad)
46003  .byte  255                                 // (bad)
46004  .byte  255,0                               // incl          (%rax)
46005  .byte  1,4,5,8,9,12,13                     // add           %eax,0xd0c0908(,%rax,1)
46006  .byte  128,128,128,128,128,128,128         // addb          $0x80,-0x7f7f7f80(%rax)
46007  .byte  128,0,1                             // addb          $0x1,(%rax)
46008  .byte  4,5                                 // add           $0x5,%al
46009  .byte  8,9                                 // or            %cl,(%rcx)
46010  .byte  12,13                               // or            $0xd,%al
46011  .byte  128,128,128,128,128,128,128         // addb          $0x80,-0x7f7f7f80(%rax)
46012  .byte  128,129,128,0,0,0,0                 // addb          $0x0,0x80(%rcx)
46013  .byte  0,0                                 // add           %al,(%rax)
46014  .byte  0,0                                 // add           %al,(%rax)
46015  .byte  0,0                                 // add           %al,(%rax)
46016  .byte  0,0                                 // add           %al,(%rax)
46017  .byte  0,0                                 // add           %al,(%rax)
46018  .byte  0,0                                 // add           %al,(%rax)
46019  .byte  0,0                                 // add           %al,(%rax)
46020  .byte  0,0                                 // add           %al,(%rax)
46021  .byte  0,0                                 // add           %al,(%rax)
46022  .byte  0,0                                 // add           %al,(%rax)
46023  .byte  0,0                                 // add           %al,(%rax)
46024  .byte  0,0                                 // add           %al,(%rax)
46025  .byte  0,0                                 // add           %al,(%rax)
46026  .byte  1,2                                 // add           %eax,(%rdx)
46027  .byte  5,6,9,10,13                         // add           $0xd0a0906,%eax
46028  .byte  14                                  // (bad)
46029  .byte  255                                 // (bad)
46030  .byte  255                                 // (bad)
46031  .byte  255                                 // (bad)
46032  .byte  255                                 // (bad)
46033  .byte  255                                 // (bad)
46034  .byte  255                                 // (bad)
46035  .byte  255                                 // (bad)
46036  .byte  255,17                              // callq         *(%rcx)
46037  .byte  18,21,22,25,26,29                   // adc           0x1d1a1916(%rip),%dl        # 1d1a3e0d <_sk_xor__hsw_lowp+0x1d1a1c29>
46038  .byte  30                                  // (bad)
46039  .byte  255                                 // (bad)
46040  .byte  255                                 // (bad)
46041  .byte  255                                 // (bad)
46042  .byte  255                                 // (bad)
46043  .byte  255                                 // (bad)
46044  .byte  255                                 // (bad)
46045  .byte  255                                 // (bad)
46046  .byte  255,2                               // incl          (%rdx)
46047  .byte  3,6                                 // add           (%rsi),%eax
46048  .byte  7                                   // (bad)
46049  .byte  10,11                               // or            (%rbx),%cl
46050  .byte  14                                  // (bad)
46051  .byte  15,255                              // (bad)
46052  .byte  255                                 // (bad)
46053  .byte  255                                 // (bad)
46054  .byte  255                                 // (bad)
46055  .byte  255                                 // (bad)
46056  .byte  255                                 // (bad)
46057  .byte  255                                 // (bad)
46058  .byte  255,18                              // callq         *(%rdx)
46059  .byte  19,22                               // adc           (%rsi),%edx
46060  .byte  23                                  // (bad)
46061  .byte  26,27                               // sbb           (%rbx),%bl
46062  .byte  30                                  // (bad)
46063  .byte  31                                  // (bad)
46064  .byte  255                                 // (bad)
46065  .byte  255                                 // (bad)
46066  .byte  255                                 // (bad)
46067  .byte  255                                 // (bad)
46068  .byte  255                                 // (bad)
46069  .byte  255                                 // (bad)
46070  .byte  255                                 // (bad)
46071  .byte  255,3                               // incl          (%rbx)
46072  .byte  255,7                               // incl          (%rdi)
46073  .byte  255,11                              // decl          (%rbx)
46074  .byte  255,15                              // decl          (%rdi)
46075  .byte  255                                 // (bad)
46076  .byte  255                                 // (bad)
46077  .byte  255                                 // (bad)
46078  .byte  255                                 // (bad)
46079  .byte  255                                 // (bad)
46080  .byte  255                                 // (bad)
46081  .byte  255                                 // (bad)
46082  .byte  255                                 // (bad)
46083  .byte  255,19                              // callq         *(%rbx)
46084  .byte  255,23                              // callq         *(%rdi)
46085  .byte  255,27                              // lcall         *(%rbx)
46086  .byte  255,31                              // lcall         *(%rdi)
46087  .byte  255                                 // (bad)
46088  .byte  255                                 // (bad)
46089  .byte  255                                 // (bad)
46090  .byte  255                                 // (bad)
46091  .byte  255                                 // (bad)
46092  .byte  255                                 // (bad)
46093  .byte  255                                 // (bad)
46094  .byte  255                                 // (bad)
46095  .byte  255                                 // (bad)
46096  .byte  255,0                               // incl          (%rax)
46097  .byte  129,128,129,128,129,128,0,128,129,128// addl          $0x80818000,-0x7f7e7f7f(%rax)
46098  .byte  0,128,0,0,0,0                       // add           %al,0x0(%rax)
46099  .byte  0,0                                 // add           %al,(%rax)
46100  .byte  0,0                                 // add           %al,(%rax)
46101  .byte  0,0                                 // add           %al,(%rax)
46102  .byte  0,0                                 // add           %al,(%rax)
46103  .byte  0,0                                 // add           %al,(%rax)
46104  .byte  0,0                                 // add           %al,(%rax)
46105  .byte  0,0                                 // add           %al,(%rax)
46106  .byte  0,1                                 // add           %al,(%rcx)
46107  .byte  4,5                                 // add           $0x5,%al
46108  .byte  8,9                                 // or            %cl,(%rcx)
46109  .byte  12,13                               // or            $0xd,%al
46110  .byte  128,128,128,128,128,128,128         // addb          $0x80,-0x7f7f7f80(%rax)
46111  .byte  128,0,1                             // addb          $0x1,(%rax)
46112  .byte  4,5                                 // add           $0x5,%al
46113  .byte  8,9                                 // or            %cl,(%rcx)
46114  .byte  12,13                               // or            $0xd,%al
46115  .byte  128,128,128,128,128,128,128         // addb          $0x80,-0x7f7f7f80(%rax)
46116  .byte  128,255,0                           // cmp           $0x0,%bh
46117  .byte  129,128,0,0,0,0,0,0,0,0             // addl          $0x0,0x0(%rax)
46118  .byte  0,0                                 // add           %al,(%rax)
46119  .byte  0,0                                 // add           %al,(%rax)
46120  .byte  0,0                                 // add           %al,(%rax)
46121  .byte  0,0                                 // add           %al,(%rax)
46122  .byte  0,0                                 // add           %al,(%rax)
46123  .byte  0,0                                 // add           %al,(%rax)
46124  .byte  0,0                                 // add           %al,(%rax)
46125  .byte  0,0                                 // add           %al,(%rax)
46126  .byte  0,0                                 // add           %al,(%rax)
46127  .byte  0,0                                 // add           %al,(%rax)
46128  .byte  1,2                                 // add           %eax,(%rdx)
46129  .byte  5,6,9,10,13                         // add           $0xd0a0906,%eax
46130  .byte  14                                  // (bad)
46131  .byte  255                                 // (bad)
46132  .byte  255                                 // (bad)
46133  .byte  255                                 // (bad)
46134  .byte  255                                 // (bad)
46135  .byte  255                                 // (bad)
46136  .byte  255                                 // (bad)
46137  .byte  255                                 // (bad)
46138  .byte  255,17                              // callq         *(%rcx)
46139  .byte  18,21,22,25,26,29                   // adc           0x1d1a1916(%rip),%dl        # 1d1a3ecd <_sk_xor__hsw_lowp+0x1d1a1ce9>
46140  .byte  30                                  // (bad)
46141  .byte  255                                 // (bad)
46142  .byte  255                                 // (bad)
46143  .byte  255                                 // (bad)
46144  .byte  255                                 // (bad)
46145  .byte  255                                 // (bad)
46146  .byte  255                                 // (bad)
46147  .byte  255                                 // (bad)
46148  .byte  255,2                               // incl          (%rdx)
46149  .byte  3,6                                 // add           (%rsi),%eax
46150  .byte  7                                   // (bad)
46151  .byte  10,11                               // or            (%rbx),%cl
46152  .byte  14                                  // (bad)
46153  .byte  15,255                              // (bad)
46154  .byte  255                                 // (bad)
46155  .byte  255                                 // (bad)
46156  .byte  255                                 // (bad)
46157  .byte  255                                 // (bad)
46158  .byte  255                                 // (bad)
46159  .byte  255                                 // (bad)
46160  .byte  255,18                              // callq         *(%rdx)
46161  .byte  19,22                               // adc           (%rsi),%edx
46162  .byte  23                                  // (bad)
46163  .byte  26,27                               // sbb           (%rbx),%bl
46164  .byte  30                                  // (bad)
46165  .byte  31                                  // (bad)
46166  .byte  255                                 // (bad)
46167  .byte  255                                 // (bad)
46168  .byte  255                                 // (bad)
46169  .byte  255                                 // (bad)
46170  .byte  255                                 // (bad)
46171  .byte  255                                 // (bad)
46172  .byte  255                                 // (bad)
46173  .byte  255,3                               // incl          (%rbx)
46174  .byte  255,7                               // incl          (%rdi)
46175  .byte  255,11                              // decl          (%rbx)
46176  .byte  255,15                              // decl          (%rdi)
46177  .byte  255                                 // (bad)
46178  .byte  255                                 // (bad)
46179  .byte  255                                 // (bad)
46180  .byte  255                                 // (bad)
46181  .byte  255                                 // (bad)
46182  .byte  255                                 // (bad)
46183  .byte  255                                 // (bad)
46184  .byte  255                                 // (bad)
46185  .byte  255,19                              // callq         *(%rbx)
46186  .byte  255,23                              // callq         *(%rdi)
46187  .byte  255,27                              // lcall         *(%rbx)
46188  .byte  255,31                              // lcall         *(%rdi)
46189  .byte  255                                 // (bad)
46190  .byte  255                                 // (bad)
46191  .byte  255                                 // (bad)
46192  .byte  255                                 // (bad)
46193  .byte  255                                 // (bad)
46194  .byte  255                                 // (bad)
46195  .byte  255                                 // (bad)
46196  .byte  255                                 // (bad)
46197  .byte  255,0                               // incl          (%rax)
46198  .byte  128,129,128,0,128,129,128           // addb          $0x80,-0x7e7fff80(%rcx)
46199  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
46200  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
46201  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
46202  .byte  0                                   // .byte         0x0
46203  .byte  128                                 // .byte         0x80
46204BALIGN32
46205
46206HIDDEN _sk_start_pipeline_ssse3_lowp
46207.globl _sk_start_pipeline_ssse3_lowp
46208FUNCTION(_sk_start_pipeline_ssse3_lowp)
46209_sk_start_pipeline_ssse3_lowp:
46210  .byte  85                                  // push          %rbp
46211  .byte  72,137,229                          // mov           %rsp,%rbp
46212  .byte  65,87                               // push          %r15
46213  .byte  65,86                               // push          %r14
46214  .byte  65,85                               // push          %r13
46215  .byte  65,84                               // push          %r12
46216  .byte  83                                  // push          %rbx
46217  .byte  80                                  // push          %rax
46218  .byte  77,137,196                          // mov           %r8,%r12
46219  .byte  73,137,208                          // mov           %rdx,%r8
46220  .byte  73,137,247                          // mov           %rsi,%r15
46221  .byte  72,137,251                          // mov           %rdi,%rbx
46222  .byte  72,137,206                          // mov           %rcx,%rsi
46223  .byte  72,173                              // lods          %ds:(%rsi),%rax
46224  .byte  73,137,245                          // mov           %rsi,%r13
46225  .byte  72,141,75,8                         // lea           0x8(%rbx),%rcx
46226  .byte  76,57,193                           // cmp           %r8,%rcx
46227  .byte  118,5                               // jbe           30 <_sk_start_pipeline_ssse3_lowp+0x30>
46228  .byte  72,137,218                          // mov           %rbx,%rdx
46229  .byte  235,48                              // jmp           60 <_sk_start_pipeline_ssse3_lowp+0x60>
46230  .byte  76,137,69,208                       // mov           %r8,-0x30(%rbp)
46231  .byte  69,49,192                           // xor           %r8d,%r8d
46232  .byte  76,137,231                          // mov           %r12,%rdi
46233  .byte  76,137,238                          // mov           %r13,%rsi
46234  .byte  72,137,218                          // mov           %rbx,%rdx
46235  .byte  76,137,249                          // mov           %r15,%rcx
46236  .byte  73,137,198                          // mov           %rax,%r14
46237  .byte  65,255,214                          // callq         *%r14
46238  .byte  76,139,69,208                       // mov           -0x30(%rbp),%r8
46239  .byte  76,137,240                          // mov           %r14,%rax
46240  .byte  72,141,83,8                         // lea           0x8(%rbx),%rdx
46241  .byte  72,131,195,16                       // add           $0x10,%rbx
46242  .byte  76,57,195                           // cmp           %r8,%rbx
46243  .byte  72,137,211                          // mov           %rdx,%rbx
46244  .byte  118,212                             // jbe           34 <_sk_start_pipeline_ssse3_lowp+0x34>
46245  .byte  73,41,208                           // sub           %rdx,%r8
46246  .byte  116,25                              // je            7e <_sk_start_pipeline_ssse3_lowp+0x7e>
46247  .byte  76,137,231                          // mov           %r12,%rdi
46248  .byte  76,137,238                          // mov           %r13,%rsi
46249  .byte  76,137,249                          // mov           %r15,%rcx
46250  .byte  72,131,196,8                        // add           $0x8,%rsp
46251  .byte  91                                  // pop           %rbx
46252  .byte  65,92                               // pop           %r12
46253  .byte  65,93                               // pop           %r13
46254  .byte  65,94                               // pop           %r14
46255  .byte  65,95                               // pop           %r15
46256  .byte  93                                  // pop           %rbp
46257  .byte  255,224                             // jmpq          *%rax
46258  .byte  72,131,196,8                        // add           $0x8,%rsp
46259  .byte  91                                  // pop           %rbx
46260  .byte  65,92                               // pop           %r12
46261  .byte  65,93                               // pop           %r13
46262  .byte  65,94                               // pop           %r14
46263  .byte  65,95                               // pop           %r15
46264  .byte  93                                  // pop           %rbp
46265  .byte  195                                 // retq
46266
46267HIDDEN _sk_start_pipeline_2d_ssse3_lowp
46268.globl _sk_start_pipeline_2d_ssse3_lowp
46269FUNCTION(_sk_start_pipeline_2d_ssse3_lowp)
46270_sk_start_pipeline_2d_ssse3_lowp:
46271  .byte  85                                  // push          %rbp
46272  .byte  72,137,229                          // mov           %rsp,%rbp
46273  .byte  65,87                               // push          %r15
46274  .byte  65,86                               // push          %r14
46275  .byte  65,85                               // push          %r13
46276  .byte  65,84                               // push          %r12
46277  .byte  83                                  // push          %rbx
46278  .byte  72,131,236,40                       // sub           $0x28,%rsp
46279  .byte  72,137,211                          // mov           %rdx,%rbx
46280  .byte  73,137,244                          // mov           %rsi,%r12
46281  .byte  72,137,125,208                      // mov           %rdi,-0x30(%rbp)
46282  .byte  72,137,77,176                       // mov           %rcx,-0x50(%rbp)
46283  .byte  73,57,204                           // cmp           %rcx,%r12
46284  .byte  115,124                             // jae           12d <_sk_start_pipeline_2d_ssse3_lowp+0xa0>
46285  .byte  76,137,198                          // mov           %r8,%rsi
46286  .byte  72,173                              // lods          %ds:(%rsi),%rax
46287  .byte  73,137,198                          // mov           %rax,%r14
46288  .byte  73,137,245                          // mov           %rsi,%r13
46289  .byte  72,139,69,208                       // mov           -0x30(%rbp),%rax
46290  .byte  72,141,64,8                         // lea           0x8(%rax),%rax
46291  .byte  72,137,69,184                       // mov           %rax,-0x48(%rbp)
46292  .byte  76,137,77,192                       // mov           %r9,-0x40(%rbp)
46293  .byte  72,137,93,200                       // mov           %rbx,-0x38(%rbp)
46294  .byte  72,57,93,184                        // cmp           %rbx,-0x48(%rbp)
46295  .byte  72,139,85,208                       // mov           -0x30(%rbp),%rdx
46296  .byte  119,46                              // ja            108 <_sk_start_pipeline_2d_ssse3_lowp+0x7b>
46297  .byte  76,139,125,208                      // mov           -0x30(%rbp),%r15
46298  .byte  69,49,192                           // xor           %r8d,%r8d
46299  .byte  76,137,207                          // mov           %r9,%rdi
46300  .byte  76,137,238                          // mov           %r13,%rsi
46301  .byte  76,137,250                          // mov           %r15,%rdx
46302  .byte  76,137,225                          // mov           %r12,%rcx
46303  .byte  65,255,214                          // callq         *%r14
46304  .byte  72,139,93,200                       // mov           -0x38(%rbp),%rbx
46305  .byte  76,139,77,192                       // mov           -0x40(%rbp),%r9
46306  .byte  73,141,87,8                         // lea           0x8(%r15),%rdx
46307  .byte  73,131,199,16                       // add           $0x10,%r15
46308  .byte  73,57,223                           // cmp           %rbx,%r15
46309  .byte  73,137,215                          // mov           %rdx,%r15
46310  .byte  118,214                             // jbe           de <_sk_start_pipeline_2d_ssse3_lowp+0x51>
46311  .byte  73,137,216                          // mov           %rbx,%r8
46312  .byte  73,41,208                           // sub           %rdx,%r8
46313  .byte  116,20                              // je            124 <_sk_start_pipeline_2d_ssse3_lowp+0x97>
46314  .byte  76,137,207                          // mov           %r9,%rdi
46315  .byte  76,137,238                          // mov           %r13,%rsi
46316  .byte  76,137,225                          // mov           %r12,%rcx
46317  .byte  65,255,214                          // callq         *%r14
46318  .byte  72,139,93,200                       // mov           -0x38(%rbp),%rbx
46319  .byte  76,139,77,192                       // mov           -0x40(%rbp),%r9
46320  .byte  73,255,196                          // inc           %r12
46321  .byte  76,59,101,176                       // cmp           -0x50(%rbp),%r12
46322  .byte  117,163                             // jne           d0 <_sk_start_pipeline_2d_ssse3_lowp+0x43>
46323  .byte  72,131,196,40                       // add           $0x28,%rsp
46324  .byte  91                                  // pop           %rbx
46325  .byte  65,92                               // pop           %r12
46326  .byte  65,93                               // pop           %r13
46327  .byte  65,94                               // pop           %r14
46328  .byte  65,95                               // pop           %r15
46329  .byte  93                                  // pop           %rbp
46330  .byte  195                                 // retq
46331
46332HIDDEN _sk_just_return_ssse3_lowp
46333.globl _sk_just_return_ssse3_lowp
46334FUNCTION(_sk_just_return_ssse3_lowp)
46335_sk_just_return_ssse3_lowp:
46336  .byte  195                                 // retq
46337
46338HIDDEN _sk_uniform_color_ssse3_lowp
46339.globl _sk_uniform_color_ssse3_lowp
46340FUNCTION(_sk_uniform_color_ssse3_lowp)
46341_sk_uniform_color_ssse3_lowp:
46342  .byte  72,173                              // lods          %ds:(%rsi),%rax
46343  .byte  15,16,24                            // movups        (%rax),%xmm3
46344  .byte  15,88,29,215,25,0,0                 // addps         0x19d7(%rip),%xmm3        # 1b20 <_sk_xor__ssse3_lowp+0x9b>
46345  .byte  242,15,112,195,0                    // pshuflw       $0x0,%xmm3,%xmm0
46346  .byte  102,15,112,192,80                   // pshufd        $0x50,%xmm0,%xmm0
46347  .byte  242,15,112,203,170                  // pshuflw       $0xaa,%xmm3,%xmm1
46348  .byte  102,15,112,201,80                   // pshufd        $0x50,%xmm1,%xmm1
46349  .byte  243,15,112,211,0                    // pshufhw       $0x0,%xmm3,%xmm2
46350  .byte  102,15,112,210,250                  // pshufd        $0xfa,%xmm2,%xmm2
46351  .byte  243,15,112,219,170                  // pshufhw       $0xaa,%xmm3,%xmm3
46352  .byte  102,15,112,219,250                  // pshufd        $0xfa,%xmm3,%xmm3
46353  .byte  72,173                              // lods          %ds:(%rsi),%rax
46354  .byte  255,224                             // jmpq          *%rax
46355
46356HIDDEN _sk_black_color_ssse3_lowp
46357.globl _sk_black_color_ssse3_lowp
46358FUNCTION(_sk_black_color_ssse3_lowp)
46359_sk_black_color_ssse3_lowp:
46360  .byte  72,173                              // lods          %ds:(%rsi),%rax
46361  .byte  15,40,29,178,25,0,0                 // movaps        0x19b2(%rip),%xmm3        # 1b30 <_sk_xor__ssse3_lowp+0xab>
46362  .byte  15,87,192                           // xorps         %xmm0,%xmm0
46363  .byte  15,87,201                           // xorps         %xmm1,%xmm1
46364  .byte  15,87,210                           // xorps         %xmm2,%xmm2
46365  .byte  255,224                             // jmpq          *%rax
46366
46367HIDDEN _sk_white_color_ssse3_lowp
46368.globl _sk_white_color_ssse3_lowp
46369FUNCTION(_sk_white_color_ssse3_lowp)
46370_sk_white_color_ssse3_lowp:
46371  .byte  72,173                              // lods          %ds:(%rsi),%rax
46372  .byte  15,40,5,174,25,0,0                  // movaps        0x19ae(%rip),%xmm0        # 1b40 <_sk_xor__ssse3_lowp+0xbb>
46373  .byte  15,40,200                           // movaps        %xmm0,%xmm1
46374  .byte  15,40,208                           // movaps        %xmm0,%xmm2
46375  .byte  15,40,216                           // movaps        %xmm0,%xmm3
46376  .byte  255,224                             // jmpq          *%rax
46377
46378HIDDEN _sk_set_rgb_ssse3_lowp
46379.globl _sk_set_rgb_ssse3_lowp
46380FUNCTION(_sk_set_rgb_ssse3_lowp)
46381_sk_set_rgb_ssse3_lowp:
46382  .byte  72,173                              // lods          %ds:(%rsi),%rax
46383  .byte  243,15,16,21,201,28,0,0             // movss         0x1cc9(%rip),%xmm2        # 1e70 <_sk_xor__ssse3_lowp+0x3eb>
46384  .byte  243,15,16,0                         // movss         (%rax),%xmm0
46385  .byte  243,15,88,194                       // addss         %xmm2,%xmm0
46386  .byte  102,65,15,126,193                   // movd          %xmm0,%r9d
46387  .byte  102,65,15,110,193                   // movd          %r9d,%xmm0
46388  .byte  242,15,112,192,0                    // pshuflw       $0x0,%xmm0,%xmm0
46389  .byte  102,15,112,192,80                   // pshufd        $0x50,%xmm0,%xmm0
46390  .byte  243,15,16,72,4                      // movss         0x4(%rax),%xmm1
46391  .byte  243,15,88,202                       // addss         %xmm2,%xmm1
46392  .byte  102,65,15,126,201                   // movd          %xmm1,%r9d
46393  .byte  102,65,15,110,201                   // movd          %r9d,%xmm1
46394  .byte  242,15,112,201,0                    // pshuflw       $0x0,%xmm1,%xmm1
46395  .byte  102,15,112,201,80                   // pshufd        $0x50,%xmm1,%xmm1
46396  .byte  243,15,88,80,8                      // addss         0x8(%rax),%xmm2
46397  .byte  102,15,126,208                      // movd          %xmm2,%eax
46398  .byte  102,15,110,208                      // movd          %eax,%xmm2
46399  .byte  242,15,112,210,0                    // pshuflw       $0x0,%xmm2,%xmm2
46400  .byte  102,15,112,210,80                   // pshufd        $0x50,%xmm2,%xmm2
46401  .byte  72,173                              // lods          %ds:(%rsi),%rax
46402  .byte  255,224                             // jmpq          *%rax
46403
46404HIDDEN _sk_premul_ssse3_lowp
46405.globl _sk_premul_ssse3_lowp
46406FUNCTION(_sk_premul_ssse3_lowp)
46407_sk_premul_ssse3_lowp:
46408  .byte  102,15,56,11,195                    // pmulhrsw      %xmm3,%xmm0
46409  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
46410  .byte  102,15,56,11,203                    // pmulhrsw      %xmm3,%xmm1
46411  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
46412  .byte  102,15,56,11,211                    // pmulhrsw      %xmm3,%xmm2
46413  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
46414  .byte  72,173                              // lods          %ds:(%rsi),%rax
46415  .byte  255,224                             // jmpq          *%rax
46416
46417HIDDEN _sk_load_8888_ssse3_lowp
46418.globl _sk_load_8888_ssse3_lowp
46419FUNCTION(_sk_load_8888_ssse3_lowp)
46420_sk_load_8888_ssse3_lowp:
46421  .byte  72,173                              // lods          %ds:(%rsi),%rax
46422  .byte  76,139,24                           // mov           (%rax),%r11
46423  .byte  77,133,192                          // test          %r8,%r8
46424  .byte  15,133,191,0,0,0                    // jne           2ea <_sk_load_8888_ssse3_lowp+0xcd>
46425  .byte  69,15,16,68,147,16                  // movups        0x10(%r11,%rdx,4),%xmm8
46426  .byte  102,65,15,16,28,147                 // movupd        (%r11,%rdx,4),%xmm3
46427  .byte  102,15,111,13,17,25,0,0             // movdqa        0x1911(%rip),%xmm1        # 1b50 <_sk_xor__ssse3_lowp+0xcb>
46428  .byte  102,15,40,195                       // movapd        %xmm3,%xmm0
46429  .byte  102,15,56,0,193                     // pshufb        %xmm1,%xmm0
46430  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
46431  .byte  102,15,56,0,209                     // pshufb        %xmm1,%xmm2
46432  .byte  102,15,108,194                      // punpcklqdq    %xmm2,%xmm0
46433  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
46434  .byte  102,68,15,111,13,252,24,0,0         // movdqa        0x18fc(%rip),%xmm9        # 1b60 <_sk_xor__ssse3_lowp+0xdb>
46435  .byte  102,65,15,228,193                   // pmulhuw       %xmm9,%xmm0
46436  .byte  102,68,15,111,21,254,24,0,0         // movdqa        0x18fe(%rip),%xmm10        # 1b70 <_sk_xor__ssse3_lowp+0xeb>
46437  .byte  102,15,40,203                       // movapd        %xmm3,%xmm1
46438  .byte  102,65,15,56,0,202                  // pshufb        %xmm10,%xmm1
46439  .byte  102,65,15,111,208                   // movdqa        %xmm8,%xmm2
46440  .byte  102,65,15,56,0,210                  // pshufb        %xmm10,%xmm2
46441  .byte  102,15,108,202                      // punpcklqdq    %xmm2,%xmm1
46442  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
46443  .byte  102,65,15,228,201                   // pmulhuw       %xmm9,%xmm1
46444  .byte  102,68,15,111,21,226,24,0,0         // movdqa        0x18e2(%rip),%xmm10        # 1b80 <_sk_xor__ssse3_lowp+0xfb>
46445  .byte  102,15,40,211                       // movapd        %xmm3,%xmm2
46446  .byte  102,65,15,56,0,210                  // pshufb        %xmm10,%xmm2
46447  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
46448  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
46449  .byte  102,65,15,108,211                   // punpcklqdq    %xmm11,%xmm2
46450  .byte  102,15,113,242,8                    // psllw         $0x8,%xmm2
46451  .byte  102,65,15,228,209                   // pmulhuw       %xmm9,%xmm2
46452  .byte  102,68,15,111,21,197,24,0,0         // movdqa        0x18c5(%rip),%xmm10        # 1b90 <_sk_xor__ssse3_lowp+0x10b>
46453  .byte  102,65,15,56,0,218                  // pshufb        %xmm10,%xmm3
46454  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
46455  .byte  102,65,15,108,216                   // punpcklqdq    %xmm8,%xmm3
46456  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
46457  .byte  102,65,15,228,217                   // pmulhuw       %xmm9,%xmm3
46458  .byte  72,173                              // lods          %ds:(%rsi),%rax
46459  .byte  255,224                             // jmpq          *%rax
46460  .byte  69,137,193                          // mov           %r8d,%r9d
46461  .byte  65,128,225,7                        // and           $0x7,%r9b
46462  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
46463  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
46464  .byte  65,254,201                          // dec           %r9b
46465  .byte  65,128,249,6                        // cmp           $0x6,%r9b
46466  .byte  15,135,48,255,255,255               // ja            237 <_sk_load_8888_ssse3_lowp+0x1a>
46467  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
46468  .byte  76,141,21,94,0,0,0                  // lea           0x5e(%rip),%r10        # 370 <_sk_load_8888_ssse3_lowp+0x153>
46469  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
46470  .byte  76,1,208                            // add           %r10,%rax
46471  .byte  255,224                             // jmpq          *%rax
46472  .byte  243,65,15,16,28,147                 // movss         (%r11,%rdx,4),%xmm3
46473  .byte  233,17,255,255,255                  // jmpq          237 <_sk_load_8888_ssse3_lowp+0x1a>
46474  .byte  102,65,15,110,68,147,8              // movd          0x8(%r11,%rdx,4),%xmm0
46475  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
46476  .byte  102,65,15,18,28,147                 // movlpd        (%r11,%rdx,4),%xmm3
46477  .byte  233,250,254,255,255                 // jmpq          237 <_sk_load_8888_ssse3_lowp+0x1a>
46478  .byte  102,65,15,110,68,147,24             // movd          0x18(%r11,%rdx,4),%xmm0
46479  .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
46480  .byte  243,65,15,16,68,147,20              // movss         0x14(%r11,%rdx,4),%xmm0
46481  .byte  65,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm0
46482  .byte  65,15,198,192,226                   // shufps        $0xe2,%xmm8,%xmm0
46483  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
46484  .byte  243,65,15,16,68,147,16              // movss         0x10(%r11,%rdx,4),%xmm0
46485  .byte  243,68,15,16,192                    // movss         %xmm0,%xmm8
46486  .byte  233,193,254,255,255                 // jmpq          231 <_sk_load_8888_ssse3_lowp+0x14>
46487  .byte  171                                 // stos          %eax,%es:(%rdi)
46488  .byte  255                                 // (bad)
46489  .byte  255                                 // (bad)
46490  .byte  255,194                             // inc           %edx
46491  .byte  255                                 // (bad)
46492  .byte  255                                 // (bad)
46493  .byte  255,182,255,255,255,193             // pushq         -0x3e000001(%rsi)
46494  .byte  254                                 // (bad)
46495  .byte  255                                 // (bad)
46496  .byte  255                                 // (bad)
46497  .byte  239                                 // out           %eax,(%dx)
46498  .byte  255                                 // (bad)
46499  .byte  255                                 // (bad)
46500  .byte  255                                 // (bad)
46501  .byte  218,255                             // (bad)
46502  .byte  255                                 // (bad)
46503  .byte  255,205                             // dec           %ebp
46504  .byte  255                                 // (bad)
46505  .byte  255                                 // (bad)
46506  .byte  255                                 // .byte         0xff
46507
46508HIDDEN _sk_load_8888_dst_ssse3_lowp
46509.globl _sk_load_8888_dst_ssse3_lowp
46510FUNCTION(_sk_load_8888_dst_ssse3_lowp)
46511_sk_load_8888_dst_ssse3_lowp:
46512  .byte  72,173                              // lods          %ds:(%rsi),%rax
46513  .byte  76,139,24                           // mov           (%rax),%r11
46514  .byte  77,133,192                          // test          %r8,%r8
46515  .byte  15,133,191,0,0,0                    // jne           459 <_sk_load_8888_dst_ssse3_lowp+0xcd>
46516  .byte  69,15,16,68,147,16                  // movups        0x10(%r11,%rdx,4),%xmm8
46517  .byte  102,65,15,16,60,147                 // movupd        (%r11,%rdx,4),%xmm7
46518  .byte  102,15,111,45,242,23,0,0            // movdqa        0x17f2(%rip),%xmm5        # 1ba0 <_sk_xor__ssse3_lowp+0x11b>
46519  .byte  102,15,40,231                       // movapd        %xmm7,%xmm4
46520  .byte  102,15,56,0,229                     // pshufb        %xmm5,%xmm4
46521  .byte  102,65,15,111,240                   // movdqa        %xmm8,%xmm6
46522  .byte  102,15,56,0,245                     // pshufb        %xmm5,%xmm6
46523  .byte  102,15,108,230                      // punpcklqdq    %xmm6,%xmm4
46524  .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
46525  .byte  102,68,15,111,13,221,23,0,0         // movdqa        0x17dd(%rip),%xmm9        # 1bb0 <_sk_xor__ssse3_lowp+0x12b>
46526  .byte  102,65,15,228,225                   // pmulhuw       %xmm9,%xmm4
46527  .byte  102,68,15,111,21,223,23,0,0         // movdqa        0x17df(%rip),%xmm10        # 1bc0 <_sk_xor__ssse3_lowp+0x13b>
46528  .byte  102,15,40,239                       // movapd        %xmm7,%xmm5
46529  .byte  102,65,15,56,0,234                  // pshufb        %xmm10,%xmm5
46530  .byte  102,65,15,111,240                   // movdqa        %xmm8,%xmm6
46531  .byte  102,65,15,56,0,242                  // pshufb        %xmm10,%xmm6
46532  .byte  102,15,108,238                      // punpcklqdq    %xmm6,%xmm5
46533  .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
46534  .byte  102,65,15,228,233                   // pmulhuw       %xmm9,%xmm5
46535  .byte  102,68,15,111,21,195,23,0,0         // movdqa        0x17c3(%rip),%xmm10        # 1bd0 <_sk_xor__ssse3_lowp+0x14b>
46536  .byte  102,15,40,247                       // movapd        %xmm7,%xmm6
46537  .byte  102,65,15,56,0,242                  // pshufb        %xmm10,%xmm6
46538  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
46539  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
46540  .byte  102,65,15,108,243                   // punpcklqdq    %xmm11,%xmm6
46541  .byte  102,15,113,246,8                    // psllw         $0x8,%xmm6
46542  .byte  102,65,15,228,241                   // pmulhuw       %xmm9,%xmm6
46543  .byte  102,68,15,111,21,166,23,0,0         // movdqa        0x17a6(%rip),%xmm10        # 1be0 <_sk_xor__ssse3_lowp+0x15b>
46544  .byte  102,65,15,56,0,250                  // pshufb        %xmm10,%xmm7
46545  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
46546  .byte  102,65,15,108,248                   // punpcklqdq    %xmm8,%xmm7
46547  .byte  102,15,113,247,8                    // psllw         $0x8,%xmm7
46548  .byte  102,65,15,228,249                   // pmulhuw       %xmm9,%xmm7
46549  .byte  72,173                              // lods          %ds:(%rsi),%rax
46550  .byte  255,224                             // jmpq          *%rax
46551  .byte  69,137,193                          // mov           %r8d,%r9d
46552  .byte  65,128,225,7                        // and           $0x7,%r9b
46553  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
46554  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
46555  .byte  65,254,201                          // dec           %r9b
46556  .byte  65,128,249,6                        // cmp           $0x6,%r9b
46557  .byte  15,135,48,255,255,255               // ja            3a6 <_sk_load_8888_dst_ssse3_lowp+0x1a>
46558  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
46559  .byte  76,141,21,95,0,0,0                  // lea           0x5f(%rip),%r10        # 4e0 <_sk_load_8888_dst_ssse3_lowp+0x154>
46560  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
46561  .byte  76,1,208                            // add           %r10,%rax
46562  .byte  255,224                             // jmpq          *%rax
46563  .byte  243,65,15,16,60,147                 // movss         (%r11,%rdx,4),%xmm7
46564  .byte  233,17,255,255,255                  // jmpq          3a6 <_sk_load_8888_dst_ssse3_lowp+0x1a>
46565  .byte  102,65,15,110,100,147,8             // movd          0x8(%r11,%rdx,4),%xmm4
46566  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
46567  .byte  102,65,15,18,60,147                 // movlpd        (%r11,%rdx,4),%xmm7
46568  .byte  233,250,254,255,255                 // jmpq          3a6 <_sk_load_8888_dst_ssse3_lowp+0x1a>
46569  .byte  102,65,15,110,100,147,24            // movd          0x18(%r11,%rdx,4),%xmm4
46570  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
46571  .byte  243,65,15,16,100,147,20             // movss         0x14(%r11,%rdx,4),%xmm4
46572  .byte  65,15,198,224,0                     // shufps        $0x0,%xmm8,%xmm4
46573  .byte  65,15,198,224,226                   // shufps        $0xe2,%xmm8,%xmm4
46574  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
46575  .byte  243,65,15,16,100,147,16             // movss         0x10(%r11,%rdx,4),%xmm4
46576  .byte  243,68,15,16,196                    // movss         %xmm4,%xmm8
46577  .byte  233,193,254,255,255                 // jmpq          3a0 <_sk_load_8888_dst_ssse3_lowp+0x14>
46578  .byte  144                                 // nop
46579  .byte  170                                 // stos          %al,%es:(%rdi)
46580  .byte  255                                 // (bad)
46581  .byte  255                                 // (bad)
46582  .byte  255,193                             // inc           %ecx
46583  .byte  255                                 // (bad)
46584  .byte  255                                 // (bad)
46585  .byte  255,181,255,255,255,192             // pushq         -0x3f000001(%rbp)
46586  .byte  254                                 // (bad)
46587  .byte  255                                 // (bad)
46588  .byte  255                                 // (bad)
46589  .byte  238                                 // out           %al,(%dx)
46590  .byte  255                                 // (bad)
46591  .byte  255                                 // (bad)
46592  .byte  255                                 // (bad)
46593  .byte  217,255                             // fcos
46594  .byte  255                                 // (bad)
46595  .byte  255,204                             // dec           %esp
46596  .byte  255                                 // (bad)
46597  .byte  255                                 // (bad)
46598  .byte  255                                 // .byte         0xff
46599
46600HIDDEN _sk_store_8888_ssse3_lowp
46601.globl _sk_store_8888_ssse3_lowp
46602FUNCTION(_sk_store_8888_ssse3_lowp)
46603_sk_store_8888_ssse3_lowp:
46604  .byte  72,173                              // lods          %ds:(%rsi),%rax
46605  .byte  76,139,24                           // mov           (%rax),%r11
46606  .byte  102,68,15,111,192                   // movdqa        %xmm0,%xmm8
46607  .byte  102,65,15,113,208,7                 // psrlw         $0x7,%xmm8
46608  .byte  102,68,15,111,21,219,22,0,0         // movdqa        0x16db(%rip),%xmm10        # 1bf0 <_sk_xor__ssse3_lowp+0x16b>
46609  .byte  102,69,15,234,194                   // pminsw        %xmm10,%xmm8
46610  .byte  102,69,15,239,219                   // pxor          %xmm11,%xmm11
46611  .byte  102,69,15,111,232                   // movdqa        %xmm8,%xmm13
46612  .byte  102,69,15,97,235                    // punpcklwd     %xmm11,%xmm13
46613  .byte  102,69,15,105,195                   // punpckhwd     %xmm11,%xmm8
46614  .byte  102,68,15,111,201                   // movdqa        %xmm1,%xmm9
46615  .byte  102,65,15,113,209,7                 // psrlw         $0x7,%xmm9
46616  .byte  102,69,15,234,202                   // pminsw        %xmm10,%xmm9
46617  .byte  102,69,15,111,225                   // movdqa        %xmm9,%xmm12
46618  .byte  102,69,15,105,227                   // punpckhwd     %xmm11,%xmm12
46619  .byte  102,69,15,97,203                    // punpcklwd     %xmm11,%xmm9
46620  .byte  102,65,15,114,241,8                 // pslld         $0x8,%xmm9
46621  .byte  102,65,15,114,244,8                 // pslld         $0x8,%xmm12
46622  .byte  102,69,15,235,224                   // por           %xmm8,%xmm12
46623  .byte  102,69,15,235,205                   // por           %xmm13,%xmm9
46624  .byte  102,68,15,111,234                   // movdqa        %xmm2,%xmm13
46625  .byte  102,65,15,113,213,7                 // psrlw         $0x7,%xmm13
46626  .byte  102,69,15,234,234                   // pminsw        %xmm10,%xmm13
46627  .byte  102,69,15,111,245                   // movdqa        %xmm13,%xmm14
46628  .byte  102,69,15,97,243                    // punpcklwd     %xmm11,%xmm14
46629  .byte  102,69,15,105,235                   // punpckhwd     %xmm11,%xmm13
46630  .byte  102,65,15,114,245,16                // pslld         $0x10,%xmm13
46631  .byte  102,65,15,114,246,16                // pslld         $0x10,%xmm14
46632  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
46633  .byte  102,65,15,113,208,7                 // psrlw         $0x7,%xmm8
46634  .byte  102,69,15,234,194                   // pminsw        %xmm10,%xmm8
46635  .byte  102,69,15,111,208                   // movdqa        %xmm8,%xmm10
46636  .byte  102,69,15,105,211                   // punpckhwd     %xmm11,%xmm10
46637  .byte  102,69,15,97,195                    // punpcklwd     %xmm11,%xmm8
46638  .byte  102,65,15,114,240,24                // pslld         $0x18,%xmm8
46639  .byte  102,65,15,114,242,24                // pslld         $0x18,%xmm10
46640  .byte  102,69,15,235,213                   // por           %xmm13,%xmm10
46641  .byte  102,69,15,235,212                   // por           %xmm12,%xmm10
46642  .byte  102,69,15,235,198                   // por           %xmm14,%xmm8
46643  .byte  102,69,15,235,193                   // por           %xmm9,%xmm8
46644  .byte  77,133,192                          // test          %r8,%r8
46645  .byte  117,17                              // jne           5e3 <_sk_store_8888_ssse3_lowp+0xe7>
46646  .byte  243,69,15,127,4,147                 // movdqu        %xmm8,(%r11,%rdx,4)
46647  .byte  243,69,15,127,84,147,16             // movdqu        %xmm10,0x10(%r11,%rdx,4)
46648  .byte  72,173                              // lods          %ds:(%rsi),%rax
46649  .byte  255,224                             // jmpq          *%rax
46650  .byte  69,137,193                          // mov           %r8d,%r9d
46651  .byte  65,128,225,7                        // and           $0x7,%r9b
46652  .byte  65,254,201                          // dec           %r9b
46653  .byte  65,128,249,6                        // cmp           $0x6,%r9b
46654  .byte  119,236                             // ja            5df <_sk_store_8888_ssse3_lowp+0xe3>
46655  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
46656  .byte  76,141,21,82,0,0,0                  // lea           0x52(%rip),%r10        # 650 <_sk_store_8888_ssse3_lowp+0x154>
46657  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
46658  .byte  76,1,208                            // add           %r10,%rax
46659  .byte  255,224                             // jmpq          *%rax
46660  .byte  102,69,15,126,4,147                 // movd          %xmm8,(%r11,%rdx,4)
46661  .byte  235,208                             // jmp           5df <_sk_store_8888_ssse3_lowp+0xe3>
46662  .byte  102,69,15,112,200,78                // pshufd        $0x4e,%xmm8,%xmm9
46663  .byte  102,69,15,126,76,147,8              // movd          %xmm9,0x8(%r11,%rdx,4)
46664  .byte  102,69,15,214,4,147                 // movq          %xmm8,(%r11,%rdx,4)
46665  .byte  235,187                             // jmp           5df <_sk_store_8888_ssse3_lowp+0xe3>
46666  .byte  102,69,15,112,202,78                // pshufd        $0x4e,%xmm10,%xmm9
46667  .byte  102,69,15,126,76,147,24             // movd          %xmm9,0x18(%r11,%rdx,4)
46668  .byte  102,69,15,112,202,229               // pshufd        $0xe5,%xmm10,%xmm9
46669  .byte  102,69,15,126,76,147,20             // movd          %xmm9,0x14(%r11,%rdx,4)
46670  .byte  102,69,15,126,84,147,16             // movd          %xmm10,0x10(%r11,%rdx,4)
46671  .byte  243,69,15,127,4,147                 // movdqu        %xmm8,(%r11,%rdx,4)
46672  .byte  235,146                             // jmp           5df <_sk_store_8888_ssse3_lowp+0xe3>
46673  .byte  15,31,0                             // nopl          (%rax)
46674  .byte  183,255                             // mov           $0xff,%bh
46675  .byte  255                                 // (bad)
46676  .byte  255,204                             // dec           %esp
46677  .byte  255                                 // (bad)
46678  .byte  255                                 // (bad)
46679  .byte  255                                 // (bad)
46680  .byte  191,255,255,255,245                 // mov           $0xf5ffffff,%edi
46681  .byte  255                                 // (bad)
46682  .byte  255                                 // (bad)
46683  .byte  255                                 // (bad)
46684  .byte  238                                 // out           %al,(%dx)
46685  .byte  255                                 // (bad)
46686  .byte  255                                 // (bad)
46687  .byte  255,225                             // jmpq          *%rcx
46688  .byte  255                                 // (bad)
46689  .byte  255                                 // (bad)
46690  .byte  255,212                             // callq         *%rsp
46691  .byte  255                                 // (bad)
46692  .byte  255                                 // (bad)
46693  .byte  255                                 // .byte         0xff
46694
46695HIDDEN _sk_load_bgra_ssse3_lowp
46696.globl _sk_load_bgra_ssse3_lowp
46697FUNCTION(_sk_load_bgra_ssse3_lowp)
46698_sk_load_bgra_ssse3_lowp:
46699  .byte  72,173                              // lods          %ds:(%rsi),%rax
46700  .byte  76,139,24                           // mov           (%rax),%r11
46701  .byte  77,133,192                          // test          %r8,%r8
46702  .byte  15,133,191,0,0,0                    // jne           739 <_sk_load_bgra_ssse3_lowp+0xcd>
46703  .byte  69,15,16,68,147,16                  // movups        0x10(%r11,%rdx,4),%xmm8
46704  .byte  102,65,15,16,28,147                 // movupd        (%r11,%rdx,4),%xmm3
46705  .byte  102,15,111,5,114,21,0,0             // movdqa        0x1572(%rip),%xmm0        # 1c00 <_sk_xor__ssse3_lowp+0x17b>
46706  .byte  102,15,40,211                       // movapd        %xmm3,%xmm2
46707  .byte  102,15,56,0,208                     // pshufb        %xmm0,%xmm2
46708  .byte  102,65,15,111,200                   // movdqa        %xmm8,%xmm1
46709  .byte  102,15,56,0,200                     // pshufb        %xmm0,%xmm1
46710  .byte  102,15,108,209                      // punpcklqdq    %xmm1,%xmm2
46711  .byte  102,15,113,242,8                    // psllw         $0x8,%xmm2
46712  .byte  102,68,15,111,13,93,21,0,0          // movdqa        0x155d(%rip),%xmm9        # 1c10 <_sk_xor__ssse3_lowp+0x18b>
46713  .byte  102,65,15,228,209                   // pmulhuw       %xmm9,%xmm2
46714  .byte  102,68,15,111,21,95,21,0,0          // movdqa        0x155f(%rip),%xmm10        # 1c20 <_sk_xor__ssse3_lowp+0x19b>
46715  .byte  102,15,40,203                       // movapd        %xmm3,%xmm1
46716  .byte  102,65,15,56,0,202                  // pshufb        %xmm10,%xmm1
46717  .byte  102,65,15,111,192                   // movdqa        %xmm8,%xmm0
46718  .byte  102,65,15,56,0,194                  // pshufb        %xmm10,%xmm0
46719  .byte  102,15,108,200                      // punpcklqdq    %xmm0,%xmm1
46720  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
46721  .byte  102,65,15,228,201                   // pmulhuw       %xmm9,%xmm1
46722  .byte  102,68,15,111,21,67,21,0,0          // movdqa        0x1543(%rip),%xmm10        # 1c30 <_sk_xor__ssse3_lowp+0x1ab>
46723  .byte  102,15,40,195                       // movapd        %xmm3,%xmm0
46724  .byte  102,65,15,56,0,194                  // pshufb        %xmm10,%xmm0
46725  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
46726  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
46727  .byte  102,65,15,108,195                   // punpcklqdq    %xmm11,%xmm0
46728  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
46729  .byte  102,65,15,228,193                   // pmulhuw       %xmm9,%xmm0
46730  .byte  102,68,15,111,21,38,21,0,0          // movdqa        0x1526(%rip),%xmm10        # 1c40 <_sk_xor__ssse3_lowp+0x1bb>
46731  .byte  102,65,15,56,0,218                  // pshufb        %xmm10,%xmm3
46732  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
46733  .byte  102,65,15,108,216                   // punpcklqdq    %xmm8,%xmm3
46734  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
46735  .byte  102,65,15,228,217                   // pmulhuw       %xmm9,%xmm3
46736  .byte  72,173                              // lods          %ds:(%rsi),%rax
46737  .byte  255,224                             // jmpq          *%rax
46738  .byte  69,137,193                          // mov           %r8d,%r9d
46739  .byte  65,128,225,7                        // and           $0x7,%r9b
46740  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
46741  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
46742  .byte  65,254,201                          // dec           %r9b
46743  .byte  65,128,249,6                        // cmp           $0x6,%r9b
46744  .byte  15,135,48,255,255,255               // ja            686 <_sk_load_bgra_ssse3_lowp+0x1a>
46745  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
46746  .byte  76,141,21,95,0,0,0                  // lea           0x5f(%rip),%r10        # 7c0 <_sk_load_bgra_ssse3_lowp+0x154>
46747  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
46748  .byte  76,1,208                            // add           %r10,%rax
46749  .byte  255,224                             // jmpq          *%rax
46750  .byte  243,65,15,16,28,147                 // movss         (%r11,%rdx,4),%xmm3
46751  .byte  233,17,255,255,255                  // jmpq          686 <_sk_load_bgra_ssse3_lowp+0x1a>
46752  .byte  102,65,15,110,68,147,8              // movd          0x8(%r11,%rdx,4),%xmm0
46753  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
46754  .byte  102,65,15,18,28,147                 // movlpd        (%r11,%rdx,4),%xmm3
46755  .byte  233,250,254,255,255                 // jmpq          686 <_sk_load_bgra_ssse3_lowp+0x1a>
46756  .byte  102,65,15,110,68,147,24             // movd          0x18(%r11,%rdx,4),%xmm0
46757  .byte  102,68,15,112,192,69                // pshufd        $0x45,%xmm0,%xmm8
46758  .byte  243,65,15,16,68,147,20              // movss         0x14(%r11,%rdx,4),%xmm0
46759  .byte  65,15,198,192,0                     // shufps        $0x0,%xmm8,%xmm0
46760  .byte  65,15,198,192,226                   // shufps        $0xe2,%xmm8,%xmm0
46761  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
46762  .byte  243,65,15,16,68,147,16              // movss         0x10(%r11,%rdx,4),%xmm0
46763  .byte  243,68,15,16,192                    // movss         %xmm0,%xmm8
46764  .byte  233,193,254,255,255                 // jmpq          680 <_sk_load_bgra_ssse3_lowp+0x14>
46765  .byte  144                                 // nop
46766  .byte  170                                 // stos          %al,%es:(%rdi)
46767  .byte  255                                 // (bad)
46768  .byte  255                                 // (bad)
46769  .byte  255,193                             // inc           %ecx
46770  .byte  255                                 // (bad)
46771  .byte  255                                 // (bad)
46772  .byte  255,181,255,255,255,192             // pushq         -0x3f000001(%rbp)
46773  .byte  254                                 // (bad)
46774  .byte  255                                 // (bad)
46775  .byte  255                                 // (bad)
46776  .byte  238                                 // out           %al,(%dx)
46777  .byte  255                                 // (bad)
46778  .byte  255                                 // (bad)
46779  .byte  255                                 // (bad)
46780  .byte  217,255                             // fcos
46781  .byte  255                                 // (bad)
46782  .byte  255,204                             // dec           %esp
46783  .byte  255                                 // (bad)
46784  .byte  255                                 // (bad)
46785  .byte  255                                 // .byte         0xff
46786
46787HIDDEN _sk_load_bgra_dst_ssse3_lowp
46788.globl _sk_load_bgra_dst_ssse3_lowp
46789FUNCTION(_sk_load_bgra_dst_ssse3_lowp)
46790_sk_load_bgra_dst_ssse3_lowp:
46791  .byte  72,173                              // lods          %ds:(%rsi),%rax
46792  .byte  76,139,24                           // mov           (%rax),%r11
46793  .byte  77,133,192                          // test          %r8,%r8
46794  .byte  15,133,191,0,0,0                    // jne           8a9 <_sk_load_bgra_dst_ssse3_lowp+0xcd>
46795  .byte  69,15,16,68,147,16                  // movups        0x10(%r11,%rdx,4),%xmm8
46796  .byte  102,65,15,16,60,147                 // movupd        (%r11,%rdx,4),%xmm7
46797  .byte  102,15,111,37,82,20,0,0             // movdqa        0x1452(%rip),%xmm4        # 1c50 <_sk_xor__ssse3_lowp+0x1cb>
46798  .byte  102,15,40,247                       // movapd        %xmm7,%xmm6
46799  .byte  102,15,56,0,244                     // pshufb        %xmm4,%xmm6
46800  .byte  102,65,15,111,232                   // movdqa        %xmm8,%xmm5
46801  .byte  102,15,56,0,236                     // pshufb        %xmm4,%xmm5
46802  .byte  102,15,108,245                      // punpcklqdq    %xmm5,%xmm6
46803  .byte  102,15,113,246,8                    // psllw         $0x8,%xmm6
46804  .byte  102,68,15,111,13,61,20,0,0          // movdqa        0x143d(%rip),%xmm9        # 1c60 <_sk_xor__ssse3_lowp+0x1db>
46805  .byte  102,65,15,228,241                   // pmulhuw       %xmm9,%xmm6
46806  .byte  102,68,15,111,21,63,20,0,0          // movdqa        0x143f(%rip),%xmm10        # 1c70 <_sk_xor__ssse3_lowp+0x1eb>
46807  .byte  102,15,40,239                       // movapd        %xmm7,%xmm5
46808  .byte  102,65,15,56,0,234                  // pshufb        %xmm10,%xmm5
46809  .byte  102,65,15,111,224                   // movdqa        %xmm8,%xmm4
46810  .byte  102,65,15,56,0,226                  // pshufb        %xmm10,%xmm4
46811  .byte  102,15,108,236                      // punpcklqdq    %xmm4,%xmm5
46812  .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
46813  .byte  102,65,15,228,233                   // pmulhuw       %xmm9,%xmm5
46814  .byte  102,68,15,111,21,35,20,0,0          // movdqa        0x1423(%rip),%xmm10        # 1c80 <_sk_xor__ssse3_lowp+0x1fb>
46815  .byte  102,15,40,231                       // movapd        %xmm7,%xmm4
46816  .byte  102,65,15,56,0,226                  // pshufb        %xmm10,%xmm4
46817  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
46818  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
46819  .byte  102,65,15,108,227                   // punpcklqdq    %xmm11,%xmm4
46820  .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
46821  .byte  102,65,15,228,225                   // pmulhuw       %xmm9,%xmm4
46822  .byte  102,68,15,111,21,6,20,0,0           // movdqa        0x1406(%rip),%xmm10        # 1c90 <_sk_xor__ssse3_lowp+0x20b>
46823  .byte  102,65,15,56,0,250                  // pshufb        %xmm10,%xmm7
46824  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
46825  .byte  102,65,15,108,248                   // punpcklqdq    %xmm8,%xmm7
46826  .byte  102,15,113,247,8                    // psllw         $0x8,%xmm7
46827  .byte  102,65,15,228,249                   // pmulhuw       %xmm9,%xmm7
46828  .byte  72,173                              // lods          %ds:(%rsi),%rax
46829  .byte  255,224                             // jmpq          *%rax
46830  .byte  69,137,193                          // mov           %r8d,%r9d
46831  .byte  65,128,225,7                        // and           $0x7,%r9b
46832  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
46833  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
46834  .byte  65,254,201                          // dec           %r9b
46835  .byte  65,128,249,6                        // cmp           $0x6,%r9b
46836  .byte  15,135,48,255,255,255               // ja            7f6 <_sk_load_bgra_dst_ssse3_lowp+0x1a>
46837  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
46838  .byte  76,141,21,95,0,0,0                  // lea           0x5f(%rip),%r10        # 930 <_sk_load_bgra_dst_ssse3_lowp+0x154>
46839  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
46840  .byte  76,1,208                            // add           %r10,%rax
46841  .byte  255,224                             // jmpq          *%rax
46842  .byte  243,65,15,16,60,147                 // movss         (%r11,%rdx,4),%xmm7
46843  .byte  233,17,255,255,255                  // jmpq          7f6 <_sk_load_bgra_dst_ssse3_lowp+0x1a>
46844  .byte  102,65,15,110,100,147,8             // movd          0x8(%r11,%rdx,4),%xmm4
46845  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
46846  .byte  102,65,15,18,60,147                 // movlpd        (%r11,%rdx,4),%xmm7
46847  .byte  233,250,254,255,255                 // jmpq          7f6 <_sk_load_bgra_dst_ssse3_lowp+0x1a>
46848  .byte  102,65,15,110,100,147,24            // movd          0x18(%r11,%rdx,4),%xmm4
46849  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
46850  .byte  243,65,15,16,100,147,20             // movss         0x14(%r11,%rdx,4),%xmm4
46851  .byte  65,15,198,224,0                     // shufps        $0x0,%xmm8,%xmm4
46852  .byte  65,15,198,224,226                   // shufps        $0xe2,%xmm8,%xmm4
46853  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
46854  .byte  243,65,15,16,100,147,16             // movss         0x10(%r11,%rdx,4),%xmm4
46855  .byte  243,68,15,16,196                    // movss         %xmm4,%xmm8
46856  .byte  233,193,254,255,255                 // jmpq          7f0 <_sk_load_bgra_dst_ssse3_lowp+0x14>
46857  .byte  144                                 // nop
46858  .byte  170                                 // stos          %al,%es:(%rdi)
46859  .byte  255                                 // (bad)
46860  .byte  255                                 // (bad)
46861  .byte  255,193                             // inc           %ecx
46862  .byte  255                                 // (bad)
46863  .byte  255                                 // (bad)
46864  .byte  255,181,255,255,255,192             // pushq         -0x3f000001(%rbp)
46865  .byte  254                                 // (bad)
46866  .byte  255                                 // (bad)
46867  .byte  255                                 // (bad)
46868  .byte  238                                 // out           %al,(%dx)
46869  .byte  255                                 // (bad)
46870  .byte  255                                 // (bad)
46871  .byte  255                                 // (bad)
46872  .byte  217,255                             // fcos
46873  .byte  255                                 // (bad)
46874  .byte  255,204                             // dec           %esp
46875  .byte  255                                 // (bad)
46876  .byte  255                                 // (bad)
46877  .byte  255                                 // .byte         0xff
46878
46879HIDDEN _sk_store_bgra_ssse3_lowp
46880.globl _sk_store_bgra_ssse3_lowp
46881FUNCTION(_sk_store_bgra_ssse3_lowp)
46882_sk_store_bgra_ssse3_lowp:
46883  .byte  15,41,124,36,232                    // movaps        %xmm7,-0x18(%rsp)
46884  .byte  102,68,15,111,210                   // movdqa        %xmm2,%xmm10
46885  .byte  102,65,15,113,210,7                 // psrlw         $0x7,%xmm10
46886  .byte  102,68,15,111,13,59,19,0,0          // movdqa        0x133b(%rip),%xmm9        # 1ca0 <_sk_xor__ssse3_lowp+0x21b>
46887  .byte  102,69,15,234,209                   // pminsw        %xmm9,%xmm10
46888  .byte  102,69,15,239,246                   // pxor          %xmm14,%xmm14
46889  .byte  102,65,15,111,250                   // movdqa        %xmm10,%xmm7
46890  .byte  102,65,15,97,254                    // punpcklwd     %xmm14,%xmm7
46891  .byte  102,69,15,105,214                   // punpckhwd     %xmm14,%xmm10
46892  .byte  102,68,15,111,225                   // movdqa        %xmm1,%xmm12
46893  .byte  102,65,15,113,212,7                 // psrlw         $0x7,%xmm12
46894  .byte  102,69,15,234,225                   // pminsw        %xmm9,%xmm12
46895  .byte  102,69,15,111,236                   // movdqa        %xmm12,%xmm13
46896  .byte  102,69,15,97,238                    // punpcklwd     %xmm14,%xmm13
46897  .byte  102,69,15,105,230                   // punpckhwd     %xmm14,%xmm12
46898  .byte  102,68,15,111,248                   // movdqa        %xmm0,%xmm15
46899  .byte  102,65,15,113,215,7                 // psrlw         $0x7,%xmm15
46900  .byte  102,69,15,234,249                   // pminsw        %xmm9,%xmm15
46901  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
46902  .byte  102,65,15,113,208,7                 // psrlw         $0x7,%xmm8
46903  .byte  102,69,15,234,193                   // pminsw        %xmm9,%xmm8
46904  .byte  102,69,15,111,207                   // movdqa        %xmm15,%xmm9
46905  .byte  102,69,15,105,206                   // punpckhwd     %xmm14,%xmm9
46906  .byte  102,69,15,97,254                    // punpcklwd     %xmm14,%xmm15
46907  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
46908  .byte  102,69,15,105,222                   // punpckhwd     %xmm14,%xmm11
46909  .byte  102,69,15,97,198                    // punpcklwd     %xmm14,%xmm8
46910  .byte  102,65,15,114,241,16                // pslld         $0x10,%xmm9
46911  .byte  102,69,15,235,202                   // por           %xmm10,%xmm9
46912  .byte  102,65,15,114,247,16                // pslld         $0x10,%xmm15
46913  .byte  102,68,15,235,255                   // por           %xmm7,%xmm15
46914  .byte  102,65,15,114,244,8                 // pslld         $0x8,%xmm12
46915  .byte  102,65,15,114,243,24                // pslld         $0x18,%xmm11
46916  .byte  102,69,15,235,220                   // por           %xmm12,%xmm11
46917  .byte  102,69,15,235,217                   // por           %xmm9,%xmm11
46918  .byte  102,65,15,114,245,8                 // pslld         $0x8,%xmm13
46919  .byte  102,65,15,114,240,24                // pslld         $0x18,%xmm8
46920  .byte  102,69,15,235,197                   // por           %xmm13,%xmm8
46921  .byte  102,69,15,235,199                   // por           %xmm15,%xmm8
46922  .byte  72,173                              // lods          %ds:(%rsi),%rax
46923  .byte  76,139,24                           // mov           (%rax),%r11
46924  .byte  77,133,192                          // test          %r8,%r8
46925  .byte  117,22                              // jne           a3d <_sk_store_bgra_ssse3_lowp+0xf1>
46926  .byte  243,69,15,127,4,147                 // movdqu        %xmm8,(%r11,%rdx,4)
46927  .byte  243,69,15,127,92,147,16             // movdqu        %xmm11,0x10(%r11,%rdx,4)
46928  .byte  72,173                              // lods          %ds:(%rsi),%rax
46929  .byte  15,40,124,36,232                    // movaps        -0x18(%rsp),%xmm7
46930  .byte  255,224                             // jmpq          *%rax
46931  .byte  69,137,193                          // mov           %r8d,%r9d
46932  .byte  65,128,225,7                        // and           $0x7,%r9b
46933  .byte  65,254,201                          // dec           %r9b
46934  .byte  65,128,249,6                        // cmp           $0x6,%r9b
46935  .byte  119,231                             // ja            a34 <_sk_store_bgra_ssse3_lowp+0xe8>
46936  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
46937  .byte  76,141,21,80,0,0,0                  // lea           0x50(%rip),%r10        # aa8 <_sk_store_bgra_ssse3_lowp+0x15c>
46938  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
46939  .byte  76,1,208                            // add           %r10,%rax
46940  .byte  255,224                             // jmpq          *%rax
46941  .byte  102,69,15,126,4,147                 // movd          %xmm8,(%r11,%rdx,4)
46942  .byte  235,203                             // jmp           a34 <_sk_store_bgra_ssse3_lowp+0xe8>
46943  .byte  102,65,15,112,248,78                // pshufd        $0x4e,%xmm8,%xmm7
46944  .byte  102,65,15,126,124,147,8             // movd          %xmm7,0x8(%r11,%rdx,4)
46945  .byte  102,69,15,214,4,147                 // movq          %xmm8,(%r11,%rdx,4)
46946  .byte  235,182                             // jmp           a34 <_sk_store_bgra_ssse3_lowp+0xe8>
46947  .byte  102,65,15,112,251,78                // pshufd        $0x4e,%xmm11,%xmm7
46948  .byte  102,65,15,126,124,147,24            // movd          %xmm7,0x18(%r11,%rdx,4)
46949  .byte  102,65,15,112,251,229               // pshufd        $0xe5,%xmm11,%xmm7
46950  .byte  102,65,15,126,124,147,20            // movd          %xmm7,0x14(%r11,%rdx,4)
46951  .byte  102,69,15,126,92,147,16             // movd          %xmm11,0x10(%r11,%rdx,4)
46952  .byte  243,69,15,127,4,147                 // movdqu        %xmm8,(%r11,%rdx,4)
46953  .byte  235,141                             // jmp           a34 <_sk_store_bgra_ssse3_lowp+0xe8>
46954  .byte  144                                 // nop
46955  .byte  185,255,255,255,206                 // mov           $0xceffffff,%ecx
46956  .byte  255                                 // (bad)
46957  .byte  255                                 // (bad)
46958  .byte  255,193                             // inc           %ecx
46959  .byte  255                                 // (bad)
46960  .byte  255                                 // (bad)
46961  .byte  255,247                             // push          %rdi
46962  .byte  255                                 // (bad)
46963  .byte  255                                 // (bad)
46964  .byte  255,240                             // push          %rax
46965  .byte  255                                 // (bad)
46966  .byte  255                                 // (bad)
46967  .byte  255,227                             // jmpq          *%rbx
46968  .byte  255                                 // (bad)
46969  .byte  255                                 // (bad)
46970  .byte  255,214                             // callq         *%rsi
46971  .byte  255                                 // (bad)
46972  .byte  255                                 // (bad)
46973  .byte  255                                 // .byte         0xff
46974
46975HIDDEN _sk_load_a8_ssse3_lowp
46976.globl _sk_load_a8_ssse3_lowp
46977FUNCTION(_sk_load_a8_ssse3_lowp)
46978_sk_load_a8_ssse3_lowp:
46979  .byte  72,173                              // lods          %ds:(%rsi),%rax
46980  .byte  76,139,24                           // mov           (%rax),%r11
46981  .byte  77,133,192                          // test          %r8,%r8
46982  .byte  117,37                              // jne           af3 <_sk_load_a8_ssse3_lowp+0x2f>
46983  .byte  243,65,15,126,28,19                 // movq          (%r11,%rdx,1),%xmm3
46984  .byte  102,15,96,216                       // punpcklbw     %xmm0,%xmm3
46985  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
46986  .byte  102,15,228,29,203,17,0,0            // pmulhuw       0x11cb(%rip),%xmm3        # 1cb0 <_sk_xor__ssse3_lowp+0x22b>
46987  .byte  72,173                              // lods          %ds:(%rsi),%rax
46988  .byte  102,15,87,192                       // xorpd         %xmm0,%xmm0
46989  .byte  15,87,201                           // xorps         %xmm1,%xmm1
46990  .byte  15,87,210                           // xorps         %xmm2,%xmm2
46991  .byte  255,224                             // jmpq          *%rax
46992  .byte  69,137,193                          // mov           %r8d,%r9d
46993  .byte  65,128,225,7                        // and           $0x7,%r9b
46994  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
46995  .byte  65,254,201                          // dec           %r9b
46996  .byte  65,128,249,6                        // cmp           $0x6,%r9b
46997  .byte  119,209                             // ja            ad8 <_sk_load_a8_ssse3_lowp+0x14>
46998  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
46999  .byte  76,141,21,110,0,0,0                 // lea           0x6e(%rip),%r10        # b80 <_sk_load_a8_ssse3_lowp+0xbc>
47000  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
47001  .byte  76,1,208                            // add           %r10,%rax
47002  .byte  255,224                             // jmpq          *%rax
47003  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
47004  .byte  102,15,110,216                      // movd          %eax,%xmm3
47005  .byte  235,178                             // jmp           ad8 <_sk_load_a8_ssse3_lowp+0x14>
47006  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
47007  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
47008  .byte  102,15,196,216,2                    // pinsrw        $0x2,%eax,%xmm3
47009  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
47010  .byte  102,15,110,192                      // movd          %eax,%xmm0
47011  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
47012  .byte  243,15,16,216                       // movss         %xmm0,%xmm3
47013  .byte  235,144                             // jmp           ad8 <_sk_load_a8_ssse3_lowp+0x14>
47014  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
47015  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
47016  .byte  102,15,196,216,6                    // pinsrw        $0x6,%eax,%xmm3
47017  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
47018  .byte  102,15,196,216,5                    // pinsrw        $0x5,%eax,%xmm3
47019  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
47020  .byte  102,15,196,216,4                    // pinsrw        $0x4,%eax,%xmm3
47021  .byte  102,65,15,110,4,19                  // movd          (%r11,%rdx,1),%xmm0
47022  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
47023  .byte  242,15,16,216                       // movsd         %xmm0,%xmm3
47024  .byte  233,88,255,255,255                  // jmpq          ad8 <_sk_load_a8_ssse3_lowp+0x14>
47025  .byte  155                                 // fwait
47026  .byte  255                                 // (bad)
47027  .byte  255                                 // (bad)
47028  .byte  255,181,255,255,255,166             // pushq         -0x59000001(%rbp)
47029  .byte  255                                 // (bad)
47030  .byte  255                                 // (bad)
47031  .byte  255                                 // (bad)
47032  .byte  237                                 // in            (%dx),%eax
47033  .byte  255                                 // (bad)
47034  .byte  255                                 // (bad)
47035  .byte  255,226                             // jmpq          *%rdx
47036  .byte  255                                 // (bad)
47037  .byte  255                                 // (bad)
47038  .byte  255,215                             // callq         *%rdi
47039  .byte  255                                 // (bad)
47040  .byte  255                                 // (bad)
47041  .byte  255,200                             // dec           %eax
47042  .byte  255                                 // (bad)
47043  .byte  255                                 // (bad)
47044  .byte  255                                 // .byte         0xff
47045
47046HIDDEN _sk_load_a8_dst_ssse3_lowp
47047.globl _sk_load_a8_dst_ssse3_lowp
47048FUNCTION(_sk_load_a8_dst_ssse3_lowp)
47049_sk_load_a8_dst_ssse3_lowp:
47050  .byte  72,173                              // lods          %ds:(%rsi),%rax
47051  .byte  76,139,24                           // mov           (%rax),%r11
47052  .byte  77,133,192                          // test          %r8,%r8
47053  .byte  117,37                              // jne           bcb <_sk_load_a8_dst_ssse3_lowp+0x2f>
47054  .byte  243,65,15,126,60,19                 // movq          (%r11,%rdx,1),%xmm7
47055  .byte  102,15,96,248                       // punpcklbw     %xmm0,%xmm7
47056  .byte  102,15,113,247,8                    // psllw         $0x8,%xmm7
47057  .byte  102,15,228,61,3,17,0,0              // pmulhuw       0x1103(%rip),%xmm7        # 1cc0 <_sk_xor__ssse3_lowp+0x23b>
47058  .byte  72,173                              // lods          %ds:(%rsi),%rax
47059  .byte  102,15,87,228                       // xorpd         %xmm4,%xmm4
47060  .byte  15,87,237                           // xorps         %xmm5,%xmm5
47061  .byte  15,87,246                           // xorps         %xmm6,%xmm6
47062  .byte  255,224                             // jmpq          *%rax
47063  .byte  69,137,193                          // mov           %r8d,%r9d
47064  .byte  65,128,225,7                        // and           $0x7,%r9b
47065  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
47066  .byte  65,254,201                          // dec           %r9b
47067  .byte  65,128,249,6                        // cmp           $0x6,%r9b
47068  .byte  119,209                             // ja            bb0 <_sk_load_a8_dst_ssse3_lowp+0x14>
47069  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
47070  .byte  76,141,21,110,0,0,0                 // lea           0x6e(%rip),%r10        # c58 <_sk_load_a8_dst_ssse3_lowp+0xbc>
47071  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
47072  .byte  76,1,208                            // add           %r10,%rax
47073  .byte  255,224                             // jmpq          *%rax
47074  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
47075  .byte  102,15,110,248                      // movd          %eax,%xmm7
47076  .byte  235,178                             // jmp           bb0 <_sk_load_a8_dst_ssse3_lowp+0x14>
47077  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
47078  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
47079  .byte  102,15,196,248,2                    // pinsrw        $0x2,%eax,%xmm7
47080  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
47081  .byte  102,15,110,224                      // movd          %eax,%xmm4
47082  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
47083  .byte  243,15,16,252                       // movss         %xmm4,%xmm7
47084  .byte  235,144                             // jmp           bb0 <_sk_load_a8_dst_ssse3_lowp+0x14>
47085  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
47086  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
47087  .byte  102,15,196,248,6                    // pinsrw        $0x6,%eax,%xmm7
47088  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
47089  .byte  102,15,196,248,5                    // pinsrw        $0x5,%eax,%xmm7
47090  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
47091  .byte  102,15,196,248,4                    // pinsrw        $0x4,%eax,%xmm7
47092  .byte  102,65,15,110,36,19                 // movd          (%r11,%rdx,1),%xmm4
47093  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
47094  .byte  242,15,16,252                       // movsd         %xmm4,%xmm7
47095  .byte  233,88,255,255,255                  // jmpq          bb0 <_sk_load_a8_dst_ssse3_lowp+0x14>
47096  .byte  155                                 // fwait
47097  .byte  255                                 // (bad)
47098  .byte  255                                 // (bad)
47099  .byte  255,181,255,255,255,166             // pushq         -0x59000001(%rbp)
47100  .byte  255                                 // (bad)
47101  .byte  255                                 // (bad)
47102  .byte  255                                 // (bad)
47103  .byte  237                                 // in            (%dx),%eax
47104  .byte  255                                 // (bad)
47105  .byte  255                                 // (bad)
47106  .byte  255,226                             // jmpq          *%rdx
47107  .byte  255                                 // (bad)
47108  .byte  255                                 // (bad)
47109  .byte  255,215                             // callq         *%rdi
47110  .byte  255                                 // (bad)
47111  .byte  255                                 // (bad)
47112  .byte  255,200                             // dec           %eax
47113  .byte  255                                 // (bad)
47114  .byte  255                                 // (bad)
47115  .byte  255                                 // .byte         0xff
47116
47117HIDDEN _sk_store_a8_ssse3_lowp
47118.globl _sk_store_a8_ssse3_lowp
47119FUNCTION(_sk_store_a8_ssse3_lowp)
47120_sk_store_a8_ssse3_lowp:
47121  .byte  72,173                              // lods          %ds:(%rsi),%rax
47122  .byte  76,139,24                           // mov           (%rax),%r11
47123  .byte  102,68,15,111,195                   // movdqa        %xmm3,%xmm8
47124  .byte  102,65,15,113,208,7                 // psrlw         $0x7,%xmm8
47125  .byte  102,69,15,103,192                   // packuswb      %xmm8,%xmm8
47126  .byte  77,133,192                          // test          %r8,%r8
47127  .byte  117,10                              // jne           c98 <_sk_store_a8_ssse3_lowp+0x24>
47128  .byte  242,69,15,17,4,19                   // movsd         %xmm8,(%r11,%rdx,1)
47129  .byte  72,173                              // lods          %ds:(%rsi),%rax
47130  .byte  255,224                             // jmpq          *%rax
47131  .byte  69,137,193                          // mov           %r8d,%r9d
47132  .byte  65,128,225,7                        // and           $0x7,%r9b
47133  .byte  65,254,201                          // dec           %r9b
47134  .byte  65,128,249,6                        // cmp           $0x6,%r9b
47135  .byte  119,236                             // ja            c94 <_sk_store_a8_ssse3_lowp+0x20>
47136  .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
47137  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
47138  .byte  76,141,21,136,0,0,0                 // lea           0x88(%rip),%r10        # d40 <_sk_store_a8_ssse3_lowp+0xcc>
47139  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
47140  .byte  76,1,208                            // add           %r10,%rax
47141  .byte  255,224                             // jmpq          *%rax
47142  .byte  102,68,15,127,68,36,168             // movdqa        %xmm8,-0x58(%rsp)
47143  .byte  138,68,36,168                       // mov           -0x58(%rsp),%al
47144  .byte  65,136,4,19                         // mov           %al,(%r11,%rdx,1)
47145  .byte  235,194                             // jmp           c94 <_sk_store_a8_ssse3_lowp+0x20>
47146  .byte  102,68,15,127,68,36,184             // movdqa        %xmm8,-0x48(%rsp)
47147  .byte  138,68,36,188                       // mov           -0x44(%rsp),%al
47148  .byte  65,136,68,19,2                      // mov           %al,0x2(%r11,%rdx,1)
47149  .byte  102,68,15,56,0,5,244,15,0,0         // pshufb        0xff4(%rip),%xmm8        # 1ce0 <_sk_xor__ssse3_lowp+0x25b>
47150  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
47151  .byte  102,65,137,4,19                     // mov           %ax,(%r11,%rdx,1)
47152  .byte  235,156                             // jmp           c94 <_sk_store_a8_ssse3_lowp+0x20>
47153  .byte  102,68,15,127,68,36,232             // movdqa        %xmm8,-0x18(%rsp)
47154  .byte  138,68,36,244                       // mov           -0xc(%rsp),%al
47155  .byte  65,136,68,19,6                      // mov           %al,0x6(%r11,%rdx,1)
47156  .byte  102,68,15,127,68,36,216             // movdqa        %xmm8,-0x28(%rsp)
47157  .byte  138,68,36,226                       // mov           -0x1e(%rsp),%al
47158  .byte  65,136,68,19,5                      // mov           %al,0x5(%r11,%rdx,1)
47159  .byte  102,68,15,127,68,36,200             // movdqa        %xmm8,-0x38(%rsp)
47160  .byte  138,68,36,208                       // mov           -0x30(%rsp),%al
47161  .byte  65,136,68,19,4                      // mov           %al,0x4(%r11,%rdx,1)
47162  .byte  102,68,15,56,0,5,158,15,0,0         // pshufb        0xf9e(%rip),%xmm8        # 1cd0 <_sk_xor__ssse3_lowp+0x24b>
47163  .byte  102,69,15,126,4,19                  // movd          %xmm8,(%r11,%rdx,1)
47164  .byte  233,87,255,255,255                  // jmpq          c94 <_sk_store_a8_ssse3_lowp+0x20>
47165  .byte  15,31,0                             // nopl          (%rax)
47166  .byte  129,255,255,255,162,255             // cmp           $0xffa2ffff,%edi
47167  .byte  255                                 // (bad)
47168  .byte  255,146,255,255,255,232             // callq         *-0x17000001(%rdx)
47169  .byte  255                                 // (bad)
47170  .byte  255                                 // (bad)
47171  .byte  255                                 // (bad)
47172  .byte  216,255                             // fdivr         %st(7),%st
47173  .byte  255                                 // (bad)
47174  .byte  255,200                             // dec           %eax
47175  .byte  255                                 // (bad)
47176  .byte  255                                 // (bad)
47177  .byte  255                                 // (bad)
47178  .byte  184                                 // .byte         0xb8
47179  .byte  255                                 // (bad)
47180  .byte  255                                 // (bad)
47181  .byte  255                                 // .byte         0xff
47182
47183HIDDEN _sk_load_g8_ssse3_lowp
47184.globl _sk_load_g8_ssse3_lowp
47185FUNCTION(_sk_load_g8_ssse3_lowp)
47186_sk_load_g8_ssse3_lowp:
47187  .byte  72,173                              // lods          %ds:(%rsi),%rax
47188  .byte  76,139,24                           // mov           (%rax),%r11
47189  .byte  77,133,192                          // test          %r8,%r8
47190  .byte  117,42                              // jne           d90 <_sk_load_g8_ssse3_lowp+0x34>
47191  .byte  243,65,15,126,4,19                  // movq          (%r11,%rdx,1),%xmm0
47192  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
47193  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
47194  .byte  102,15,228,5,115,15,0,0             // pmulhuw       0xf73(%rip),%xmm0        # 1cf0 <_sk_xor__ssse3_lowp+0x26b>
47195  .byte  72,173                              // lods          %ds:(%rsi),%rax
47196  .byte  15,40,29,122,15,0,0                 // movaps        0xf7a(%rip),%xmm3        # 1d00 <_sk_xor__ssse3_lowp+0x27b>
47197  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
47198  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
47199  .byte  255,224                             // jmpq          *%rax
47200  .byte  69,137,193                          // mov           %r8d,%r9d
47201  .byte  65,128,225,7                        // and           $0x7,%r9b
47202  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
47203  .byte  65,254,201                          // dec           %r9b
47204  .byte  65,128,249,6                        // cmp           $0x6,%r9b
47205  .byte  119,204                             // ja            d70 <_sk_load_g8_ssse3_lowp+0x14>
47206  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
47207  .byte  76,141,21,113,0,0,0                 // lea           0x71(%rip),%r10        # e20 <_sk_load_g8_ssse3_lowp+0xc4>
47208  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
47209  .byte  76,1,208                            // add           %r10,%rax
47210  .byte  255,224                             // jmpq          *%rax
47211  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
47212  .byte  102,15,110,192                      // movd          %eax,%xmm0
47213  .byte  235,173                             // jmp           d70 <_sk_load_g8_ssse3_lowp+0x14>
47214  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
47215  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
47216  .byte  102,15,196,192,2                    // pinsrw        $0x2,%eax,%xmm0
47217  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
47218  .byte  102,15,110,200                      // movd          %eax,%xmm1
47219  .byte  102,15,96,200                       // punpcklbw     %xmm0,%xmm1
47220  .byte  243,15,16,193                       // movss         %xmm1,%xmm0
47221  .byte  235,139                             // jmp           d70 <_sk_load_g8_ssse3_lowp+0x14>
47222  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
47223  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
47224  .byte  102,15,196,192,6                    // pinsrw        $0x6,%eax,%xmm0
47225  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
47226  .byte  102,15,196,192,5                    // pinsrw        $0x5,%eax,%xmm0
47227  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
47228  .byte  102,15,196,192,4                    // pinsrw        $0x4,%eax,%xmm0
47229  .byte  102,65,15,110,12,19                 // movd          (%r11,%rdx,1),%xmm1
47230  .byte  102,15,96,200                       // punpcklbw     %xmm0,%xmm1
47231  .byte  242,15,16,193                       // movsd         %xmm1,%xmm0
47232  .byte  233,83,255,255,255                  // jmpq          d70 <_sk_load_g8_ssse3_lowp+0x14>
47233  .byte  15,31,0                             // nopl          (%rax)
47234  .byte  152                                 // cwtl
47235  .byte  255                                 // (bad)
47236  .byte  255                                 // (bad)
47237  .byte  255,178,255,255,255,163             // pushq         -0x5c000001(%rdx)
47238  .byte  255                                 // (bad)
47239  .byte  255                                 // (bad)
47240  .byte  255                                 // (bad)
47241  .byte  234                                 // (bad)
47242  .byte  255                                 // (bad)
47243  .byte  255                                 // (bad)
47244  .byte  255                                 // (bad)
47245  .byte  223,255                             // (bad)
47246  .byte  255                                 // (bad)
47247  .byte  255,212                             // callq         *%rsp
47248  .byte  255                                 // (bad)
47249  .byte  255                                 // (bad)
47250  .byte  255,197                             // inc           %ebp
47251  .byte  255                                 // (bad)
47252  .byte  255                                 // (bad)
47253  .byte  255                                 // .byte         0xff
47254
47255HIDDEN _sk_load_g8_dst_ssse3_lowp
47256.globl _sk_load_g8_dst_ssse3_lowp
47257FUNCTION(_sk_load_g8_dst_ssse3_lowp)
47258_sk_load_g8_dst_ssse3_lowp:
47259  .byte  72,173                              // lods          %ds:(%rsi),%rax
47260  .byte  76,139,24                           // mov           (%rax),%r11
47261  .byte  77,133,192                          // test          %r8,%r8
47262  .byte  117,42                              // jne           e70 <_sk_load_g8_dst_ssse3_lowp+0x34>
47263  .byte  243,65,15,126,36,19                 // movq          (%r11,%rdx,1),%xmm4
47264  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
47265  .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
47266  .byte  102,15,228,37,179,14,0,0            // pmulhuw       0xeb3(%rip),%xmm4        # 1d10 <_sk_xor__ssse3_lowp+0x28b>
47267  .byte  72,173                              // lods          %ds:(%rsi),%rax
47268  .byte  15,40,61,186,14,0,0                 // movaps        0xeba(%rip),%xmm7        # 1d20 <_sk_xor__ssse3_lowp+0x29b>
47269  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
47270  .byte  102,15,111,244                      // movdqa        %xmm4,%xmm6
47271  .byte  255,224                             // jmpq          *%rax
47272  .byte  69,137,193                          // mov           %r8d,%r9d
47273  .byte  65,128,225,7                        // and           $0x7,%r9b
47274  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
47275  .byte  65,254,201                          // dec           %r9b
47276  .byte  65,128,249,6                        // cmp           $0x6,%r9b
47277  .byte  119,204                             // ja            e50 <_sk_load_g8_dst_ssse3_lowp+0x14>
47278  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
47279  .byte  76,141,21,113,0,0,0                 // lea           0x71(%rip),%r10        # f00 <_sk_load_g8_dst_ssse3_lowp+0xc4>
47280  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
47281  .byte  76,1,208                            // add           %r10,%rax
47282  .byte  255,224                             // jmpq          *%rax
47283  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
47284  .byte  102,15,110,224                      // movd          %eax,%xmm4
47285  .byte  235,173                             // jmp           e50 <_sk_load_g8_dst_ssse3_lowp+0x14>
47286  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
47287  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
47288  .byte  102,15,196,224,2                    // pinsrw        $0x2,%eax,%xmm4
47289  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
47290  .byte  102,15,110,232                      // movd          %eax,%xmm5
47291  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
47292  .byte  243,15,16,229                       // movss         %xmm5,%xmm4
47293  .byte  235,139                             // jmp           e50 <_sk_load_g8_dst_ssse3_lowp+0x14>
47294  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
47295  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
47296  .byte  102,15,196,224,6                    // pinsrw        $0x6,%eax,%xmm4
47297  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
47298  .byte  102,15,196,224,5                    // pinsrw        $0x5,%eax,%xmm4
47299  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
47300  .byte  102,15,196,224,4                    // pinsrw        $0x4,%eax,%xmm4
47301  .byte  102,65,15,110,44,19                 // movd          (%r11,%rdx,1),%xmm5
47302  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
47303  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
47304  .byte  233,83,255,255,255                  // jmpq          e50 <_sk_load_g8_dst_ssse3_lowp+0x14>
47305  .byte  15,31,0                             // nopl          (%rax)
47306  .byte  152                                 // cwtl
47307  .byte  255                                 // (bad)
47308  .byte  255                                 // (bad)
47309  .byte  255,178,255,255,255,163             // pushq         -0x5c000001(%rdx)
47310  .byte  255                                 // (bad)
47311  .byte  255                                 // (bad)
47312  .byte  255                                 // (bad)
47313  .byte  234                                 // (bad)
47314  .byte  255                                 // (bad)
47315  .byte  255                                 // (bad)
47316  .byte  255                                 // (bad)
47317  .byte  223,255                             // (bad)
47318  .byte  255                                 // (bad)
47319  .byte  255,212                             // callq         *%rsp
47320  .byte  255                                 // (bad)
47321  .byte  255                                 // (bad)
47322  .byte  255,197                             // inc           %ebp
47323  .byte  255                                 // (bad)
47324  .byte  255                                 // (bad)
47325  .byte  255                                 // .byte         0xff
47326
47327HIDDEN _sk_srcover_rgba_8888_ssse3_lowp
47328.globl _sk_srcover_rgba_8888_ssse3_lowp
47329FUNCTION(_sk_srcover_rgba_8888_ssse3_lowp)
47330_sk_srcover_rgba_8888_ssse3_lowp:
47331  .byte  102,68,15,111,225                   // movdqa        %xmm1,%xmm12
47332  .byte  72,173                              // lods          %ds:(%rsi),%rax
47333  .byte  76,139,24                           // mov           (%rax),%r11
47334  .byte  77,133,192                          // test          %r8,%r8
47335  .byte  15,133,11,2,0,0                     // jne           113a <_sk_srcover_rgba_8888_ssse3_lowp+0x21e>
47336  .byte  69,15,16,68,147,16                  // movups        0x10(%r11,%rdx,4),%xmm8
47337  .byte  102,65,15,16,60,147                 // movupd        (%r11,%rdx,4),%xmm7
47338  .byte  102,15,111,45,237,13,0,0            // movdqa        0xded(%rip),%xmm5        # 1d30 <_sk_xor__ssse3_lowp+0x2ab>
47339  .byte  102,15,40,231                       // movapd        %xmm7,%xmm4
47340  .byte  102,15,56,0,229                     // pshufb        %xmm5,%xmm4
47341  .byte  102,65,15,111,240                   // movdqa        %xmm8,%xmm6
47342  .byte  102,15,56,0,245                     // pshufb        %xmm5,%xmm6
47343  .byte  102,15,108,230                      // punpcklqdq    %xmm6,%xmm4
47344  .byte  102,15,111,13,222,13,0,0            // movdqa        0xdde(%rip),%xmm1        # 1d40 <_sk_xor__ssse3_lowp+0x2bb>
47345  .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
47346  .byte  102,68,15,111,13,224,13,0,0         // movdqa        0xde0(%rip),%xmm9        # 1d50 <_sk_xor__ssse3_lowp+0x2cb>
47347  .byte  102,65,15,228,225                   // pmulhuw       %xmm9,%xmm4
47348  .byte  102,68,15,111,21,226,13,0,0         // movdqa        0xde2(%rip),%xmm10        # 1d60 <_sk_xor__ssse3_lowp+0x2db>
47349  .byte  102,15,40,239                       // movapd        %xmm7,%xmm5
47350  .byte  102,65,15,56,0,234                  // pshufb        %xmm10,%xmm5
47351  .byte  102,65,15,111,240                   // movdqa        %xmm8,%xmm6
47352  .byte  102,65,15,56,0,242                  // pshufb        %xmm10,%xmm6
47353  .byte  102,15,108,238                      // punpcklqdq    %xmm6,%xmm5
47354  .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
47355  .byte  102,65,15,228,233                   // pmulhuw       %xmm9,%xmm5
47356  .byte  102,68,15,111,21,198,13,0,0         // movdqa        0xdc6(%rip),%xmm10        # 1d70 <_sk_xor__ssse3_lowp+0x2eb>
47357  .byte  102,15,40,247                       // movapd        %xmm7,%xmm6
47358  .byte  102,65,15,56,0,242                  // pshufb        %xmm10,%xmm6
47359  .byte  102,69,15,111,216                   // movdqa        %xmm8,%xmm11
47360  .byte  102,69,15,56,0,218                  // pshufb        %xmm10,%xmm11
47361  .byte  102,65,15,108,243                   // punpcklqdq    %xmm11,%xmm6
47362  .byte  102,15,113,246,8                    // psllw         $0x8,%xmm6
47363  .byte  102,65,15,228,241                   // pmulhuw       %xmm9,%xmm6
47364  .byte  102,68,15,111,21,169,13,0,0         // movdqa        0xda9(%rip),%xmm10        # 1d80 <_sk_xor__ssse3_lowp+0x2fb>
47365  .byte  102,65,15,56,0,250                  // pshufb        %xmm10,%xmm7
47366  .byte  102,69,15,56,0,194                  // pshufb        %xmm10,%xmm8
47367  .byte  102,65,15,108,248                   // punpcklqdq    %xmm8,%xmm7
47368  .byte  102,15,113,247,8                    // psllw         $0x8,%xmm7
47369  .byte  102,65,15,228,249                   // pmulhuw       %xmm9,%xmm7
47370  .byte  102,68,15,111,29,149,13,0,0         // movdqa        0xd95(%rip),%xmm11        # 1d90 <_sk_xor__ssse3_lowp+0x30b>
47371  .byte  102,68,15,249,219                   // psubw         %xmm3,%xmm11
47372  .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
47373  .byte  102,69,15,56,11,195                 // pmulhrsw      %xmm11,%xmm8
47374  .byte  102,69,15,56,29,192                 // pabsw         %xmm8,%xmm8
47375  .byte  102,68,15,253,192                   // paddw         %xmm0,%xmm8
47376  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
47377  .byte  102,65,15,56,11,195                 // pmulhrsw      %xmm11,%xmm0
47378  .byte  102,68,15,56,29,200                 // pabsw         %xmm0,%xmm9
47379  .byte  102,69,15,253,204                   // paddw         %xmm12,%xmm9
47380  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
47381  .byte  102,65,15,56,11,195                 // pmulhrsw      %xmm11,%xmm0
47382  .byte  102,68,15,56,29,224                 // pabsw         %xmm0,%xmm12
47383  .byte  102,68,15,253,226                   // paddw         %xmm2,%xmm12
47384  .byte  102,68,15,56,11,223                 // pmulhrsw      %xmm7,%xmm11
47385  .byte  102,69,15,56,29,219                 // pabsw         %xmm11,%xmm11
47386  .byte  102,68,15,253,219                   // paddw         %xmm3,%xmm11
47387  .byte  102,68,15,127,68,36,232             // movdqa        %xmm8,-0x18(%rsp)
47388  .byte  102,65,15,111,216                   // movdqa        %xmm8,%xmm3
47389  .byte  102,15,113,211,7                    // psrlw         $0x7,%xmm3
47390  .byte  102,15,234,217                      // pminsw        %xmm1,%xmm3
47391  .byte  102,69,15,239,255                   // pxor          %xmm15,%xmm15
47392  .byte  102,68,15,111,235                   // movdqa        %xmm3,%xmm13
47393  .byte  102,69,15,97,239                    // punpcklwd     %xmm15,%xmm13
47394  .byte  102,65,15,105,223                   // punpckhwd     %xmm15,%xmm3
47395  .byte  102,65,15,111,209                   // movdqa        %xmm9,%xmm2
47396  .byte  102,15,113,210,7                    // psrlw         $0x7,%xmm2
47397  .byte  102,15,234,209                      // pminsw        %xmm1,%xmm2
47398  .byte  102,68,15,111,242                   // movdqa        %xmm2,%xmm14
47399  .byte  102,69,15,105,247                   // punpckhwd     %xmm15,%xmm14
47400  .byte  102,65,15,97,215                    // punpcklwd     %xmm15,%xmm2
47401  .byte  102,69,15,111,212                   // movdqa        %xmm12,%xmm10
47402  .byte  102,65,15,113,210,7                 // psrlw         $0x7,%xmm10
47403  .byte  102,68,15,234,209                   // pminsw        %xmm1,%xmm10
47404  .byte  102,69,15,111,194                   // movdqa        %xmm10,%xmm8
47405  .byte  102,69,15,97,199                    // punpcklwd     %xmm15,%xmm8
47406  .byte  102,69,15,105,215                   // punpckhwd     %xmm15,%xmm10
47407  .byte  102,65,15,111,195                   // movdqa        %xmm11,%xmm0
47408  .byte  102,15,113,208,7                    // psrlw         $0x7,%xmm0
47409  .byte  102,15,234,193                      // pminsw        %xmm1,%xmm0
47410  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
47411  .byte  102,65,15,105,207                   // punpckhwd     %xmm15,%xmm1
47412  .byte  102,65,15,97,199                    // punpcklwd     %xmm15,%xmm0
47413  .byte  102,65,15,114,246,8                 // pslld         $0x8,%xmm14
47414  .byte  102,68,15,235,243                   // por           %xmm3,%xmm14
47415  .byte  102,15,114,242,8                    // pslld         $0x8,%xmm2
47416  .byte  102,65,15,235,213                   // por           %xmm13,%xmm2
47417  .byte  102,65,15,114,242,16                // pslld         $0x10,%xmm10
47418  .byte  102,15,114,241,24                   // pslld         $0x18,%xmm1
47419  .byte  102,65,15,235,202                   // por           %xmm10,%xmm1
47420  .byte  102,65,15,235,206                   // por           %xmm14,%xmm1
47421  .byte  102,65,15,114,240,16                // pslld         $0x10,%xmm8
47422  .byte  102,15,114,240,24                   // pslld         $0x18,%xmm0
47423  .byte  102,65,15,235,192                   // por           %xmm8,%xmm0
47424  .byte  102,15,235,194                      // por           %xmm2,%xmm0
47425  .byte  77,133,192                          // test          %r8,%r8
47426  .byte  117,97                              // jne           1176 <_sk_srcover_rgba_8888_ssse3_lowp+0x25a>
47427  .byte  243,65,15,127,4,147                 // movdqu        %xmm0,(%r11,%rdx,4)
47428  .byte  243,65,15,127,76,147,16             // movdqu        %xmm1,0x10(%r11,%rdx,4)
47429  .byte  72,173                              // lods          %ds:(%rsi),%rax
47430  .byte  15,40,68,36,232                     // movaps        -0x18(%rsp),%xmm0
47431  .byte  102,65,15,111,201                   // movdqa        %xmm9,%xmm1
47432  .byte  102,65,15,111,212                   // movdqa        %xmm12,%xmm2
47433  .byte  102,65,15,111,219                   // movdqa        %xmm11,%xmm3
47434  .byte  255,224                             // jmpq          *%rax
47435  .byte  69,137,193                          // mov           %r8d,%r9d
47436  .byte  65,128,225,7                        // and           $0x7,%r9b
47437  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
47438  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
47439  .byte  65,254,201                          // dec           %r9b
47440  .byte  65,128,249,6                        // cmp           $0x6,%r9b
47441  .byte  15,135,228,253,255,255              // ja            f3b <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
47442  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
47443  .byte  76,141,21,206,0,0,0                 // lea           0xce(%rip),%r10        # 1230 <_sk_srcover_rgba_8888_ssse3_lowp+0x314>
47444  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
47445  .byte  76,1,208                            // add           %r10,%rax
47446  .byte  255,224                             // jmpq          *%rax
47447  .byte  243,65,15,16,60,147                 // movss         (%r11,%rdx,4),%xmm7
47448  .byte  233,197,253,255,255                 // jmpq          f3b <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
47449  .byte  69,137,193                          // mov           %r8d,%r9d
47450  .byte  65,128,225,7                        // and           $0x7,%r9b
47451  .byte  65,254,201                          // dec           %r9b
47452  .byte  65,128,249,6                        // cmp           $0x6,%r9b
47453  .byte  119,156                             // ja            1122 <_sk_srcover_rgba_8888_ssse3_lowp+0x206>
47454  .byte  65,15,182,193                       // movzbl        %r9b,%eax
47455  .byte  76,141,13,187,0,0,0                 // lea           0xbb(%rip),%r9        # 124c <_sk_srcover_rgba_8888_ssse3_lowp+0x330>
47456  .byte  73,99,4,129                         // movslq        (%r9,%rax,4),%rax
47457  .byte  76,1,200                            // add           %r9,%rax
47458  .byte  255,224                             // jmpq          *%rax
47459  .byte  102,65,15,126,4,147                 // movd          %xmm0,(%r11,%rdx,4)
47460  .byte  235,128                             // jmp           1122 <_sk_srcover_rgba_8888_ssse3_lowp+0x206>
47461  .byte  102,65,15,110,100,147,8             // movd          0x8(%r11,%rdx,4),%xmm4
47462  .byte  102,15,112,252,69                   // pshufd        $0x45,%xmm4,%xmm7
47463  .byte  102,65,15,18,60,147                 // movlpd        (%r11,%rdx,4),%xmm7
47464  .byte  233,130,253,255,255                 // jmpq          f3b <_sk_srcover_rgba_8888_ssse3_lowp+0x1f>
47465  .byte  102,65,15,110,100,147,24            // movd          0x18(%r11,%rdx,4),%xmm4
47466  .byte  102,68,15,112,196,69                // pshufd        $0x45,%xmm4,%xmm8
47467  .byte  243,65,15,16,100,147,20             // movss         0x14(%r11,%rdx,4),%xmm4
47468  .byte  65,15,198,224,0                     // shufps        $0x0,%xmm8,%xmm4
47469  .byte  65,15,198,224,226                   // shufps        $0xe2,%xmm8,%xmm4
47470  .byte  68,15,40,196                        // movaps        %xmm4,%xmm8
47471  .byte  243,65,15,16,100,147,16             // movss         0x10(%r11,%rdx,4),%xmm4
47472  .byte  243,68,15,16,196                    // movss         %xmm4,%xmm8
47473  .byte  233,73,253,255,255                  // jmpq          f35 <_sk_srcover_rgba_8888_ssse3_lowp+0x19>
47474  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
47475  .byte  102,65,15,126,76,147,8              // movd          %xmm1,0x8(%r11,%rdx,4)
47476  .byte  102,65,15,214,4,147                 // movq          %xmm0,(%r11,%rdx,4)
47477  .byte  233,31,255,255,255                  // jmpq          1122 <_sk_srcover_rgba_8888_ssse3_lowp+0x206>
47478  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
47479  .byte  102,65,15,126,84,147,24             // movd          %xmm2,0x18(%r11,%rdx,4)
47480  .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
47481  .byte  102,65,15,126,84,147,20             // movd          %xmm2,0x14(%r11,%rdx,4)
47482  .byte  102,65,15,126,76,147,16             // movd          %xmm1,0x10(%r11,%rdx,4)
47483  .byte  243,65,15,127,4,147                 // movdqu        %xmm0,(%r11,%rdx,4)
47484  .byte  233,245,254,255,255                 // jmpq          1122 <_sk_srcover_rgba_8888_ssse3_lowp+0x206>
47485  .byte  15,31,0                             // nopl          (%rax)
47486  .byte  59,255                              // cmp           %edi,%edi
47487  .byte  255                                 // (bad)
47488  .byte  255                                 // (bad)
47489  .byte  126,255                             // jle           1235 <_sk_srcover_rgba_8888_ssse3_lowp+0x319>
47490  .byte  255                                 // (bad)
47491  .byte  255,114,255                         // pushq         -0x1(%rdx)
47492  .byte  255                                 // (bad)
47493  .byte  255,5,253,255,255,171               // incl          -0x54000003(%rip)        # ffffffffac00123e <_sk_xor__ssse3_lowp+0xffffffffabfff7b9>
47494  .byte  255                                 // (bad)
47495  .byte  255                                 // (bad)
47496  .byte  255,150,255,255,255,137             // callq         *-0x76000001(%rsi)
47497  .byte  255                                 // (bad)
47498  .byte  255                                 // (bad)
47499  .byte  255,78,255                          // decl          -0x1(%rsi)
47500  .byte  255                                 // (bad)
47501  .byte  255,172,255,255,255,160,255         // ljmp          *-0x5f0001(%rdi,%rdi,8)
47502  .byte  255                                 // (bad)
47503  .byte  255,214                             // callq         *%rsi
47504  .byte  255                                 // (bad)
47505  .byte  255                                 // (bad)
47506  .byte  255,207                             // dec           %edi
47507  .byte  255                                 // (bad)
47508  .byte  255                                 // (bad)
47509  .byte  255,195                             // inc           %ebx
47510  .byte  255                                 // (bad)
47511  .byte  255                                 // (bad)
47512  .byte  255                                 // .byte         0xff
47513  .byte  183,255                             // mov           $0xff,%bh
47514  .byte  255                                 // (bad)
47515  .byte  255                                 // .byte         0xff
47516
47517HIDDEN _sk_scale_1_float_ssse3_lowp
47518.globl _sk_scale_1_float_ssse3_lowp
47519FUNCTION(_sk_scale_1_float_ssse3_lowp)
47520_sk_scale_1_float_ssse3_lowp:
47521  .byte  72,173                              // lods          %ds:(%rsi),%rax
47522  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
47523  .byte  243,68,15,88,5,252,11,0,0           // addss         0xbfc(%rip),%xmm8        # 1e74 <_sk_xor__ssse3_lowp+0x3ef>
47524  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
47525  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
47526  .byte  242,69,15,112,192,0                 // pshuflw       $0x0,%xmm8,%xmm8
47527  .byte  102,69,15,112,192,80                // pshufd        $0x50,%xmm8,%xmm8
47528  .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
47529  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
47530  .byte  102,65,15,56,11,200                 // pmulhrsw      %xmm8,%xmm1
47531  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
47532  .byte  102,65,15,56,11,208                 // pmulhrsw      %xmm8,%xmm2
47533  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
47534  .byte  102,65,15,56,11,216                 // pmulhrsw      %xmm8,%xmm3
47535  .byte  102,15,56,29,219                    // pabsw         %xmm3,%xmm3
47536  .byte  72,173                              // lods          %ds:(%rsi),%rax
47537  .byte  255,224                             // jmpq          *%rax
47538
47539HIDDEN _sk_scale_u8_ssse3_lowp
47540.globl _sk_scale_u8_ssse3_lowp
47541FUNCTION(_sk_scale_u8_ssse3_lowp)
47542_sk_scale_u8_ssse3_lowp:
47543  .byte  72,173                              // lods          %ds:(%rsi),%rax
47544  .byte  76,139,24                           // mov           (%rax),%r11
47545  .byte  77,133,192                          // test          %r8,%r8
47546  .byte  117,74                              // jne           1312 <_sk_scale_u8_ssse3_lowp+0x54>
47547  .byte  243,69,15,126,4,19                  // movq          (%r11,%rdx,1),%xmm8
47548  .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
47549  .byte  102,65,15,113,240,8                 // psllw         $0x8,%xmm8
47550  .byte  102,68,15,228,5,190,10,0,0          // pmulhuw       0xabe(%rip),%xmm8        # 1da0 <_sk_xor__ssse3_lowp+0x31b>
47551  .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
47552  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
47553  .byte  102,65,15,56,11,200                 // pmulhrsw      %xmm8,%xmm1
47554  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
47555  .byte  102,65,15,56,11,208                 // pmulhrsw      %xmm8,%xmm2
47556  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
47557  .byte  102,65,15,56,11,216                 // pmulhrsw      %xmm8,%xmm3
47558  .byte  102,15,56,29,219                    // pabsw         %xmm3,%xmm3
47559  .byte  72,173                              // lods          %ds:(%rsi),%rax
47560  .byte  255,224                             // jmpq          *%rax
47561  .byte  69,137,193                          // mov           %r8d,%r9d
47562  .byte  65,128,225,7                        // and           $0x7,%r9b
47563  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
47564  .byte  65,254,201                          // dec           %r9b
47565  .byte  65,128,249,6                        // cmp           $0x6,%r9b
47566  .byte  119,172                             // ja            12d3 <_sk_scale_u8_ssse3_lowp+0x15>
47567  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
47568  .byte  76,141,21,126,0,0,0                 // lea           0x7e(%rip),%r10        # 13b0 <_sk_scale_u8_ssse3_lowp+0xf2>
47569  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
47570  .byte  76,1,208                            // add           %r10,%rax
47571  .byte  255,224                             // jmpq          *%rax
47572  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
47573  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
47574  .byte  235,140                             // jmp           12d3 <_sk_scale_u8_ssse3_lowp+0x15>
47575  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
47576  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
47577  .byte  102,68,15,196,192,2                 // pinsrw        $0x2,%eax,%xmm8
47578  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
47579  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
47580  .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
47581  .byte  243,69,15,16,193                    // movss         %xmm9,%xmm8
47582  .byte  233,98,255,255,255                  // jmpq          12d3 <_sk_scale_u8_ssse3_lowp+0x15>
47583  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
47584  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
47585  .byte  102,68,15,196,192,6                 // pinsrw        $0x6,%eax,%xmm8
47586  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
47587  .byte  102,68,15,196,192,5                 // pinsrw        $0x5,%eax,%xmm8
47588  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
47589  .byte  102,68,15,196,192,4                 // pinsrw        $0x4,%eax,%xmm8
47590  .byte  102,69,15,110,12,19                 // movd          (%r11,%rdx,1),%xmm9
47591  .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
47592  .byte  242,69,15,16,193                    // movsd         %xmm9,%xmm8
47593  .byte  233,36,255,255,255                  // jmpq          12d3 <_sk_scale_u8_ssse3_lowp+0x15>
47594  .byte  144                                 // nop
47595  .byte  139,255                             // mov           %edi,%edi
47596  .byte  255                                 // (bad)
47597  .byte  255,168,255,255,255,151             // ljmp          *-0x68000001(%rax)
47598  .byte  255                                 // (bad)
47599  .byte  255                                 // (bad)
47600  .byte  255                                 // (bad)
47601  .byte  234                                 // (bad)
47602  .byte  255                                 // (bad)
47603  .byte  255                                 // (bad)
47604  .byte  255                                 // (bad)
47605  .byte  222,255                             // fdivrp        %st,%st(7)
47606  .byte  255                                 // (bad)
47607  .byte  255,210                             // callq         *%rdx
47608  .byte  255                                 // (bad)
47609  .byte  255                                 // (bad)
47610  .byte  255,193                             // inc           %ecx
47611  .byte  255                                 // (bad)
47612  .byte  255                                 // (bad)
47613  .byte  255                                 // .byte         0xff
47614
47615HIDDEN _sk_lerp_1_float_ssse3_lowp
47616.globl _sk_lerp_1_float_ssse3_lowp
47617FUNCTION(_sk_lerp_1_float_ssse3_lowp)
47618_sk_lerp_1_float_ssse3_lowp:
47619  .byte  72,173                              // lods          %ds:(%rsi),%rax
47620  .byte  243,68,15,16,0                      // movss         (%rax),%xmm8
47621  .byte  243,68,15,88,5,156,10,0,0           // addss         0xa9c(%rip),%xmm8        # 1e78 <_sk_xor__ssse3_lowp+0x3f3>
47622  .byte  102,68,15,126,192                   // movd          %xmm8,%eax
47623  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
47624  .byte  242,69,15,112,192,0                 // pshuflw       $0x0,%xmm8,%xmm8
47625  .byte  102,69,15,112,192,80                // pshufd        $0x50,%xmm8,%xmm8
47626  .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
47627  .byte  102,68,15,56,29,200                 // pabsw         %xmm0,%xmm9
47628  .byte  102,68,15,111,21,169,9,0,0          // movdqa        0x9a9(%rip),%xmm10        # 1db0 <_sk_xor__ssse3_lowp+0x32b>
47629  .byte  102,69,15,249,208                   // psubw         %xmm8,%xmm10
47630  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
47631  .byte  102,65,15,56,11,194                 // pmulhrsw      %xmm10,%xmm0
47632  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
47633  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
47634  .byte  102,65,15,56,11,200                 // pmulhrsw      %xmm8,%xmm1
47635  .byte  102,68,15,56,29,201                 // pabsw         %xmm1,%xmm9
47636  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
47637  .byte  102,65,15,56,11,202                 // pmulhrsw      %xmm10,%xmm1
47638  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
47639  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
47640  .byte  102,65,15,56,11,208                 // pmulhrsw      %xmm8,%xmm2
47641  .byte  102,68,15,56,29,202                 // pabsw         %xmm2,%xmm9
47642  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
47643  .byte  102,65,15,56,11,210                 // pmulhrsw      %xmm10,%xmm2
47644  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
47645  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
47646  .byte  102,65,15,56,11,216                 // pmulhrsw      %xmm8,%xmm3
47647  .byte  102,68,15,56,29,195                 // pabsw         %xmm3,%xmm8
47648  .byte  102,68,15,56,11,215                 // pmulhrsw      %xmm7,%xmm10
47649  .byte  102,65,15,56,29,218                 // pabsw         %xmm10,%xmm3
47650  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
47651  .byte  72,173                              // lods          %ds:(%rsi),%rax
47652  .byte  255,224                             // jmpq          *%rax
47653
47654HIDDEN _sk_lerp_u8_ssse3_lowp
47655.globl _sk_lerp_u8_ssse3_lowp
47656FUNCTION(_sk_lerp_u8_ssse3_lowp)
47657_sk_lerp_u8_ssse3_lowp:
47658  .byte  72,173                              // lods          %ds:(%rsi),%rax
47659  .byte  76,139,24                           // mov           (%rax),%r11
47660  .byte  77,133,192                          // test          %r8,%r8
47661  .byte  15,133,169,0,0,0                    // jne           1538 <_sk_lerp_u8_ssse3_lowp+0xb7>
47662  .byte  243,69,15,126,4,19                  // movq          (%r11,%rdx,1),%xmm8
47663  .byte  102,68,15,96,192                    // punpcklbw     %xmm0,%xmm8
47664  .byte  102,65,15,113,240,8                 // psllw         $0x8,%xmm8
47665  .byte  102,68,15,228,5,23,9,0,0            // pmulhuw       0x917(%rip),%xmm8        # 1dc0 <_sk_xor__ssse3_lowp+0x33b>
47666  .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
47667  .byte  102,68,15,56,29,200                 // pabsw         %xmm0,%xmm9
47668  .byte  102,68,15,111,21,18,9,0,0           // movdqa        0x912(%rip),%xmm10        # 1dd0 <_sk_xor__ssse3_lowp+0x34b>
47669  .byte  102,69,15,249,208                   // psubw         %xmm8,%xmm10
47670  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
47671  .byte  102,65,15,56,11,194                 // pmulhrsw      %xmm10,%xmm0
47672  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
47673  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
47674  .byte  102,65,15,56,11,200                 // pmulhrsw      %xmm8,%xmm1
47675  .byte  102,68,15,56,29,201                 // pabsw         %xmm1,%xmm9
47676  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
47677  .byte  102,65,15,56,11,202                 // pmulhrsw      %xmm10,%xmm1
47678  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
47679  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
47680  .byte  102,65,15,56,11,208                 // pmulhrsw      %xmm8,%xmm2
47681  .byte  102,68,15,56,29,202                 // pabsw         %xmm2,%xmm9
47682  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
47683  .byte  102,65,15,56,11,210                 // pmulhrsw      %xmm10,%xmm2
47684  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
47685  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
47686  .byte  102,65,15,56,11,216                 // pmulhrsw      %xmm8,%xmm3
47687  .byte  102,68,15,56,29,195                 // pabsw         %xmm3,%xmm8
47688  .byte  102,68,15,56,11,215                 // pmulhrsw      %xmm7,%xmm10
47689  .byte  102,65,15,56,29,218                 // pabsw         %xmm10,%xmm3
47690  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
47691  .byte  72,173                              // lods          %ds:(%rsi),%rax
47692  .byte  255,224                             // jmpq          *%rax
47693  .byte  69,137,193                          // mov           %r8d,%r9d
47694  .byte  65,128,225,7                        // and           $0x7,%r9b
47695  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
47696  .byte  65,254,201                          // dec           %r9b
47697  .byte  65,128,249,6                        // cmp           $0x6,%r9b
47698  .byte  15,135,73,255,255,255               // ja            149a <_sk_lerp_u8_ssse3_lowp+0x19>
47699  .byte  69,15,182,201                       // movzbl        %r9b,%r9d
47700  .byte  76,141,21,128,0,0,0                 // lea           0x80(%rip),%r10        # 15dc <_sk_lerp_u8_ssse3_lowp+0x15b>
47701  .byte  75,99,4,138                         // movslq        (%r10,%r9,4),%rax
47702  .byte  76,1,208                            // add           %r10,%rax
47703  .byte  255,224                             // jmpq          *%rax
47704  .byte  65,15,182,4,19                      // movzbl        (%r11,%rdx,1),%eax
47705  .byte  102,68,15,110,192                   // movd          %eax,%xmm8
47706  .byte  233,38,255,255,255                  // jmpq          149a <_sk_lerp_u8_ssse3_lowp+0x19>
47707  .byte  65,15,182,68,19,2                   // movzbl        0x2(%r11,%rdx,1),%eax
47708  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
47709  .byte  102,68,15,196,192,2                 // pinsrw        $0x2,%eax,%xmm8
47710  .byte  65,15,183,4,19                      // movzwl        (%r11,%rdx,1),%eax
47711  .byte  102,68,15,110,200                   // movd          %eax,%xmm9
47712  .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
47713  .byte  243,69,15,16,193                    // movss         %xmm9,%xmm8
47714  .byte  233,252,254,255,255                 // jmpq          149a <_sk_lerp_u8_ssse3_lowp+0x19>
47715  .byte  65,15,182,68,19,6                   // movzbl        0x6(%r11,%rdx,1),%eax
47716  .byte  102,69,15,239,192                   // pxor          %xmm8,%xmm8
47717  .byte  102,68,15,196,192,6                 // pinsrw        $0x6,%eax,%xmm8
47718  .byte  65,15,182,68,19,5                   // movzbl        0x5(%r11,%rdx,1),%eax
47719  .byte  102,68,15,196,192,5                 // pinsrw        $0x5,%eax,%xmm8
47720  .byte  65,15,182,68,19,4                   // movzbl        0x4(%r11,%rdx,1),%eax
47721  .byte  102,68,15,196,192,4                 // pinsrw        $0x4,%eax,%xmm8
47722  .byte  102,69,15,110,12,19                 // movd          (%r11,%rdx,1),%xmm9
47723  .byte  102,68,15,96,200                    // punpcklbw     %xmm0,%xmm9
47724  .byte  242,69,15,16,193                    // movsd         %xmm9,%xmm8
47725  .byte  233,190,254,255,255                 // jmpq          149a <_sk_lerp_u8_ssse3_lowp+0x19>
47726  .byte  137,255                             // mov           %edi,%edi
47727  .byte  255                                 // (bad)
47728  .byte  255,169,255,255,255,152             // ljmp          *-0x67000001(%rcx)
47729  .byte  255                                 // (bad)
47730  .byte  255                                 // (bad)
47731  .byte  255                                 // (bad)
47732  .byte  235,255                             // jmp           15e9 <_sk_lerp_u8_ssse3_lowp+0x168>
47733  .byte  255                                 // (bad)
47734  .byte  255                                 // (bad)
47735  .byte  223,255                             // (bad)
47736  .byte  255                                 // (bad)
47737  .byte  255,211                             // callq         *%rbx
47738  .byte  255                                 // (bad)
47739  .byte  255                                 // (bad)
47740  .byte  255,194                             // inc           %edx
47741  .byte  255                                 // (bad)
47742  .byte  255                                 // (bad)
47743  .byte  255                                 // .byte         0xff
47744
47745HIDDEN _sk_swap_rb_ssse3_lowp
47746.globl _sk_swap_rb_ssse3_lowp
47747FUNCTION(_sk_swap_rb_ssse3_lowp)
47748_sk_swap_rb_ssse3_lowp:
47749  .byte  68,15,40,192                        // movaps        %xmm0,%xmm8
47750  .byte  72,173                              // lods          %ds:(%rsi),%rax
47751  .byte  15,40,194                           // movaps        %xmm2,%xmm0
47752  .byte  65,15,40,208                        // movaps        %xmm8,%xmm2
47753  .byte  255,224                             // jmpq          *%rax
47754
47755HIDDEN _sk_move_src_dst_ssse3_lowp
47756.globl _sk_move_src_dst_ssse3_lowp
47757FUNCTION(_sk_move_src_dst_ssse3_lowp)
47758_sk_move_src_dst_ssse3_lowp:
47759  .byte  72,173                              // lods          %ds:(%rsi),%rax
47760  .byte  15,40,224                           // movaps        %xmm0,%xmm4
47761  .byte  15,40,233                           // movaps        %xmm1,%xmm5
47762  .byte  15,40,242                           // movaps        %xmm2,%xmm6
47763  .byte  15,40,251                           // movaps        %xmm3,%xmm7
47764  .byte  255,224                             // jmpq          *%rax
47765
47766HIDDEN _sk_move_dst_src_ssse3_lowp
47767.globl _sk_move_dst_src_ssse3_lowp
47768FUNCTION(_sk_move_dst_src_ssse3_lowp)
47769_sk_move_dst_src_ssse3_lowp:
47770  .byte  72,173                              // lods          %ds:(%rsi),%rax
47771  .byte  15,40,196                           // movaps        %xmm4,%xmm0
47772  .byte  15,40,205                           // movaps        %xmm5,%xmm1
47773  .byte  15,40,214                           // movaps        %xmm6,%xmm2
47774  .byte  15,40,223                           // movaps        %xmm7,%xmm3
47775  .byte  255,224                             // jmpq          *%rax
47776
47777HIDDEN _sk_clear_ssse3_lowp
47778.globl _sk_clear_ssse3_lowp
47779FUNCTION(_sk_clear_ssse3_lowp)
47780_sk_clear_ssse3_lowp:
47781  .byte  72,173                              // lods          %ds:(%rsi),%rax
47782  .byte  15,87,192                           // xorps         %xmm0,%xmm0
47783  .byte  15,87,201                           // xorps         %xmm1,%xmm1
47784  .byte  15,87,210                           // xorps         %xmm2,%xmm2
47785  .byte  15,87,219                           // xorps         %xmm3,%xmm3
47786  .byte  255,224                             // jmpq          *%rax
47787
47788HIDDEN _sk_srcatop_ssse3_lowp
47789.globl _sk_srcatop_ssse3_lowp
47790FUNCTION(_sk_srcatop_ssse3_lowp)
47791_sk_srcatop_ssse3_lowp:
47792  .byte  102,15,56,11,199                    // pmulhrsw      %xmm7,%xmm0
47793  .byte  102,68,15,56,29,192                 // pabsw         %xmm0,%xmm8
47794  .byte  102,68,15,111,13,149,7,0,0          // movdqa        0x795(%rip),%xmm9        # 1de0 <_sk_xor__ssse3_lowp+0x35b>
47795  .byte  102,68,15,249,203                   // psubw         %xmm3,%xmm9
47796  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
47797  .byte  102,65,15,56,11,193                 // pmulhrsw      %xmm9,%xmm0
47798  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
47799  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
47800  .byte  102,15,56,11,207                    // pmulhrsw      %xmm7,%xmm1
47801  .byte  102,68,15,56,29,193                 // pabsw         %xmm1,%xmm8
47802  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
47803  .byte  102,65,15,56,11,201                 // pmulhrsw      %xmm9,%xmm1
47804  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
47805  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
47806  .byte  102,15,56,11,215                    // pmulhrsw      %xmm7,%xmm2
47807  .byte  102,68,15,56,29,194                 // pabsw         %xmm2,%xmm8
47808  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
47809  .byte  102,65,15,56,11,209                 // pmulhrsw      %xmm9,%xmm2
47810  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
47811  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
47812  .byte  102,15,56,11,223                    // pmulhrsw      %xmm7,%xmm3
47813  .byte  102,68,15,56,29,195                 // pabsw         %xmm3,%xmm8
47814  .byte  102,68,15,56,11,207                 // pmulhrsw      %xmm7,%xmm9
47815  .byte  102,65,15,56,29,217                 // pabsw         %xmm9,%xmm3
47816  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
47817  .byte  72,173                              // lods          %ds:(%rsi),%rax
47818  .byte  255,224                             // jmpq          *%rax
47819
47820HIDDEN _sk_dstatop_ssse3_lowp
47821.globl _sk_dstatop_ssse3_lowp
47822FUNCTION(_sk_dstatop_ssse3_lowp)
47823_sk_dstatop_ssse3_lowp:
47824  .byte  102,68,15,111,196                   // movdqa        %xmm4,%xmm8
47825  .byte  102,68,15,56,11,195                 // pmulhrsw      %xmm3,%xmm8
47826  .byte  102,69,15,56,29,192                 // pabsw         %xmm8,%xmm8
47827  .byte  102,68,15,111,13,20,7,0,0           // movdqa        0x714(%rip),%xmm9        # 1df0 <_sk_xor__ssse3_lowp+0x36b>
47828  .byte  102,68,15,249,207                   // psubw         %xmm7,%xmm9
47829  .byte  102,65,15,56,11,193                 // pmulhrsw      %xmm9,%xmm0
47830  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
47831  .byte  102,65,15,253,192                   // paddw         %xmm8,%xmm0
47832  .byte  102,68,15,111,197                   // movdqa        %xmm5,%xmm8
47833  .byte  102,68,15,56,11,195                 // pmulhrsw      %xmm3,%xmm8
47834  .byte  102,69,15,56,29,192                 // pabsw         %xmm8,%xmm8
47835  .byte  102,65,15,56,11,201                 // pmulhrsw      %xmm9,%xmm1
47836  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
47837  .byte  102,65,15,253,200                   // paddw         %xmm8,%xmm1
47838  .byte  102,68,15,111,198                   // movdqa        %xmm6,%xmm8
47839  .byte  102,68,15,56,11,195                 // pmulhrsw      %xmm3,%xmm8
47840  .byte  102,69,15,56,29,192                 // pabsw         %xmm8,%xmm8
47841  .byte  102,65,15,56,11,209                 // pmulhrsw      %xmm9,%xmm2
47842  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
47843  .byte  102,65,15,253,208                   // paddw         %xmm8,%xmm2
47844  .byte  102,68,15,111,199                   // movdqa        %xmm7,%xmm8
47845  .byte  102,68,15,56,11,195                 // pmulhrsw      %xmm3,%xmm8
47846  .byte  102,69,15,56,29,192                 // pabsw         %xmm8,%xmm8
47847  .byte  102,68,15,56,11,203                 // pmulhrsw      %xmm3,%xmm9
47848  .byte  102,65,15,56,29,217                 // pabsw         %xmm9,%xmm3
47849  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
47850  .byte  72,173                              // lods          %ds:(%rsi),%rax
47851  .byte  255,224                             // jmpq          *%rax
47852
47853HIDDEN _sk_srcin_ssse3_lowp
47854.globl _sk_srcin_ssse3_lowp
47855FUNCTION(_sk_srcin_ssse3_lowp)
47856_sk_srcin_ssse3_lowp:
47857  .byte  102,15,56,11,199                    // pmulhrsw      %xmm7,%xmm0
47858  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
47859  .byte  102,15,56,11,207                    // pmulhrsw      %xmm7,%xmm1
47860  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
47861  .byte  102,15,56,11,215                    // pmulhrsw      %xmm7,%xmm2
47862  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
47863  .byte  102,15,56,11,223                    // pmulhrsw      %xmm7,%xmm3
47864  .byte  102,15,56,29,219                    // pabsw         %xmm3,%xmm3
47865  .byte  72,173                              // lods          %ds:(%rsi),%rax
47866  .byte  255,224                             // jmpq          *%rax
47867
47868HIDDEN _sk_dstin_ssse3_lowp
47869.globl _sk_dstin_ssse3_lowp
47870FUNCTION(_sk_dstin_ssse3_lowp)
47871_sk_dstin_ssse3_lowp:
47872  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
47873  .byte  102,15,56,11,195                    // pmulhrsw      %xmm3,%xmm0
47874  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
47875  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
47876  .byte  102,15,56,11,203                    // pmulhrsw      %xmm3,%xmm1
47877  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
47878  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
47879  .byte  102,15,56,11,211                    // pmulhrsw      %xmm3,%xmm2
47880  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
47881  .byte  102,15,56,11,223                    // pmulhrsw      %xmm7,%xmm3
47882  .byte  102,15,56,29,219                    // pabsw         %xmm3,%xmm3
47883  .byte  72,173                              // lods          %ds:(%rsi),%rax
47884  .byte  255,224                             // jmpq          *%rax
47885
47886HIDDEN _sk_srcout_ssse3_lowp
47887.globl _sk_srcout_ssse3_lowp
47888FUNCTION(_sk_srcout_ssse3_lowp)
47889_sk_srcout_ssse3_lowp:
47890  .byte  102,68,15,111,5,58,6,0,0            // movdqa        0x63a(%rip),%xmm8        # 1e00 <_sk_xor__ssse3_lowp+0x37b>
47891  .byte  102,68,15,249,199                   // psubw         %xmm7,%xmm8
47892  .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
47893  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
47894  .byte  102,65,15,56,11,200                 // pmulhrsw      %xmm8,%xmm1
47895  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
47896  .byte  102,65,15,56,11,208                 // pmulhrsw      %xmm8,%xmm2
47897  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
47898  .byte  102,68,15,56,11,195                 // pmulhrsw      %xmm3,%xmm8
47899  .byte  102,65,15,56,29,216                 // pabsw         %xmm8,%xmm3
47900  .byte  72,173                              // lods          %ds:(%rsi),%rax
47901  .byte  255,224                             // jmpq          *%rax
47902
47903HIDDEN _sk_dstout_ssse3_lowp
47904.globl _sk_dstout_ssse3_lowp
47905FUNCTION(_sk_dstout_ssse3_lowp)
47906_sk_dstout_ssse3_lowp:
47907  .byte  102,68,15,111,5,11,6,0,0            // movdqa        0x60b(%rip),%xmm8        # 1e10 <_sk_xor__ssse3_lowp+0x38b>
47908  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
47909  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
47910  .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
47911  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
47912  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
47913  .byte  102,65,15,56,11,200                 // pmulhrsw      %xmm8,%xmm1
47914  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
47915  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
47916  .byte  102,65,15,56,11,208                 // pmulhrsw      %xmm8,%xmm2
47917  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
47918  .byte  102,68,15,56,11,199                 // pmulhrsw      %xmm7,%xmm8
47919  .byte  102,65,15,56,29,216                 // pabsw         %xmm8,%xmm3
47920  .byte  72,173                              // lods          %ds:(%rsi),%rax
47921  .byte  255,224                             // jmpq          *%rax
47922
47923HIDDEN _sk_srcover_ssse3_lowp
47924.globl _sk_srcover_ssse3_lowp
47925FUNCTION(_sk_srcover_ssse3_lowp)
47926_sk_srcover_ssse3_lowp:
47927  .byte  102,68,15,111,5,208,5,0,0           // movdqa        0x5d0(%rip),%xmm8        # 1e20 <_sk_xor__ssse3_lowp+0x39b>
47928  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
47929  .byte  102,68,15,111,204                   // movdqa        %xmm4,%xmm9
47930  .byte  102,69,15,56,11,200                 // pmulhrsw      %xmm8,%xmm9
47931  .byte  102,69,15,56,29,201                 // pabsw         %xmm9,%xmm9
47932  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
47933  .byte  102,68,15,111,205                   // movdqa        %xmm5,%xmm9
47934  .byte  102,69,15,56,11,200                 // pmulhrsw      %xmm8,%xmm9
47935  .byte  102,69,15,56,29,201                 // pabsw         %xmm9,%xmm9
47936  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
47937  .byte  102,68,15,111,206                   // movdqa        %xmm6,%xmm9
47938  .byte  102,69,15,56,11,200                 // pmulhrsw      %xmm8,%xmm9
47939  .byte  102,69,15,56,29,201                 // pabsw         %xmm9,%xmm9
47940  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
47941  .byte  102,68,15,56,11,199                 // pmulhrsw      %xmm7,%xmm8
47942  .byte  102,69,15,56,29,192                 // pabsw         %xmm8,%xmm8
47943  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
47944  .byte  72,173                              // lods          %ds:(%rsi),%rax
47945  .byte  255,224                             // jmpq          *%rax
47946
47947HIDDEN _sk_dstover_ssse3_lowp
47948.globl _sk_dstover_ssse3_lowp
47949FUNCTION(_sk_dstover_ssse3_lowp)
47950_sk_dstover_ssse3_lowp:
47951  .byte  102,68,15,111,5,123,5,0,0           // movdqa        0x57b(%rip),%xmm8        # 1e30 <_sk_xor__ssse3_lowp+0x3ab>
47952  .byte  102,68,15,249,199                   // psubw         %xmm7,%xmm8
47953  .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
47954  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
47955  .byte  102,15,253,196                      // paddw         %xmm4,%xmm0
47956  .byte  102,65,15,56,11,200                 // pmulhrsw      %xmm8,%xmm1
47957  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
47958  .byte  102,15,253,205                      // paddw         %xmm5,%xmm1
47959  .byte  102,65,15,56,11,208                 // pmulhrsw      %xmm8,%xmm2
47960  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
47961  .byte  102,15,253,214                      // paddw         %xmm6,%xmm2
47962  .byte  102,68,15,56,11,195                 // pmulhrsw      %xmm3,%xmm8
47963  .byte  102,65,15,56,29,216                 // pabsw         %xmm8,%xmm3
47964  .byte  102,15,253,223                      // paddw         %xmm7,%xmm3
47965  .byte  72,173                              // lods          %ds:(%rsi),%rax
47966  .byte  255,224                             // jmpq          *%rax
47967
47968HIDDEN _sk_modulate_ssse3_lowp
47969.globl _sk_modulate_ssse3_lowp
47970FUNCTION(_sk_modulate_ssse3_lowp)
47971_sk_modulate_ssse3_lowp:
47972  .byte  102,15,56,11,196                    // pmulhrsw      %xmm4,%xmm0
47973  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
47974  .byte  102,15,56,11,205                    // pmulhrsw      %xmm5,%xmm1
47975  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
47976  .byte  102,15,56,11,214                    // pmulhrsw      %xmm6,%xmm2
47977  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
47978  .byte  102,15,56,11,223                    // pmulhrsw      %xmm7,%xmm3
47979  .byte  102,15,56,29,219                    // pabsw         %xmm3,%xmm3
47980  .byte  72,173                              // lods          %ds:(%rsi),%rax
47981  .byte  255,224                             // jmpq          *%rax
47982
47983HIDDEN _sk_multiply_ssse3_lowp
47984.globl _sk_multiply_ssse3_lowp
47985FUNCTION(_sk_multiply_ssse3_lowp)
47986_sk_multiply_ssse3_lowp:
47987  .byte  102,68,15,111,5,16,5,0,0            // movdqa        0x510(%rip),%xmm8        # 1e40 <_sk_xor__ssse3_lowp+0x3bb>
47988  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
47989  .byte  102,68,15,249,207                   // psubw         %xmm7,%xmm9
47990  .byte  102,68,15,111,208                   // movdqa        %xmm0,%xmm10
47991  .byte  102,69,15,56,11,209                 // pmulhrsw      %xmm9,%xmm10
47992  .byte  102,69,15,56,29,210                 // pabsw         %xmm10,%xmm10
47993  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
47994  .byte  102,15,56,11,196                    // pmulhrsw      %xmm4,%xmm0
47995  .byte  102,68,15,111,220                   // movdqa        %xmm4,%xmm11
47996  .byte  102,69,15,56,11,216                 // pmulhrsw      %xmm8,%xmm11
47997  .byte  102,69,15,56,29,219                 // pabsw         %xmm11,%xmm11
47998  .byte  102,69,15,253,218                   // paddw         %xmm10,%xmm11
47999  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
48000  .byte  102,65,15,253,195                   // paddw         %xmm11,%xmm0
48001  .byte  102,68,15,111,209                   // movdqa        %xmm1,%xmm10
48002  .byte  102,69,15,56,11,209                 // pmulhrsw      %xmm9,%xmm10
48003  .byte  102,69,15,56,29,210                 // pabsw         %xmm10,%xmm10
48004  .byte  102,15,56,11,205                    // pmulhrsw      %xmm5,%xmm1
48005  .byte  102,68,15,111,221                   // movdqa        %xmm5,%xmm11
48006  .byte  102,69,15,56,11,216                 // pmulhrsw      %xmm8,%xmm11
48007  .byte  102,69,15,56,29,219                 // pabsw         %xmm11,%xmm11
48008  .byte  102,69,15,253,218                   // paddw         %xmm10,%xmm11
48009  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
48010  .byte  102,65,15,253,203                   // paddw         %xmm11,%xmm1
48011  .byte  102,68,15,111,210                   // movdqa        %xmm2,%xmm10
48012  .byte  102,69,15,56,11,209                 // pmulhrsw      %xmm9,%xmm10
48013  .byte  102,69,15,56,29,210                 // pabsw         %xmm10,%xmm10
48014  .byte  102,15,56,11,214                    // pmulhrsw      %xmm6,%xmm2
48015  .byte  102,68,15,111,222                   // movdqa        %xmm6,%xmm11
48016  .byte  102,69,15,56,11,216                 // pmulhrsw      %xmm8,%xmm11
48017  .byte  102,69,15,56,29,219                 // pabsw         %xmm11,%xmm11
48018  .byte  102,69,15,253,218                   // paddw         %xmm10,%xmm11
48019  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
48020  .byte  102,65,15,253,211                   // paddw         %xmm11,%xmm2
48021  .byte  102,68,15,56,11,203                 // pmulhrsw      %xmm3,%xmm9
48022  .byte  102,69,15,56,29,201                 // pabsw         %xmm9,%xmm9
48023  .byte  102,68,15,56,11,199                 // pmulhrsw      %xmm7,%xmm8
48024  .byte  102,69,15,56,29,192                 // pabsw         %xmm8,%xmm8
48025  .byte  102,69,15,253,193                   // paddw         %xmm9,%xmm8
48026  .byte  102,15,56,11,223                    // pmulhrsw      %xmm7,%xmm3
48027  .byte  102,15,56,29,219                    // pabsw         %xmm3,%xmm3
48028  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
48029  .byte  72,173                              // lods          %ds:(%rsi),%rax
48030  .byte  255,224                             // jmpq          *%rax
48031
48032HIDDEN _sk_screen_ssse3_lowp
48033.globl _sk_screen_ssse3_lowp
48034FUNCTION(_sk_screen_ssse3_lowp)
48035_sk_screen_ssse3_lowp:
48036  .byte  102,68,15,111,5,54,4,0,0            // movdqa        0x436(%rip),%xmm8        # 1e50 <_sk_xor__ssse3_lowp+0x3cb>
48037  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
48038  .byte  102,68,15,249,200                   // psubw         %xmm0,%xmm9
48039  .byte  102,68,15,56,11,204                 // pmulhrsw      %xmm4,%xmm9
48040  .byte  102,69,15,56,29,201                 // pabsw         %xmm9,%xmm9
48041  .byte  102,65,15,253,193                   // paddw         %xmm9,%xmm0
48042  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
48043  .byte  102,68,15,249,201                   // psubw         %xmm1,%xmm9
48044  .byte  102,68,15,56,11,205                 // pmulhrsw      %xmm5,%xmm9
48045  .byte  102,69,15,56,29,201                 // pabsw         %xmm9,%xmm9
48046  .byte  102,65,15,253,201                   // paddw         %xmm9,%xmm1
48047  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
48048  .byte  102,68,15,249,202                   // psubw         %xmm2,%xmm9
48049  .byte  102,68,15,56,11,206                 // pmulhrsw      %xmm6,%xmm9
48050  .byte  102,69,15,56,29,201                 // pabsw         %xmm9,%xmm9
48051  .byte  102,65,15,253,209                   // paddw         %xmm9,%xmm2
48052  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
48053  .byte  102,68,15,56,11,199                 // pmulhrsw      %xmm7,%xmm8
48054  .byte  102,69,15,56,29,192                 // pabsw         %xmm8,%xmm8
48055  .byte  102,65,15,253,216                   // paddw         %xmm8,%xmm3
48056  .byte  72,173                              // lods          %ds:(%rsi),%rax
48057  .byte  255,224                             // jmpq          *%rax
48058
48059HIDDEN _sk_xor__ssse3_lowp
48060.globl _sk_xor__ssse3_lowp
48061FUNCTION(_sk_xor__ssse3_lowp)
48062_sk_xor__ssse3_lowp:
48063  .byte  102,68,15,111,5,210,3,0,0           // movdqa        0x3d2(%rip),%xmm8        # 1e60 <_sk_xor__ssse3_lowp+0x3db>
48064  .byte  102,69,15,111,200                   // movdqa        %xmm8,%xmm9
48065  .byte  102,68,15,249,207                   // psubw         %xmm7,%xmm9
48066  .byte  102,65,15,56,11,193                 // pmulhrsw      %xmm9,%xmm0
48067  .byte  102,68,15,56,29,208                 // pabsw         %xmm0,%xmm10
48068  .byte  102,68,15,249,195                   // psubw         %xmm3,%xmm8
48069  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
48070  .byte  102,65,15,56,11,192                 // pmulhrsw      %xmm8,%xmm0
48071  .byte  102,15,56,29,192                    // pabsw         %xmm0,%xmm0
48072  .byte  102,65,15,253,194                   // paddw         %xmm10,%xmm0
48073  .byte  102,65,15,56,11,201                 // pmulhrsw      %xmm9,%xmm1
48074  .byte  102,68,15,56,29,209                 // pabsw         %xmm1,%xmm10
48075  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
48076  .byte  102,65,15,56,11,200                 // pmulhrsw      %xmm8,%xmm1
48077  .byte  102,15,56,29,201                    // pabsw         %xmm1,%xmm1
48078  .byte  102,65,15,253,202                   // paddw         %xmm10,%xmm1
48079  .byte  102,65,15,56,11,209                 // pmulhrsw      %xmm9,%xmm2
48080  .byte  102,68,15,56,29,210                 // pabsw         %xmm2,%xmm10
48081  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
48082  .byte  102,65,15,56,11,208                 // pmulhrsw      %xmm8,%xmm2
48083  .byte  102,15,56,29,210                    // pabsw         %xmm2,%xmm2
48084  .byte  102,65,15,253,210                   // paddw         %xmm10,%xmm2
48085  .byte  102,68,15,56,11,203                 // pmulhrsw      %xmm3,%xmm9
48086  .byte  102,69,15,56,29,201                 // pabsw         %xmm9,%xmm9
48087  .byte  102,68,15,56,11,199                 // pmulhrsw      %xmm7,%xmm8
48088  .byte  102,65,15,56,29,216                 // pabsw         %xmm8,%xmm3
48089  .byte  102,65,15,253,217                   // paddw         %xmm9,%xmm3
48090  .byte  72,173                              // lods          %ds:(%rsi),%rax
48091  .byte  255,224                             // jmpq          *%rax
48092
48093BALIGN16
48094  .byte  0,0                                 // add           %al,(%rax)
48095  .byte  128,67,0,0                          // addb          $0x0,0x0(%rbx)
48096  .byte  128,67,0,0                          // addb          $0x0,0x0(%rbx)
48097  .byte  128,67,0,0                          // addb          $0x0,0x0(%rbx)
48098  .byte  128,67,0,128                        // addb          $0x80,0x0(%rbx)
48099  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48100  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48101  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48102  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48103  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48104  .byte  0,1                                 // add           %al,(%rcx)
48105  .byte  4,5                                 // add           $0x5,%al
48106  .byte  8,9                                 // or            %cl,(%rcx)
48107  .byte  12,13                               // or            $0xd,%al
48108  .byte  8,9                                 // or            %cl,(%rcx)
48109  .byte  12,13                               // or            $0xd,%al
48110  .byte  12,13                               // or            $0xd,%al
48111  .byte  14                                  // (bad)
48112  .byte  15,129,128,129,128,129              // jno           ffffffff81809ce5 <_sk_xor__ssse3_lowp+0xffffffff81808260>
48113  .byte  128,129,128,129,128,129,128         // addb          $0x80,-0x7e7f7e80(%rcx)
48114  .byte  129,128,129,128,1,2,5,6,9,10        // addl          $0xa090605,0x2018081(%rax)
48115  .byte  13,14,9,10,13                       // or            $0xd0a090e,%eax
48116  .byte  14                                  // (bad)
48117  .byte  13,14,15,255,2                      // or            $0x2ff0f0e,%eax
48118  .byte  3,6                                 // add           (%rsi),%eax
48119  .byte  7                                   // (bad)
48120  .byte  10,11                               // or            (%rbx),%cl
48121  .byte  14                                  // (bad)
48122  .byte  15,10                               // (bad)
48123  .byte  11,14                               // or            (%rsi),%ecx
48124  .byte  15,14                               // femms
48125  .byte  15,255                              // (bad)
48126  .byte  255,3                               // incl          (%rbx)
48127  .byte  255,7                               // incl          (%rdi)
48128  .byte  255,11                              // decl          (%rbx)
48129  .byte  255,15                              // decl          (%rdi)
48130  .byte  255,11                              // decl          (%rbx)
48131  .byte  255,15                              // decl          (%rdi)
48132  .byte  255,15                              // decl          (%rdi)
48133  .byte  255                                 // (bad)
48134  .byte  255                                 // (bad)
48135  .byte  255,0                               // incl          (%rax)
48136  .byte  1,4,5,8,9,12,13                     // add           %eax,0xd0c0908(,%rax,1)
48137  .byte  8,9                                 // or            %cl,(%rcx)
48138  .byte  12,13                               // or            $0xd,%al
48139  .byte  12,13                               // or            $0xd,%al
48140  .byte  14                                  // (bad)
48141  .byte  15,129,128,129,128,129              // jno           ffffffff81809d35 <_sk_xor__ssse3_lowp+0xffffffff818082b0>
48142  .byte  128,129,128,129,128,129,128         // addb          $0x80,-0x7e7f7e80(%rcx)
48143  .byte  129,128,129,128,1,2,5,6,9,10        // addl          $0xa090605,0x2018081(%rax)
48144  .byte  13,14,9,10,13                       // or            $0xd0a090e,%eax
48145  .byte  14                                  // (bad)
48146  .byte  13,14,15,255,2                      // or            $0x2ff0f0e,%eax
48147  .byte  3,6                                 // add           (%rsi),%eax
48148  .byte  7                                   // (bad)
48149  .byte  10,11                               // or            (%rbx),%cl
48150  .byte  14                                  // (bad)
48151  .byte  15,10                               // (bad)
48152  .byte  11,14                               // or            (%rsi),%ecx
48153  .byte  15,14                               // femms
48154  .byte  15,255                              // (bad)
48155  .byte  255,3                               // incl          (%rbx)
48156  .byte  255,7                               // incl          (%rdi)
48157  .byte  255,11                              // decl          (%rbx)
48158  .byte  255,15                              // decl          (%rdi)
48159  .byte  255,11                              // decl          (%rbx)
48160  .byte  255,15                              // decl          (%rdi)
48161  .byte  255,15                              // decl          (%rdi)
48162  .byte  255                                 // (bad)
48163  .byte  255                                 // (bad)
48164  .byte  255                                 // (bad)
48165  .byte  255,0                               // incl          (%rax)
48166  .byte  255,0                               // incl          (%rax)
48167  .byte  255,0                               // incl          (%rax)
48168  .byte  255,0                               // incl          (%rax)
48169  .byte  255,0                               // incl          (%rax)
48170  .byte  255,0                               // incl          (%rax)
48171  .byte  255,0                               // incl          (%rax)
48172  .byte  255,0                               // incl          (%rax)
48173  .byte  0,1                                 // add           %al,(%rcx)
48174  .byte  4,5                                 // add           $0x5,%al
48175  .byte  8,9                                 // or            %cl,(%rcx)
48176  .byte  12,13                               // or            $0xd,%al
48177  .byte  8,9                                 // or            %cl,(%rcx)
48178  .byte  12,13                               // or            $0xd,%al
48179  .byte  12,13                               // or            $0xd,%al
48180  .byte  14                                  // (bad)
48181  .byte  15,129,128,129,128,129              // jno           ffffffff81809d95 <_sk_xor__ssse3_lowp+0xffffffff81808310>
48182  .byte  128,129,128,129,128,129,128         // addb          $0x80,-0x7e7f7e80(%rcx)
48183  .byte  129,128,129,128,1,2,5,6,9,10        // addl          $0xa090605,0x2018081(%rax)
48184  .byte  13,14,9,10,13                       // or            $0xd0a090e,%eax
48185  .byte  14                                  // (bad)
48186  .byte  13,14,15,255,2                      // or            $0x2ff0f0e,%eax
48187  .byte  3,6                                 // add           (%rsi),%eax
48188  .byte  7                                   // (bad)
48189  .byte  10,11                               // or            (%rbx),%cl
48190  .byte  14                                  // (bad)
48191  .byte  15,10                               // (bad)
48192  .byte  11,14                               // or            (%rsi),%ecx
48193  .byte  15,14                               // femms
48194  .byte  15,255                              // (bad)
48195  .byte  255,3                               // incl          (%rbx)
48196  .byte  255,7                               // incl          (%rdi)
48197  .byte  255,11                              // decl          (%rbx)
48198  .byte  255,15                              // decl          (%rdi)
48199  .byte  255,11                              // decl          (%rbx)
48200  .byte  255,15                              // decl          (%rdi)
48201  .byte  255,15                              // decl          (%rdi)
48202  .byte  255                                 // (bad)
48203  .byte  255                                 // (bad)
48204  .byte  255,0                               // incl          (%rax)
48205  .byte  1,4,5,8,9,12,13                     // add           %eax,0xd0c0908(,%rax,1)
48206  .byte  8,9                                 // or            %cl,(%rcx)
48207  .byte  12,13                               // or            $0xd,%al
48208  .byte  12,13                               // or            $0xd,%al
48209  .byte  14                                  // (bad)
48210  .byte  15,129,128,129,128,129              // jno           ffffffff81809de5 <_sk_xor__ssse3_lowp+0xffffffff81808360>
48211  .byte  128,129,128,129,128,129,128         // addb          $0x80,-0x7e7f7e80(%rcx)
48212  .byte  129,128,129,128,1,2,5,6,9,10        // addl          $0xa090605,0x2018081(%rax)
48213  .byte  13,14,9,10,13                       // or            $0xd0a090e,%eax
48214  .byte  14                                  // (bad)
48215  .byte  13,14,15,255,2                      // or            $0x2ff0f0e,%eax
48216  .byte  3,6                                 // add           (%rsi),%eax
48217  .byte  7                                   // (bad)
48218  .byte  10,11                               // or            (%rbx),%cl
48219  .byte  14                                  // (bad)
48220  .byte  15,10                               // (bad)
48221  .byte  11,14                               // or            (%rsi),%ecx
48222  .byte  15,14                               // femms
48223  .byte  15,255                              // (bad)
48224  .byte  255,3                               // incl          (%rbx)
48225  .byte  255,7                               // incl          (%rdi)
48226  .byte  255,11                              // decl          (%rbx)
48227  .byte  255,15                              // decl          (%rdi)
48228  .byte  255,11                              // decl          (%rbx)
48229  .byte  255,15                              // decl          (%rdi)
48230  .byte  255,15                              // decl          (%rdi)
48231  .byte  255                                 // (bad)
48232  .byte  255                                 // (bad)
48233  .byte  255                                 // (bad)
48234  .byte  255,0                               // incl          (%rax)
48235  .byte  255,0                               // incl          (%rax)
48236  .byte  255,0                               // incl          (%rax)
48237  .byte  255,0                               // incl          (%rax)
48238  .byte  255,0                               // incl          (%rax)
48239  .byte  255,0                               // incl          (%rax)
48240  .byte  255,0                               // incl          (%rax)
48241  .byte  255,0                               // incl          (%rax)
48242  .byte  129,128,129,128,129,128,129,128,129,128// addl          $0x80818081,-0x7f7e7f7f(%rax)
48243  .byte  129,128,129,128,129,128,129,128,129,128// addl          $0x80818081,-0x7f7e7f7f(%rax)
48244  .byte  129,128,129,128,129,128,129,128,129,128// addl          $0x80818081,-0x7f7e7f7f(%rax)
48245  .byte  129,128,0,2,4,6,0,0,0,0             // addl          $0x0,0x6040200(%rax)
48246  .byte  0,0                                 // add           %al,(%rax)
48247  .byte  0,0                                 // add           %al,(%rax)
48248  .byte  0,0                                 // add           %al,(%rax)
48249  .byte  0,0                                 // add           %al,(%rax)
48250  .byte  0,2                                 // add           %al,(%rdx)
48251  .byte  0,0                                 // add           %al,(%rax)
48252  .byte  0,0                                 // add           %al,(%rax)
48253  .byte  0,0                                 // add           %al,(%rax)
48254  .byte  0,0                                 // add           %al,(%rax)
48255  .byte  0,0                                 // add           %al,(%rax)
48256  .byte  0,0                                 // add           %al,(%rax)
48257  .byte  0,0                                 // add           %al,(%rax)
48258  .byte  129,128,129,128,129,128,129,128,129,128// addl          $0x80818081,-0x7f7e7f7f(%rax)
48259  .byte  129,128,129,128,129,128,0,128,0,128 // addl          $0x80008000,-0x7f7e7f7f(%rax)
48260  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48261  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48262  .byte  129,128,129,128,129,128,129,128,129,128// addl          $0x80818081,-0x7f7e7f7f(%rax)
48263  .byte  129,128,129,128,129,128,0,128,0,128 // addl          $0x80008000,-0x7f7e7f7f(%rax)
48264  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48265  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48266  .byte  0,1                                 // add           %al,(%rcx)
48267  .byte  4,5                                 // add           $0x5,%al
48268  .byte  8,9                                 // or            %cl,(%rcx)
48269  .byte  12,13                               // or            $0xd,%al
48270  .byte  8,9                                 // or            %cl,(%rcx)
48271  .byte  12,13                               // or            $0xd,%al
48272  .byte  12,13                               // or            $0xd,%al
48273  .byte  14                                  // (bad)
48274  .byte  15,255                              // (bad)
48275  .byte  0,255                               // add           %bh,%bh
48276  .byte  0,255                               // add           %bh,%bh
48277  .byte  0,255                               // add           %bh,%bh
48278  .byte  0,255                               // add           %bh,%bh
48279  .byte  0,255                               // add           %bh,%bh
48280  .byte  0,255                               // add           %bh,%bh
48281  .byte  0,255                               // add           %bh,%bh
48282  .byte  0,129,128,129,128,129               // add           %al,-0x7e7f7e80(%rcx)
48283  .byte  128,129,128,129,128,129,128         // addb          $0x80,-0x7e7f7e80(%rcx)
48284  .byte  129,128,129,128,1,2,5,6,9,10        // addl          $0xa090605,0x2018081(%rax)
48285  .byte  13,14,9,10,13                       // or            $0xd0a090e,%eax
48286  .byte  14                                  // (bad)
48287  .byte  13,14,15,255,2                      // or            $0x2ff0f0e,%eax
48288  .byte  3,6                                 // add           (%rsi),%eax
48289  .byte  7                                   // (bad)
48290  .byte  10,11                               // or            (%rbx),%cl
48291  .byte  14                                  // (bad)
48292  .byte  15,10                               // (bad)
48293  .byte  11,14                               // or            (%rsi),%ecx
48294  .byte  15,14                               // femms
48295  .byte  15,255                              // (bad)
48296  .byte  255,3                               // incl          (%rbx)
48297  .byte  255,7                               // incl          (%rdi)
48298  .byte  255,11                              // decl          (%rbx)
48299  .byte  255,15                              // decl          (%rdi)
48300  .byte  255,11                              // decl          (%rbx)
48301  .byte  255,15                              // decl          (%rdi)
48302  .byte  255,15                              // decl          (%rdi)
48303  .byte  255                                 // (bad)
48304  .byte  255                                 // (bad)
48305  .byte  255,0                               // incl          (%rax)
48306  .byte  128,0,128                           // addb          $0x80,(%rax)
48307  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48308  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48309  .byte  129,128,129,128,129,128,129,128,129,128// addl          $0x80818081,-0x7f7e7f7f(%rax)
48310  .byte  129,128,129,128,129,128,0,128,0,128 // addl          $0x80008000,-0x7f7e7f7f(%rax)
48311  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48312  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48313  .byte  129,128,129,128,129,128,129,128,129,128// addl          $0x80818081,-0x7f7e7f7f(%rax)
48314  .byte  129,128,129,128,129,128,0,128,0,128 // addl          $0x80008000,-0x7f7e7f7f(%rax)
48315  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48316  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48317  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48318  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48319  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48320  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48321  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48322  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48323  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48324  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48325  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48326  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48327  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48328  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48329  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48330  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48331  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48332  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48333  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48334  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48335  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48336  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48337  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48338  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48339  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48340  .byte  0,128,0,128,0,128                   // add           %al,-0x7fff8000(%rax)
48341
48342BALIGN4
48343  .byte  0,0                                 // add           %al,(%rax)
48344  .byte  128,67,0,0                          // addb          $0x0,0x0(%rbx)
48345  .byte  128,67,0,0                          // addb          $0x0,0x0(%rbx)
48346  .byte  128                                 // .byte         0x80
48347  .byte  67                                  // rex.XB
48348#elif defined(__i386__)
48349BALIGN32
48350
48351HIDDEN _sk_start_pipeline_sse2
48352.globl _sk_start_pipeline_sse2
48353FUNCTION(_sk_start_pipeline_sse2)
48354_sk_start_pipeline_sse2:
48355  .byte  85                                  // push          %ebp
48356  .byte  137,229                             // mov           %esp,%ebp
48357  .byte  83                                  // push          %ebx
48358  .byte  87                                  // push          %edi
48359  .byte  86                                  // push          %esi
48360  .byte  131,236,12                          // sub           $0xc,%esp
48361  .byte  139,125,16                          // mov           0x10(%ebp),%edi
48362  .byte  139,117,8                           // mov           0x8(%ebp),%esi
48363  .byte  139,85,20                           // mov           0x14(%ebp),%edx
48364  .byte  139,10                              // mov           (%edx),%ecx
48365  .byte  131,194,4                           // add           $0x4,%edx
48366  .byte  141,70,4                            // lea           0x4(%esi),%eax
48367  .byte  57,248                              // cmp           %edi,%eax
48368  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
48369  .byte  118,4                               // jbe           25 <_sk_start_pipeline_sse2+0x25>
48370  .byte  137,240                             // mov           %esi,%eax
48371  .byte  235,42                              // jmp           4f <_sk_start_pipeline_sse2+0x4f>
48372  .byte  131,236,76                          // sub           $0x4c,%esp
48373  .byte  106,0                               // push          $0x0
48374  .byte  255,117,12                          // pushl         0xc(%ebp)
48375  .byte  86                                  // push          %esi
48376  .byte  82                                  // push          %edx
48377  .byte  83                                  // push          %ebx
48378  .byte  137,207                             // mov           %ecx,%edi
48379  .byte  137,211                             // mov           %edx,%ebx
48380  .byte  255,215                             // call          *%edi
48381  .byte  137,218                             // mov           %ebx,%edx
48382  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
48383  .byte  137,249                             // mov           %edi,%ecx
48384  .byte  139,125,16                          // mov           0x10(%ebp),%edi
48385  .byte  131,196,96                          // add           $0x60,%esp
48386  .byte  141,70,4                            // lea           0x4(%esi),%eax
48387  .byte  131,198,8                           // add           $0x8,%esi
48388  .byte  57,254                              // cmp           %edi,%esi
48389  .byte  137,198                             // mov           %eax,%esi
48390  .byte  118,214                             // jbe           25 <_sk_start_pipeline_sse2+0x25>
48391  .byte  139,117,12                          // mov           0xc(%ebp),%esi
48392  .byte  41,199                              // sub           %eax,%edi
48393  .byte  116,15                              // je            65 <_sk_start_pipeline_sse2+0x65>
48394  .byte  131,236,76                          // sub           $0x4c,%esp
48395  .byte  87                                  // push          %edi
48396  .byte  86                                  // push          %esi
48397  .byte  80                                  // push          %eax
48398  .byte  82                                  // push          %edx
48399  .byte  83                                  // push          %ebx
48400  .byte  255,209                             // call          *%ecx
48401  .byte  131,196,108                         // add           $0x6c,%esp
48402  .byte  235,3                               // jmp           68 <_sk_start_pipeline_sse2+0x68>
48403  .byte  131,196,12                          // add           $0xc,%esp
48404  .byte  94                                  // pop           %esi
48405  .byte  95                                  // pop           %edi
48406  .byte  91                                  // pop           %ebx
48407  .byte  93                                  // pop           %ebp
48408  .byte  195                                 // ret
48409
48410HIDDEN _sk_start_pipeline_2d_sse2
48411.globl _sk_start_pipeline_2d_sse2
48412FUNCTION(_sk_start_pipeline_2d_sse2)
48413_sk_start_pipeline_2d_sse2:
48414  .byte  85                                  // push          %ebp
48415  .byte  137,229                             // mov           %esp,%ebp
48416  .byte  83                                  // push          %ebx
48417  .byte  87                                  // push          %edi
48418  .byte  86                                  // push          %esi
48419  .byte  131,236,12                          // sub           $0xc,%esp
48420  .byte  139,93,12                           // mov           0xc(%ebp),%ebx
48421  .byte  59,93,20                            // cmp           0x14(%ebp),%ebx
48422  .byte  115,106                             // jae           e8 <_sk_start_pipeline_2d_sse2+0x7b>
48423  .byte  139,85,28                           // mov           0x1c(%ebp),%edx
48424  .byte  139,69,24                           // mov           0x18(%ebp),%eax
48425  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
48426  .byte  139,117,8                           // mov           0x8(%ebp),%esi
48427  .byte  141,120,4                           // lea           0x4(%eax),%edi
48428  .byte  141,70,4                            // lea           0x4(%esi),%eax
48429  .byte  137,69,236                          // mov           %eax,-0x14(%ebp)
48430  .byte  137,93,240                          // mov           %ebx,-0x10(%ebp)
48431  .byte  57,77,236                           // cmp           %ecx,-0x14(%ebp)
48432  .byte  139,69,24                           // mov           0x18(%ebp),%eax
48433  .byte  139,48                              // mov           (%eax),%esi
48434  .byte  139,69,8                            // mov           0x8(%ebp),%eax
48435  .byte  119,37                              // ja            c8 <_sk_start_pipeline_2d_sse2+0x5b>
48436  .byte  139,93,8                            // mov           0x8(%ebp),%ebx
48437  .byte  131,236,76                          // sub           $0x4c,%esp
48438  .byte  106,0                               // push          $0x0
48439  .byte  255,117,240                         // pushl         -0x10(%ebp)
48440  .byte  83                                  // push          %ebx
48441  .byte  87                                  // push          %edi
48442  .byte  82                                  // push          %edx
48443  .byte  255,214                             // call          *%esi
48444  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
48445  .byte  139,85,28                           // mov           0x1c(%ebp),%edx
48446  .byte  131,196,96                          // add           $0x60,%esp
48447  .byte  141,67,4                            // lea           0x4(%ebx),%eax
48448  .byte  131,195,8                           // add           $0x8,%ebx
48449  .byte  57,203                              // cmp           %ecx,%ebx
48450  .byte  137,195                             // mov           %eax,%ebx
48451  .byte  118,222                             // jbe           a6 <_sk_start_pipeline_2d_sse2+0x39>
48452  .byte  41,193                              // sub           %eax,%ecx
48453  .byte  139,93,240                          // mov           -0x10(%ebp),%ebx
48454  .byte  116,16                              // je            df <_sk_start_pipeline_2d_sse2+0x72>
48455  .byte  131,236,76                          // sub           $0x4c,%esp
48456  .byte  81                                  // push          %ecx
48457  .byte  83                                  // push          %ebx
48458  .byte  80                                  // push          %eax
48459  .byte  87                                  // push          %edi
48460  .byte  82                                  // push          %edx
48461  .byte  255,214                             // call          *%esi
48462  .byte  139,85,28                           // mov           0x1c(%ebp),%edx
48463  .byte  131,196,96                          // add           $0x60,%esp
48464  .byte  67                                  // inc           %ebx
48465  .byte  59,93,20                            // cmp           0x14(%ebp),%ebx
48466  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
48467  .byte  117,171                             // jne           93 <_sk_start_pipeline_2d_sse2+0x26>
48468  .byte  131,196,12                          // add           $0xc,%esp
48469  .byte  94                                  // pop           %esi
48470  .byte  95                                  // pop           %edi
48471  .byte  91                                  // pop           %ebx
48472  .byte  93                                  // pop           %ebp
48473  .byte  195                                 // ret
48474
48475HIDDEN _sk_just_return_sse2
48476.globl _sk_just_return_sse2
48477FUNCTION(_sk_just_return_sse2)
48478_sk_just_return_sse2:
48479  .byte  195                                 // ret
48480
48481HIDDEN _sk_seed_shader_sse2
48482.globl _sk_seed_shader_sse2
48483FUNCTION(_sk_seed_shader_sse2)
48484_sk_seed_shader_sse2:
48485  .byte  85                                  // push          %ebp
48486  .byte  137,229                             // mov           %esp,%ebp
48487  .byte  83                                  // push          %ebx
48488  .byte  87                                  // push          %edi
48489  .byte  86                                  // push          %esi
48490  .byte  131,236,108                         // sub           $0x6c,%esp
48491  .byte  232,0,0,0,0                         // call          ff <_sk_seed_shader_sse2+0xe>
48492  .byte  89                                  // pop           %ecx
48493  .byte  139,85,20                           // mov           0x14(%ebp),%edx
48494  .byte  139,69,8                            // mov           0x8(%ebp),%eax
48495  .byte  139,125,16                          // mov           0x10(%ebp),%edi
48496  .byte  102,15,110,199                      // movd          %edi,%xmm0
48497  .byte  102,15,112,192,0                    // pshufd        $0x0,%xmm0,%xmm0
48498  .byte  15,91,200                           // cvtdq2ps      %xmm0,%xmm1
48499  .byte  15,40,145,65,145,0,0                // movaps        0x9141(%ecx),%xmm2
48500  .byte  15,88,202                           // addps         %xmm2,%xmm1
48501  .byte  15,16,0                             // movups        (%eax),%xmm0
48502  .byte  15,88,193                           // addps         %xmm1,%xmm0
48503  .byte  102,15,110,202                      // movd          %edx,%xmm1
48504  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
48505  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
48506  .byte  15,88,202                           // addps         %xmm2,%xmm1
48507  .byte  139,93,12                           // mov           0xc(%ebp),%ebx
48508  .byte  141,67,4                            // lea           0x4(%ebx),%eax
48509  .byte  15,87,210                           // xorps         %xmm2,%xmm2
48510  .byte  15,41,84,36,80                      // movaps        %xmm2,0x50(%esp)
48511  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
48512  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
48513  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
48514  .byte  139,117,24                          // mov           0x18(%ebp),%esi
48515  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
48516  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
48517  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
48518  .byte  137,68,36,4                         // mov           %eax,0x4(%esp)
48519  .byte  139,69,8                            // mov           0x8(%ebp),%eax
48520  .byte  137,4,36                            // mov           %eax,(%esp)
48521  .byte  15,40,145,81,145,0,0                // movaps        0x9151(%ecx),%xmm2
48522  .byte  15,87,219                           // xorps         %xmm3,%xmm3
48523  .byte  255,19                              // call          *(%ebx)
48524  .byte  131,196,108                         // add           $0x6c,%esp
48525  .byte  94                                  // pop           %esi
48526  .byte  95                                  // pop           %edi
48527  .byte  91                                  // pop           %ebx
48528  .byte  93                                  // pop           %ebp
48529  .byte  195                                 // ret
48530
48531HIDDEN _sk_dither_sse2
48532.globl _sk_dither_sse2
48533FUNCTION(_sk_dither_sse2)
48534_sk_dither_sse2:
48535  .byte  85                                  // push          %ebp
48536  .byte  137,229                             // mov           %esp,%ebp
48537  .byte  83                                  // push          %ebx
48538  .byte  87                                  // push          %edi
48539  .byte  86                                  // push          %esi
48540  .byte  129,236,156,0,0,0                   // sub           $0x9c,%esp
48541  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
48542  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
48543  .byte  15,41,77,216                        // movaps        %xmm1,-0x28(%ebp)
48544  .byte  15,40,208                           // movaps        %xmm0,%xmm2
48545  .byte  232,0,0,0,0                         // call          19e <_sk_dither_sse2+0x20>
48546  .byte  94                                  // pop           %esi
48547  .byte  139,77,20                           // mov           0x14(%ebp),%ecx
48548  .byte  139,69,8                            // mov           0x8(%ebp),%eax
48549  .byte  139,85,16                           // mov           0x10(%ebp),%edx
48550  .byte  102,15,110,226                      // movd          %edx,%xmm4
48551  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
48552  .byte  243,15,111,104,32                   // movdqu        0x20(%eax),%xmm5
48553  .byte  102,15,254,236                      // paddd         %xmm4,%xmm5
48554  .byte  102,15,110,225                      // movd          %ecx,%xmm4
48555  .byte  102,15,112,252,0                    // pshufd        $0x0,%xmm4,%xmm7
48556  .byte  102,15,239,253                      // pxor          %xmm5,%xmm7
48557  .byte  102,15,111,182,194,144,0,0          // movdqa        0x90c2(%esi),%xmm6
48558  .byte  102,15,111,207                      // movdqa        %xmm7,%xmm1
48559  .byte  102,15,219,206                      // pand          %xmm6,%xmm1
48560  .byte  102,15,219,245                      // pand          %xmm5,%xmm6
48561  .byte  102,15,111,134,226,144,0,0          // movdqa        0x90e2(%esi),%xmm0
48562  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
48563  .byte  102,15,219,224                      // pand          %xmm0,%xmm4
48564  .byte  102,15,219,197                      // pand          %xmm5,%xmm0
48565  .byte  102,15,111,158,210,144,0,0          // movdqa        0x90d2(%esi),%xmm3
48566  .byte  102,15,219,251                      // pand          %xmm3,%xmm7
48567  .byte  102,15,219,235                      // pand          %xmm3,%xmm5
48568  .byte  102,15,114,246,4                    // pslld         $0x4,%xmm6
48569  .byte  102,15,254,192                      // paddd         %xmm0,%xmm0
48570  .byte  102,15,235,198                      // por           %xmm6,%xmm0
48571  .byte  102,15,114,213,2                    // psrld         $0x2,%xmm5
48572  .byte  102,15,235,197                      // por           %xmm5,%xmm0
48573  .byte  139,125,12                          // mov           0xc(%ebp),%edi
48574  .byte  102,15,114,241,5                    // pslld         $0x5,%xmm1
48575  .byte  102,15,114,244,2                    // pslld         $0x2,%xmm4
48576  .byte  102,15,114,215,1                    // psrld         $0x1,%xmm7
48577  .byte  102,15,235,225                      // por           %xmm1,%xmm4
48578  .byte  102,15,235,224                      // por           %xmm0,%xmm4
48579  .byte  102,15,235,231                      // por           %xmm7,%xmm4
48580  .byte  15,91,196                           // cvtdq2ps      %xmm4,%xmm0
48581  .byte  15,89,134,242,144,0,0               // mulps         0x90f2(%esi),%xmm0
48582  .byte  15,88,134,2,145,0,0                 // addps         0x9102(%esi),%xmm0
48583  .byte  139,55                              // mov           (%edi),%esi
48584  .byte  243,15,16,14                        // movss         (%esi),%xmm1
48585  .byte  139,117,24                          // mov           0x18(%ebp),%esi
48586  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
48587  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
48588  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
48589  .byte  15,89,200                           // mulps         %xmm0,%xmm1
48590  .byte  15,40,69,72                         // movaps        0x48(%ebp),%xmm0
48591  .byte  15,88,209                           // addps         %xmm1,%xmm2
48592  .byte  15,40,101,216                       // movaps        -0x28(%ebp),%xmm4
48593  .byte  15,88,225                           // addps         %xmm1,%xmm4
48594  .byte  15,88,77,200                        // addps         -0x38(%ebp),%xmm1
48595  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
48596  .byte  15,93,211                           // minps         %xmm3,%xmm2
48597  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
48598  .byte  15,95,234                           // maxps         %xmm2,%xmm5
48599  .byte  15,93,227                           // minps         %xmm3,%xmm4
48600  .byte  15,40,212                           // movaps        %xmm4,%xmm2
48601  .byte  15,87,228                           // xorps         %xmm4,%xmm4
48602  .byte  15,95,226                           // maxps         %xmm2,%xmm4
48603  .byte  15,87,210                           // xorps         %xmm2,%xmm2
48604  .byte  15,93,203                           // minps         %xmm3,%xmm1
48605  .byte  15,95,209                           // maxps         %xmm1,%xmm2
48606  .byte  15,40,77,88                         // movaps        0x58(%ebp),%xmm1
48607  .byte  141,95,8                            // lea           0x8(%edi),%ebx
48608  .byte  15,41,76,36,80                      // movaps        %xmm1,0x50(%esp)
48609  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
48610  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
48611  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
48612  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
48613  .byte  137,76,36,12                        // mov           %ecx,0xc(%esp)
48614  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
48615  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
48616  .byte  137,4,36                            // mov           %eax,(%esp)
48617  .byte  15,40,197                           // movaps        %xmm5,%xmm0
48618  .byte  15,40,204                           // movaps        %xmm4,%xmm1
48619  .byte  255,87,4                            // call          *0x4(%edi)
48620  .byte  129,196,156,0,0,0                   // add           $0x9c,%esp
48621  .byte  94                                  // pop           %esi
48622  .byte  95                                  // pop           %edi
48623  .byte  91                                  // pop           %ebx
48624  .byte  93                                  // pop           %ebp
48625  .byte  195                                 // ret
48626
48627HIDDEN _sk_uniform_color_sse2
48628.globl _sk_uniform_color_sse2
48629FUNCTION(_sk_uniform_color_sse2)
48630_sk_uniform_color_sse2:
48631  .byte  85                                  // push          %ebp
48632  .byte  137,229                             // mov           %esp,%ebp
48633  .byte  83                                  // push          %ebx
48634  .byte  87                                  // push          %edi
48635  .byte  86                                  // push          %esi
48636  .byte  131,236,108                         // sub           $0x6c,%esp
48637  .byte  139,69,8                            // mov           0x8(%ebp),%eax
48638  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
48639  .byte  139,85,20                           // mov           0x14(%ebp),%edx
48640  .byte  139,117,12                          // mov           0xc(%ebp),%esi
48641  .byte  139,62                              // mov           (%esi),%edi
48642  .byte  243,15,16,7                         // movss         (%edi),%xmm0
48643  .byte  243,15,16,79,4                      // movss         0x4(%edi),%xmm1
48644  .byte  243,15,16,87,8                      // movss         0x8(%edi),%xmm2
48645  .byte  243,15,16,95,12                     // movss         0xc(%edi),%xmm3
48646  .byte  139,125,24                          // mov           0x18(%ebp),%edi
48647  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
48648  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
48649  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
48650  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
48651  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
48652  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
48653  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
48654  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
48655  .byte  141,94,8                            // lea           0x8(%esi),%ebx
48656  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
48657  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
48658  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
48659  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
48660  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
48661  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
48662  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
48663  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
48664  .byte  137,4,36                            // mov           %eax,(%esp)
48665  .byte  255,86,4                            // call          *0x4(%esi)
48666  .byte  131,196,108                         // add           $0x6c,%esp
48667  .byte  94                                  // pop           %esi
48668  .byte  95                                  // pop           %edi
48669  .byte  91                                  // pop           %ebx
48670  .byte  93                                  // pop           %ebp
48671  .byte  195                                 // ret
48672
48673HIDDEN _sk_black_color_sse2
48674.globl _sk_black_color_sse2
48675FUNCTION(_sk_black_color_sse2)
48676_sk_black_color_sse2:
48677  .byte  85                                  // push          %ebp
48678  .byte  137,229                             // mov           %esp,%ebp
48679  .byte  83                                  // push          %ebx
48680  .byte  87                                  // push          %edi
48681  .byte  86                                  // push          %esi
48682  .byte  131,236,108                         // sub           $0x6c,%esp
48683  .byte  232,0,0,0,0                         // call          363 <_sk_black_color_sse2+0xe>
48684  .byte  89                                  // pop           %ecx
48685  .byte  139,85,16                           // mov           0x10(%ebp),%edx
48686  .byte  139,117,20                          // mov           0x14(%ebp),%esi
48687  .byte  139,125,24                          // mov           0x18(%ebp),%edi
48688  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
48689  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
48690  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
48691  .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
48692  .byte  139,93,12                           // mov           0xc(%ebp),%ebx
48693  .byte  141,67,4                            // lea           0x4(%ebx),%eax
48694  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
48695  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
48696  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
48697  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
48698  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
48699  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
48700  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
48701  .byte  137,68,36,4                         // mov           %eax,0x4(%esp)
48702  .byte  139,69,8                            // mov           0x8(%ebp),%eax
48703  .byte  137,4,36                            // mov           %eax,(%esp)
48704  .byte  15,40,153,77,143,0,0                // movaps        0x8f4d(%ecx),%xmm3
48705  .byte  15,87,192                           // xorps         %xmm0,%xmm0
48706  .byte  15,87,201                           // xorps         %xmm1,%xmm1
48707  .byte  15,87,210                           // xorps         %xmm2,%xmm2
48708  .byte  255,19                              // call          *(%ebx)
48709  .byte  131,196,108                         // add           $0x6c,%esp
48710  .byte  94                                  // pop           %esi
48711  .byte  95                                  // pop           %edi
48712  .byte  91                                  // pop           %ebx
48713  .byte  93                                  // pop           %ebp
48714  .byte  195                                 // ret
48715
48716HIDDEN _sk_white_color_sse2
48717.globl _sk_white_color_sse2
48718FUNCTION(_sk_white_color_sse2)
48719_sk_white_color_sse2:
48720  .byte  85                                  // push          %ebp
48721  .byte  137,229                             // mov           %esp,%ebp
48722  .byte  83                                  // push          %ebx
48723  .byte  87                                  // push          %edi
48724  .byte  86                                  // push          %esi
48725  .byte  131,236,108                         // sub           $0x6c,%esp
48726  .byte  232,0,0,0,0                         // call          3d5 <_sk_white_color_sse2+0xe>
48727  .byte  89                                  // pop           %ecx
48728  .byte  139,85,16                           // mov           0x10(%ebp),%edx
48729  .byte  139,117,20                          // mov           0x14(%ebp),%esi
48730  .byte  139,125,24                          // mov           0x18(%ebp),%edi
48731  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
48732  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
48733  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
48734  .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
48735  .byte  139,93,12                           // mov           0xc(%ebp),%ebx
48736  .byte  141,67,4                            // lea           0x4(%ebx),%eax
48737  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
48738  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
48739  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
48740  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
48741  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
48742  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
48743  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
48744  .byte  137,68,36,4                         // mov           %eax,0x4(%esp)
48745  .byte  139,69,8                            // mov           0x8(%ebp),%eax
48746  .byte  137,4,36                            // mov           %eax,(%esp)
48747  .byte  15,40,129,235,142,0,0               // movaps        0x8eeb(%ecx),%xmm0
48748  .byte  15,40,200                           // movaps        %xmm0,%xmm1
48749  .byte  15,40,208                           // movaps        %xmm0,%xmm2
48750  .byte  15,40,216                           // movaps        %xmm0,%xmm3
48751  .byte  255,19                              // call          *(%ebx)
48752  .byte  131,196,108                         // add           $0x6c,%esp
48753  .byte  94                                  // pop           %esi
48754  .byte  95                                  // pop           %edi
48755  .byte  91                                  // pop           %ebx
48756  .byte  93                                  // pop           %ebp
48757  .byte  195                                 // ret
48758
48759HIDDEN _sk_load_rgba_sse2
48760.globl _sk_load_rgba_sse2
48761FUNCTION(_sk_load_rgba_sse2)
48762_sk_load_rgba_sse2:
48763  .byte  85                                  // push          %ebp
48764  .byte  137,229                             // mov           %esp,%ebp
48765  .byte  83                                  // push          %ebx
48766  .byte  87                                  // push          %edi
48767  .byte  86                                  // push          %esi
48768  .byte  131,236,108                         // sub           $0x6c,%esp
48769  .byte  139,69,8                            // mov           0x8(%ebp),%eax
48770  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
48771  .byte  139,85,20                           // mov           0x14(%ebp),%edx
48772  .byte  139,117,12                          // mov           0xc(%ebp),%esi
48773  .byte  139,62                              // mov           (%esi),%edi
48774  .byte  15,16,7                             // movups        (%edi),%xmm0
48775  .byte  15,16,79,16                         // movups        0x10(%edi),%xmm1
48776  .byte  15,16,87,32                         // movups        0x20(%edi),%xmm2
48777  .byte  15,16,95,48                         // movups        0x30(%edi),%xmm3
48778  .byte  139,125,24                          // mov           0x18(%ebp),%edi
48779  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
48780  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
48781  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
48782  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
48783  .byte  141,94,8                            // lea           0x8(%esi),%ebx
48784  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
48785  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
48786  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
48787  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
48788  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
48789  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
48790  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
48791  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
48792  .byte  137,4,36                            // mov           %eax,(%esp)
48793  .byte  255,86,4                            // call          *0x4(%esi)
48794  .byte  131,196,108                         // add           $0x6c,%esp
48795  .byte  94                                  // pop           %esi
48796  .byte  95                                  // pop           %edi
48797  .byte  91                                  // pop           %ebx
48798  .byte  93                                  // pop           %ebp
48799  .byte  195                                 // ret
48800
48801HIDDEN _sk_store_rgba_sse2
48802.globl _sk_store_rgba_sse2
48803FUNCTION(_sk_store_rgba_sse2)
48804_sk_store_rgba_sse2:
48805  .byte  85                                  // push          %ebp
48806  .byte  137,229                             // mov           %esp,%ebp
48807  .byte  83                                  // push          %ebx
48808  .byte  87                                  // push          %edi
48809  .byte  86                                  // push          %esi
48810  .byte  131,236,108                         // sub           $0x6c,%esp
48811  .byte  139,69,8                            // mov           0x8(%ebp),%eax
48812  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
48813  .byte  139,85,20                           // mov           0x14(%ebp),%edx
48814  .byte  139,117,12                          // mov           0xc(%ebp),%esi
48815  .byte  139,62                              // mov           (%esi),%edi
48816  .byte  15,17,7                             // movups        %xmm0,(%edi)
48817  .byte  15,17,79,16                         // movups        %xmm1,0x10(%edi)
48818  .byte  15,17,87,32                         // movups        %xmm2,0x20(%edi)
48819  .byte  15,17,95,48                         // movups        %xmm3,0x30(%edi)
48820  .byte  139,125,24                          // mov           0x18(%ebp),%edi
48821  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
48822  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
48823  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
48824  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
48825  .byte  141,94,8                            // lea           0x8(%esi),%ebx
48826  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
48827  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
48828  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
48829  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
48830  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
48831  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
48832  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
48833  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
48834  .byte  137,4,36                            // mov           %eax,(%esp)
48835  .byte  255,86,4                            // call          *0x4(%esi)
48836  .byte  131,196,108                         // add           $0x6c,%esp
48837  .byte  94                                  // pop           %esi
48838  .byte  95                                  // pop           %edi
48839  .byte  91                                  // pop           %ebx
48840  .byte  93                                  // pop           %ebp
48841  .byte  195                                 // ret
48842
48843HIDDEN _sk_clear_sse2
48844.globl _sk_clear_sse2
48845FUNCTION(_sk_clear_sse2)
48846_sk_clear_sse2:
48847  .byte  85                                  // push          %ebp
48848  .byte  137,229                             // mov           %esp,%ebp
48849  .byte  83                                  // push          %ebx
48850  .byte  87                                  // push          %edi
48851  .byte  86                                  // push          %esi
48852  .byte  131,236,108                         // sub           $0x6c,%esp
48853  .byte  139,69,8                            // mov           0x8(%ebp),%eax
48854  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
48855  .byte  139,85,20                           // mov           0x14(%ebp),%edx
48856  .byte  139,117,24                          // mov           0x18(%ebp),%esi
48857  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
48858  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
48859  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
48860  .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
48861  .byte  139,125,12                          // mov           0xc(%ebp),%edi
48862  .byte  141,95,4                            // lea           0x4(%edi),%ebx
48863  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
48864  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
48865  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
48866  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
48867  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
48868  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
48869  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
48870  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
48871  .byte  137,4,36                            // mov           %eax,(%esp)
48872  .byte  15,87,192                           // xorps         %xmm0,%xmm0
48873  .byte  15,87,201                           // xorps         %xmm1,%xmm1
48874  .byte  15,87,210                           // xorps         %xmm2,%xmm2
48875  .byte  15,87,219                           // xorps         %xmm3,%xmm3
48876  .byte  255,23                              // call          *(%edi)
48877  .byte  131,196,108                         // add           $0x6c,%esp
48878  .byte  94                                  // pop           %esi
48879  .byte  95                                  // pop           %edi
48880  .byte  91                                  // pop           %ebx
48881  .byte  93                                  // pop           %ebp
48882  .byte  195                                 // ret
48883
48884HIDDEN _sk_srcatop_sse2
48885.globl _sk_srcatop_sse2
48886FUNCTION(_sk_srcatop_sse2)
48887_sk_srcatop_sse2:
48888  .byte  85                                  // push          %ebp
48889  .byte  137,229                             // mov           %esp,%ebp
48890  .byte  83                                  // push          %ebx
48891  .byte  87                                  // push          %edi
48892  .byte  86                                  // push          %esi
48893  .byte  131,236,108                         // sub           $0x6c,%esp
48894  .byte  15,40,234                           // movaps        %xmm2,%xmm5
48895  .byte  15,40,225                           // movaps        %xmm1,%xmm4
48896  .byte  15,40,208                           // movaps        %xmm0,%xmm2
48897  .byte  232,0,0,0,0                         // call          594 <_sk_srcatop_sse2+0x17>
48898  .byte  88                                  // pop           %eax
48899  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
48900  .byte  15,89,208                           // mulps         %xmm0,%xmm2
48901  .byte  15,40,136,60,141,0,0                // movaps        0x8d3c(%eax),%xmm1
48902  .byte  15,92,203                           // subps         %xmm3,%xmm1
48903  .byte  15,40,249                           // movaps        %xmm1,%xmm7
48904  .byte  15,89,125,40                        // mulps         0x28(%ebp),%xmm7
48905  .byte  15,88,215                           // addps         %xmm7,%xmm2
48906  .byte  15,89,224                           // mulps         %xmm0,%xmm4
48907  .byte  15,40,241                           // movaps        %xmm1,%xmm6
48908  .byte  15,89,117,56                        // mulps         0x38(%ebp),%xmm6
48909  .byte  15,88,230                           // addps         %xmm6,%xmm4
48910  .byte  15,89,232                           // mulps         %xmm0,%xmm5
48911  .byte  15,40,248                           // movaps        %xmm0,%xmm7
48912  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
48913  .byte  15,40,193                           // movaps        %xmm1,%xmm0
48914  .byte  15,89,198                           // mulps         %xmm6,%xmm0
48915  .byte  15,88,232                           // addps         %xmm0,%xmm5
48916  .byte  15,89,223                           // mulps         %xmm7,%xmm3
48917  .byte  15,89,207                           // mulps         %xmm7,%xmm1
48918  .byte  15,88,217                           // addps         %xmm1,%xmm3
48919  .byte  139,69,8                            // mov           0x8(%ebp),%eax
48920  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
48921  .byte  139,85,20                           // mov           0x14(%ebp),%edx
48922  .byte  139,117,24                          // mov           0x18(%ebp),%esi
48923  .byte  139,125,12                          // mov           0xc(%ebp),%edi
48924  .byte  141,95,4                            // lea           0x4(%edi),%ebx
48925  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
48926  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
48927  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
48928  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
48929  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
48930  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
48931  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
48932  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
48933  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
48934  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
48935  .byte  137,4,36                            // mov           %eax,(%esp)
48936  .byte  15,40,194                           // movaps        %xmm2,%xmm0
48937  .byte  15,40,204                           // movaps        %xmm4,%xmm1
48938  .byte  15,40,213                           // movaps        %xmm5,%xmm2
48939  .byte  255,23                              // call          *(%edi)
48940  .byte  131,196,108                         // add           $0x6c,%esp
48941  .byte  94                                  // pop           %esi
48942  .byte  95                                  // pop           %edi
48943  .byte  91                                  // pop           %ebx
48944  .byte  93                                  // pop           %ebp
48945  .byte  195                                 // ret
48946
48947HIDDEN _sk_dstatop_sse2
48948.globl _sk_dstatop_sse2
48949FUNCTION(_sk_dstatop_sse2)
48950_sk_dstatop_sse2:
48951  .byte  85                                  // push          %ebp
48952  .byte  137,229                             // mov           %esp,%ebp
48953  .byte  83                                  // push          %ebx
48954  .byte  87                                  // push          %edi
48955  .byte  86                                  // push          %esi
48956  .byte  131,236,108                         // sub           $0x6c,%esp
48957  .byte  15,40,235                           // movaps        %xmm3,%xmm5
48958  .byte  232,0,0,0,0                         // call          63e <_sk_dstatop_sse2+0x11>
48959  .byte  88                                  // pop           %eax
48960  .byte  15,40,245                           // movaps        %xmm5,%xmm6
48961  .byte  15,89,117,40                        // mulps         0x28(%ebp),%xmm6
48962  .byte  15,40,184,162,140,0,0               // movaps        0x8ca2(%eax),%xmm7
48963  .byte  15,92,125,88                        // subps         0x58(%ebp),%xmm7
48964  .byte  15,89,199                           // mulps         %xmm7,%xmm0
48965  .byte  15,88,198                           // addps         %xmm6,%xmm0
48966  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
48967  .byte  15,89,222                           // mulps         %xmm6,%xmm3
48968  .byte  15,89,207                           // mulps         %xmm7,%xmm1
48969  .byte  15,88,203                           // addps         %xmm3,%xmm1
48970  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
48971  .byte  15,40,229                           // movaps        %xmm5,%xmm4
48972  .byte  15,89,227                           // mulps         %xmm3,%xmm4
48973  .byte  15,89,215                           // mulps         %xmm7,%xmm2
48974  .byte  15,88,212                           // addps         %xmm4,%xmm2
48975  .byte  15,89,253                           // mulps         %xmm5,%xmm7
48976  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
48977  .byte  15,89,236                           // mulps         %xmm4,%xmm5
48978  .byte  15,88,239                           // addps         %xmm7,%xmm5
48979  .byte  139,69,8                            // mov           0x8(%ebp),%eax
48980  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
48981  .byte  139,85,20                           // mov           0x14(%ebp),%edx
48982  .byte  139,117,24                          // mov           0x18(%ebp),%esi
48983  .byte  139,125,12                          // mov           0xc(%ebp),%edi
48984  .byte  141,95,4                            // lea           0x4(%edi),%ebx
48985  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
48986  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
48987  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
48988  .byte  15,40,93,40                         // movaps        0x28(%ebp),%xmm3
48989  .byte  15,41,92,36,32                      // movaps        %xmm3,0x20(%esp)
48990  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
48991  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
48992  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
48993  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
48994  .byte  137,4,36                            // mov           %eax,(%esp)
48995  .byte  15,40,221                           // movaps        %xmm5,%xmm3
48996  .byte  255,23                              // call          *(%edi)
48997  .byte  131,196,108                         // add           $0x6c,%esp
48998  .byte  94                                  // pop           %esi
48999  .byte  95                                  // pop           %edi
49000  .byte  91                                  // pop           %ebx
49001  .byte  93                                  // pop           %ebp
49002  .byte  195                                 // ret
49003
49004HIDDEN _sk_srcin_sse2
49005.globl _sk_srcin_sse2
49006FUNCTION(_sk_srcin_sse2)
49007_sk_srcin_sse2:
49008  .byte  85                                  // push          %ebp
49009  .byte  137,229                             // mov           %esp,%ebp
49010  .byte  83                                  // push          %ebx
49011  .byte  87                                  // push          %edi
49012  .byte  86                                  // push          %esi
49013  .byte  131,236,108                         // sub           $0x6c,%esp
49014  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49015  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49016  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49017  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49018  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
49019  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
49020  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
49021  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49022  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
49023  .byte  15,89,199                           // mulps         %xmm7,%xmm0
49024  .byte  15,89,207                           // mulps         %xmm7,%xmm1
49025  .byte  15,89,215                           // mulps         %xmm7,%xmm2
49026  .byte  15,89,223                           // mulps         %xmm7,%xmm3
49027  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49028  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
49029  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
49030  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
49031  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
49032  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49033  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49034  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49035  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49036  .byte  137,4,36                            // mov           %eax,(%esp)
49037  .byte  255,23                              // call          *(%edi)
49038  .byte  131,196,108                         // add           $0x6c,%esp
49039  .byte  94                                  // pop           %esi
49040  .byte  95                                  // pop           %edi
49041  .byte  91                                  // pop           %ebx
49042  .byte  93                                  // pop           %ebp
49043  .byte  195                                 // ret
49044
49045HIDDEN _sk_dstin_sse2
49046.globl _sk_dstin_sse2
49047FUNCTION(_sk_dstin_sse2)
49048_sk_dstin_sse2:
49049  .byte  85                                  // push          %ebp
49050  .byte  137,229                             // mov           %esp,%ebp
49051  .byte  83                                  // push          %ebx
49052  .byte  87                                  // push          %edi
49053  .byte  86                                  // push          %esi
49054  .byte  131,236,108                         // sub           $0x6c,%esp
49055  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49056  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49057  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49058  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49059  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49060  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
49061  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
49062  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
49063  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
49064  .byte  15,40,195                           // movaps        %xmm3,%xmm0
49065  .byte  15,89,199                           // mulps         %xmm7,%xmm0
49066  .byte  15,40,203                           // movaps        %xmm3,%xmm1
49067  .byte  15,89,206                           // mulps         %xmm6,%xmm1
49068  .byte  15,40,211                           // movaps        %xmm3,%xmm2
49069  .byte  15,89,213                           // mulps         %xmm5,%xmm2
49070  .byte  15,89,220                           // mulps         %xmm4,%xmm3
49071  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49072  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
49073  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
49074  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
49075  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
49076  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49077  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49078  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49079  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49080  .byte  137,4,36                            // mov           %eax,(%esp)
49081  .byte  255,23                              // call          *(%edi)
49082  .byte  131,196,108                         // add           $0x6c,%esp
49083  .byte  94                                  // pop           %esi
49084  .byte  95                                  // pop           %edi
49085  .byte  91                                  // pop           %ebx
49086  .byte  93                                  // pop           %ebp
49087  .byte  195                                 // ret
49088
49089HIDDEN _sk_srcout_sse2
49090.globl _sk_srcout_sse2
49091FUNCTION(_sk_srcout_sse2)
49092_sk_srcout_sse2:
49093  .byte  85                                  // push          %ebp
49094  .byte  137,229                             // mov           %esp,%ebp
49095  .byte  83                                  // push          %ebx
49096  .byte  87                                  // push          %edi
49097  .byte  86                                  // push          %esi
49098  .byte  131,236,108                         // sub           $0x6c,%esp
49099  .byte  232,0,0,0,0                         // call          7b2 <_sk_srcout_sse2+0xe>
49100  .byte  88                                  // pop           %eax
49101  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
49102  .byte  139,85,16                           // mov           0x10(%ebp),%edx
49103  .byte  139,117,20                          // mov           0x14(%ebp),%esi
49104  .byte  139,125,24                          // mov           0x18(%ebp),%edi
49105  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
49106  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
49107  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
49108  .byte  15,40,184,62,139,0,0                // movaps        0x8b3e(%eax),%xmm7
49109  .byte  15,92,254                           // subps         %xmm6,%xmm7
49110  .byte  15,89,199                           // mulps         %xmm7,%xmm0
49111  .byte  15,89,207                           // mulps         %xmm7,%xmm1
49112  .byte  15,89,215                           // mulps         %xmm7,%xmm2
49113  .byte  15,89,223                           // mulps         %xmm7,%xmm3
49114  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
49115  .byte  139,69,12                           // mov           0xc(%ebp),%eax
49116  .byte  141,88,4                            // lea           0x4(%eax),%ebx
49117  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
49118  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
49119  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
49120  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
49121  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
49122  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
49123  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
49124  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49125  .byte  137,12,36                           // mov           %ecx,(%esp)
49126  .byte  255,16                              // call          *(%eax)
49127  .byte  131,196,108                         // add           $0x6c,%esp
49128  .byte  94                                  // pop           %esi
49129  .byte  95                                  // pop           %edi
49130  .byte  91                                  // pop           %ebx
49131  .byte  93                                  // pop           %ebp
49132  .byte  195                                 // ret
49133
49134HIDDEN _sk_dstout_sse2
49135.globl _sk_dstout_sse2
49136FUNCTION(_sk_dstout_sse2)
49137_sk_dstout_sse2:
49138  .byte  85                                  // push          %ebp
49139  .byte  137,229                             // mov           %esp,%ebp
49140  .byte  83                                  // push          %ebx
49141  .byte  87                                  // push          %edi
49142  .byte  86                                  // push          %esi
49143  .byte  131,236,108                         // sub           $0x6c,%esp
49144  .byte  232,0,0,0,0                         // call          82a <_sk_dstout_sse2+0xe>
49145  .byte  88                                  // pop           %eax
49146  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
49147  .byte  139,85,16                           // mov           0x10(%ebp),%edx
49148  .byte  139,117,20                          // mov           0x14(%ebp),%esi
49149  .byte  139,125,24                          // mov           0x18(%ebp),%edi
49150  .byte  15,40,160,214,138,0,0               // movaps        0x8ad6(%eax),%xmm4
49151  .byte  139,69,12                           // mov           0xc(%ebp),%eax
49152  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
49153  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
49154  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
49155  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
49156  .byte  15,92,227                           // subps         %xmm3,%xmm4
49157  .byte  15,40,196                           // movaps        %xmm4,%xmm0
49158  .byte  15,89,193                           // mulps         %xmm1,%xmm0
49159  .byte  15,40,217                           // movaps        %xmm1,%xmm3
49160  .byte  15,40,204                           // movaps        %xmm4,%xmm1
49161  .byte  15,89,207                           // mulps         %xmm7,%xmm1
49162  .byte  15,40,212                           // movaps        %xmm4,%xmm2
49163  .byte  15,89,214                           // mulps         %xmm6,%xmm2
49164  .byte  15,89,229                           // mulps         %xmm5,%xmm4
49165  .byte  141,88,4                            // lea           0x4(%eax),%ebx
49166  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
49167  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
49168  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
49169  .byte  15,41,92,36,32                      // movaps        %xmm3,0x20(%esp)
49170  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
49171  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
49172  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
49173  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49174  .byte  137,12,36                           // mov           %ecx,(%esp)
49175  .byte  15,40,220                           // movaps        %xmm4,%xmm3
49176  .byte  255,16                              // call          *(%eax)
49177  .byte  131,196,108                         // add           $0x6c,%esp
49178  .byte  94                                  // pop           %esi
49179  .byte  95                                  // pop           %edi
49180  .byte  91                                  // pop           %ebx
49181  .byte  93                                  // pop           %ebp
49182  .byte  195                                 // ret
49183
49184HIDDEN _sk_srcover_sse2
49185.globl _sk_srcover_sse2
49186FUNCTION(_sk_srcover_sse2)
49187_sk_srcover_sse2:
49188  .byte  85                                  // push          %ebp
49189  .byte  137,229                             // mov           %esp,%ebp
49190  .byte  83                                  // push          %ebx
49191  .byte  87                                  // push          %edi
49192  .byte  86                                  // push          %esi
49193  .byte  131,236,108                         // sub           $0x6c,%esp
49194  .byte  15,40,226                           // movaps        %xmm2,%xmm4
49195  .byte  15,40,209                           // movaps        %xmm1,%xmm2
49196  .byte  15,40,200                           // movaps        %xmm0,%xmm1
49197  .byte  232,0,0,0,0                         // call          8ba <_sk_srcover_sse2+0x17>
49198  .byte  88                                  // pop           %eax
49199  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
49200  .byte  15,40,128,86,138,0,0                // movaps        0x8a56(%eax),%xmm0
49201  .byte  15,92,195                           // subps         %xmm3,%xmm0
49202  .byte  15,40,248                           // movaps        %xmm0,%xmm7
49203  .byte  15,89,253                           // mulps         %xmm5,%xmm7
49204  .byte  15,88,207                           // addps         %xmm7,%xmm1
49205  .byte  15,40,248                           // movaps        %xmm0,%xmm7
49206  .byte  15,89,125,56                        // mulps         0x38(%ebp),%xmm7
49207  .byte  15,88,215                           // addps         %xmm7,%xmm2
49208  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
49209  .byte  15,40,240                           // movaps        %xmm0,%xmm6
49210  .byte  15,89,247                           // mulps         %xmm7,%xmm6
49211  .byte  15,88,230                           // addps         %xmm6,%xmm4
49212  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
49213  .byte  15,89,198                           // mulps         %xmm6,%xmm0
49214  .byte  15,88,216                           // addps         %xmm0,%xmm3
49215  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49216  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49217  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49218  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49219  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49220  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49221  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
49222  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
49223  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
49224  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
49225  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
49226  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49227  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49228  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49229  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49230  .byte  137,4,36                            // mov           %eax,(%esp)
49231  .byte  15,40,193                           // movaps        %xmm1,%xmm0
49232  .byte  15,40,202                           // movaps        %xmm2,%xmm1
49233  .byte  15,40,212                           // movaps        %xmm4,%xmm2
49234  .byte  255,23                              // call          *(%edi)
49235  .byte  131,196,108                         // add           $0x6c,%esp
49236  .byte  94                                  // pop           %esi
49237  .byte  95                                  // pop           %edi
49238  .byte  91                                  // pop           %ebx
49239  .byte  93                                  // pop           %ebp
49240  .byte  195                                 // ret
49241
49242HIDDEN _sk_dstover_sse2
49243.globl _sk_dstover_sse2
49244FUNCTION(_sk_dstover_sse2)
49245_sk_dstover_sse2:
49246  .byte  85                                  // push          %ebp
49247  .byte  137,229                             // mov           %esp,%ebp
49248  .byte  83                                  // push          %ebx
49249  .byte  87                                  // push          %edi
49250  .byte  86                                  // push          %esi
49251  .byte  131,236,108                         // sub           $0x6c,%esp
49252  .byte  232,0,0,0,0                         // call          951 <_sk_dstover_sse2+0xe>
49253  .byte  90                                  // pop           %edx
49254  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49255  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49256  .byte  139,117,20                          // mov           0x14(%ebp),%esi
49257  .byte  139,125,24                          // mov           0x18(%ebp),%edi
49258  .byte  15,40,162,207,137,0,0               // movaps        0x89cf(%edx),%xmm4
49259  .byte  139,85,12                           // mov           0xc(%ebp),%edx
49260  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
49261  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
49262  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
49263  .byte  15,92,231                           // subps         %xmm7,%xmm4
49264  .byte  15,89,196                           // mulps         %xmm4,%xmm0
49265  .byte  15,89,204                           // mulps         %xmm4,%xmm1
49266  .byte  15,89,212                           // mulps         %xmm4,%xmm2
49267  .byte  15,89,220                           // mulps         %xmm4,%xmm3
49268  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
49269  .byte  15,88,196                           // addps         %xmm4,%xmm0
49270  .byte  15,88,206                           // addps         %xmm6,%xmm1
49271  .byte  15,88,213                           // addps         %xmm5,%xmm2
49272  .byte  15,88,223                           // addps         %xmm7,%xmm3
49273  .byte  141,90,4                            // lea           0x4(%edx),%ebx
49274  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
49275  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
49276  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
49277  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
49278  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
49279  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
49280  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49281  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49282  .byte  137,4,36                            // mov           %eax,(%esp)
49283  .byte  255,18                              // call          *(%edx)
49284  .byte  131,196,108                         // add           $0x6c,%esp
49285  .byte  94                                  // pop           %esi
49286  .byte  95                                  // pop           %edi
49287  .byte  91                                  // pop           %ebx
49288  .byte  93                                  // pop           %ebp
49289  .byte  195                                 // ret
49290
49291HIDDEN _sk_modulate_sse2
49292.globl _sk_modulate_sse2
49293FUNCTION(_sk_modulate_sse2)
49294_sk_modulate_sse2:
49295  .byte  85                                  // push          %ebp
49296  .byte  137,229                             // mov           %esp,%ebp
49297  .byte  83                                  // push          %ebx
49298  .byte  87                                  // push          %edi
49299  .byte  86                                  // push          %esi
49300  .byte  131,236,108                         // sub           $0x6c,%esp
49301  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49302  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49303  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49304  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49305  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49306  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
49307  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
49308  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
49309  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
49310  .byte  15,89,199                           // mulps         %xmm7,%xmm0
49311  .byte  15,89,206                           // mulps         %xmm6,%xmm1
49312  .byte  15,89,213                           // mulps         %xmm5,%xmm2
49313  .byte  15,89,220                           // mulps         %xmm4,%xmm3
49314  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49315  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
49316  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
49317  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
49318  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
49319  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49320  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49321  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49322  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49323  .byte  137,4,36                            // mov           %eax,(%esp)
49324  .byte  255,23                              // call          *(%edi)
49325  .byte  131,196,108                         // add           $0x6c,%esp
49326  .byte  94                                  // pop           %esi
49327  .byte  95                                  // pop           %edi
49328  .byte  91                                  // pop           %ebx
49329  .byte  93                                  // pop           %ebp
49330  .byte  195                                 // ret
49331
49332HIDDEN _sk_multiply_sse2
49333.globl _sk_multiply_sse2
49334FUNCTION(_sk_multiply_sse2)
49335_sk_multiply_sse2:
49336  .byte  85                                  // push          %ebp
49337  .byte  137,229                             // mov           %esp,%ebp
49338  .byte  83                                  // push          %ebx
49339  .byte  87                                  // push          %edi
49340  .byte  86                                  // push          %esi
49341  .byte  129,236,140,0,0,0                   // sub           $0x8c,%esp
49342  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
49343  .byte  15,40,232                           // movaps        %xmm0,%xmm5
49344  .byte  232,0,0,0,0                         // call          a47 <_sk_multiply_sse2+0x18>
49345  .byte  88                                  // pop           %eax
49346  .byte  15,40,144,233,136,0,0               // movaps        0x88e9(%eax),%xmm2
49347  .byte  15,40,250                           // movaps        %xmm2,%xmm7
49348  .byte  15,92,125,88                        // subps         0x58(%ebp),%xmm7
49349  .byte  15,40,231                           // movaps        %xmm7,%xmm4
49350  .byte  15,89,229                           // mulps         %xmm5,%xmm4
49351  .byte  15,92,211                           // subps         %xmm3,%xmm2
49352  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
49353  .byte  15,40,242                           // movaps        %xmm2,%xmm6
49354  .byte  15,89,240                           // mulps         %xmm0,%xmm6
49355  .byte  15,88,244                           // addps         %xmm4,%xmm6
49356  .byte  15,89,232                           // mulps         %xmm0,%xmm5
49357  .byte  15,88,238                           // addps         %xmm6,%xmm5
49358  .byte  15,40,247                           // movaps        %xmm7,%xmm6
49359  .byte  15,89,241                           // mulps         %xmm1,%xmm6
49360  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
49361  .byte  15,40,194                           // movaps        %xmm2,%xmm0
49362  .byte  15,89,196                           // mulps         %xmm4,%xmm0
49363  .byte  15,88,198                           // addps         %xmm6,%xmm0
49364  .byte  15,89,204                           // mulps         %xmm4,%xmm1
49365  .byte  15,88,200                           // addps         %xmm0,%xmm1
49366  .byte  15,41,77,216                        // movaps        %xmm1,-0x28(%ebp)
49367  .byte  15,40,199                           // movaps        %xmm7,%xmm0
49368  .byte  15,40,101,200                       // movaps        -0x38(%ebp),%xmm4
49369  .byte  15,89,196                           // mulps         %xmm4,%xmm0
49370  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
49371  .byte  15,40,202                           // movaps        %xmm2,%xmm1
49372  .byte  15,89,206                           // mulps         %xmm6,%xmm1
49373  .byte  15,88,200                           // addps         %xmm0,%xmm1
49374  .byte  15,89,230                           // mulps         %xmm6,%xmm4
49375  .byte  15,88,225                           // addps         %xmm1,%xmm4
49376  .byte  15,89,251                           // mulps         %xmm3,%xmm7
49377  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
49378  .byte  15,89,208                           // mulps         %xmm0,%xmm2
49379  .byte  15,88,215                           // addps         %xmm7,%xmm2
49380  .byte  15,89,216                           // mulps         %xmm0,%xmm3
49381  .byte  15,88,218                           // addps         %xmm2,%xmm3
49382  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49383  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49384  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49385  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49386  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49387  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49388  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
49389  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
49390  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
49391  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
49392  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
49393  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
49394  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49395  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49396  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49397  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49398  .byte  137,4,36                            // mov           %eax,(%esp)
49399  .byte  15,40,197                           // movaps        %xmm5,%xmm0
49400  .byte  15,40,77,216                        // movaps        -0x28(%ebp),%xmm1
49401  .byte  15,40,212                           // movaps        %xmm4,%xmm2
49402  .byte  255,23                              // call          *(%edi)
49403  .byte  129,196,140,0,0,0                   // add           $0x8c,%esp
49404  .byte  94                                  // pop           %esi
49405  .byte  95                                  // pop           %edi
49406  .byte  91                                  // pop           %ebx
49407  .byte  93                                  // pop           %ebp
49408  .byte  195                                 // ret
49409
49410HIDDEN _sk_plus__sse2
49411.globl _sk_plus__sse2
49412FUNCTION(_sk_plus__sse2)
49413_sk_plus__sse2:
49414  .byte  85                                  // push          %ebp
49415  .byte  137,229                             // mov           %esp,%ebp
49416  .byte  83                                  // push          %ebx
49417  .byte  87                                  // push          %edi
49418  .byte  86                                  // push          %esi
49419  .byte  131,236,108                         // sub           $0x6c,%esp
49420  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49421  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49422  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49423  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49424  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49425  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
49426  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
49427  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
49428  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
49429  .byte  15,88,199                           // addps         %xmm7,%xmm0
49430  .byte  15,88,206                           // addps         %xmm6,%xmm1
49431  .byte  15,88,213                           // addps         %xmm5,%xmm2
49432  .byte  15,88,220                           // addps         %xmm4,%xmm3
49433  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49434  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
49435  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
49436  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
49437  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
49438  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49439  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49440  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49441  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49442  .byte  137,4,36                            // mov           %eax,(%esp)
49443  .byte  255,23                              // call          *(%edi)
49444  .byte  131,196,108                         // add           $0x6c,%esp
49445  .byte  94                                  // pop           %esi
49446  .byte  95                                  // pop           %edi
49447  .byte  91                                  // pop           %ebx
49448  .byte  93                                  // pop           %ebp
49449  .byte  195                                 // ret
49450
49451HIDDEN _sk_screen_sse2
49452.globl _sk_screen_sse2
49453FUNCTION(_sk_screen_sse2)
49454_sk_screen_sse2:
49455  .byte  85                                  // push          %ebp
49456  .byte  137,229                             // mov           %esp,%ebp
49457  .byte  83                                  // push          %ebx
49458  .byte  87                                  // push          %edi
49459  .byte  86                                  // push          %esi
49460  .byte  131,236,108                         // sub           $0x6c,%esp
49461  .byte  15,40,224                           // movaps        %xmm0,%xmm4
49462  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
49463  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
49464  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
49465  .byte  15,88,198                           // addps         %xmm6,%xmm0
49466  .byte  15,89,230                           // mulps         %xmm6,%xmm4
49467  .byte  15,92,196                           // subps         %xmm4,%xmm0
49468  .byte  15,40,225                           // movaps        %xmm1,%xmm4
49469  .byte  15,88,229                           // addps         %xmm5,%xmm4
49470  .byte  15,89,205                           // mulps         %xmm5,%xmm1
49471  .byte  15,92,225                           // subps         %xmm1,%xmm4
49472  .byte  15,40,234                           // movaps        %xmm2,%xmm5
49473  .byte  15,88,239                           // addps         %xmm7,%xmm5
49474  .byte  15,89,215                           // mulps         %xmm7,%xmm2
49475  .byte  15,92,234                           // subps         %xmm2,%xmm5
49476  .byte  15,40,77,88                         // movaps        0x58(%ebp),%xmm1
49477  .byte  15,40,243                           // movaps        %xmm3,%xmm6
49478  .byte  15,88,241                           // addps         %xmm1,%xmm6
49479  .byte  15,89,217                           // mulps         %xmm1,%xmm3
49480  .byte  15,92,243                           // subps         %xmm3,%xmm6
49481  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49482  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49483  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49484  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49485  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49486  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49487  .byte  15,41,76,36,80                      // movaps        %xmm1,0x50(%esp)
49488  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
49489  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
49490  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
49491  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
49492  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
49493  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49494  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49495  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49496  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49497  .byte  137,4,36                            // mov           %eax,(%esp)
49498  .byte  15,40,204                           // movaps        %xmm4,%xmm1
49499  .byte  15,40,213                           // movaps        %xmm5,%xmm2
49500  .byte  15,40,222                           // movaps        %xmm6,%xmm3
49501  .byte  255,23                              // call          *(%edi)
49502  .byte  131,196,108                         // add           $0x6c,%esp
49503  .byte  94                                  // pop           %esi
49504  .byte  95                                  // pop           %edi
49505  .byte  91                                  // pop           %ebx
49506  .byte  93                                  // pop           %ebp
49507  .byte  195                                 // ret
49508
49509HIDDEN _sk_xor__sse2
49510.globl _sk_xor__sse2
49511FUNCTION(_sk_xor__sse2)
49512_sk_xor__sse2:
49513  .byte  85                                  // push          %ebp
49514  .byte  137,229                             // mov           %esp,%ebp
49515  .byte  83                                  // push          %ebx
49516  .byte  87                                  // push          %edi
49517  .byte  86                                  // push          %esi
49518  .byte  131,236,124                         // sub           $0x7c,%esp
49519  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
49520  .byte  232,0,0,0,0                         // call          c2e <_sk_xor__sse2+0x12>
49521  .byte  88                                  // pop           %eax
49522  .byte  15,40,176,18,135,0,0                // movaps        0x8712(%eax),%xmm6
49523  .byte  15,40,254                           // movaps        %xmm6,%xmm7
49524  .byte  15,92,125,88                        // subps         0x58(%ebp),%xmm7
49525  .byte  15,89,199                           // mulps         %xmm7,%xmm0
49526  .byte  15,92,243                           // subps         %xmm3,%xmm6
49527  .byte  15,40,222                           // movaps        %xmm6,%xmm3
49528  .byte  15,89,93,40                         // mulps         0x28(%ebp),%xmm3
49529  .byte  15,88,195                           // addps         %xmm3,%xmm0
49530  .byte  15,89,207                           // mulps         %xmm7,%xmm1
49531  .byte  15,40,93,56                         // movaps        0x38(%ebp),%xmm3
49532  .byte  15,40,230                           // movaps        %xmm6,%xmm4
49533  .byte  15,89,227                           // mulps         %xmm3,%xmm4
49534  .byte  15,88,204                           // addps         %xmm4,%xmm1
49535  .byte  15,89,215                           // mulps         %xmm7,%xmm2
49536  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
49537  .byte  15,40,238                           // movaps        %xmm6,%xmm5
49538  .byte  15,89,236                           // mulps         %xmm4,%xmm5
49539  .byte  15,88,213                           // addps         %xmm5,%xmm2
49540  .byte  15,89,125,216                       // mulps         -0x28(%ebp),%xmm7
49541  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
49542  .byte  15,89,245                           // mulps         %xmm5,%xmm6
49543  .byte  15,88,247                           // addps         %xmm7,%xmm6
49544  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49545  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49546  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49547  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49548  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49549  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49550  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
49551  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
49552  .byte  15,41,92,36,48                      // movaps        %xmm3,0x30(%esp)
49553  .byte  15,40,93,40                         // movaps        0x28(%ebp),%xmm3
49554  .byte  15,41,92,36,32                      // movaps        %xmm3,0x20(%esp)
49555  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49556  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49557  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49558  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49559  .byte  137,4,36                            // mov           %eax,(%esp)
49560  .byte  15,40,222                           // movaps        %xmm6,%xmm3
49561  .byte  255,23                              // call          *(%edi)
49562  .byte  131,196,124                         // add           $0x7c,%esp
49563  .byte  94                                  // pop           %esi
49564  .byte  95                                  // pop           %edi
49565  .byte  91                                  // pop           %ebx
49566  .byte  93                                  // pop           %ebp
49567  .byte  195                                 // ret
49568
49569HIDDEN _sk_darken_sse2
49570.globl _sk_darken_sse2
49571FUNCTION(_sk_darken_sse2)
49572_sk_darken_sse2:
49573  .byte  85                                  // push          %ebp
49574  .byte  137,229                             // mov           %esp,%ebp
49575  .byte  83                                  // push          %ebx
49576  .byte  87                                  // push          %edi
49577  .byte  86                                  // push          %esi
49578  .byte  131,236,108                         // sub           $0x6c,%esp
49579  .byte  15,40,243                           // movaps        %xmm3,%xmm6
49580  .byte  15,40,225                           // movaps        %xmm1,%xmm4
49581  .byte  15,40,200                           // movaps        %xmm0,%xmm1
49582  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
49583  .byte  15,40,93,40                         // movaps        0x28(%ebp),%xmm3
49584  .byte  15,89,205                           // mulps         %xmm5,%xmm1
49585  .byte  15,40,254                           // movaps        %xmm6,%xmm7
49586  .byte  15,89,251                           // mulps         %xmm3,%xmm7
49587  .byte  15,95,207                           // maxps         %xmm7,%xmm1
49588  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
49589  .byte  15,88,195                           // addps         %xmm3,%xmm0
49590  .byte  15,92,193                           // subps         %xmm1,%xmm0
49591  .byte  15,40,204                           // movaps        %xmm4,%xmm1
49592  .byte  15,89,229                           // mulps         %xmm5,%xmm4
49593  .byte  15,40,222                           // movaps        %xmm6,%xmm3
49594  .byte  15,89,223                           // mulps         %xmm7,%xmm3
49595  .byte  15,95,227                           // maxps         %xmm3,%xmm4
49596  .byte  15,88,207                           // addps         %xmm7,%xmm1
49597  .byte  15,92,204                           // subps         %xmm4,%xmm1
49598  .byte  15,40,226                           // movaps        %xmm2,%xmm4
49599  .byte  15,89,213                           // mulps         %xmm5,%xmm2
49600  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
49601  .byte  15,40,238                           // movaps        %xmm6,%xmm5
49602  .byte  15,89,235                           // mulps         %xmm3,%xmm5
49603  .byte  15,95,213                           // maxps         %xmm5,%xmm2
49604  .byte  15,88,227                           // addps         %xmm3,%xmm4
49605  .byte  15,92,226                           // subps         %xmm2,%xmm4
49606  .byte  232,0,0,0,0                         // call          d28 <_sk_darken_sse2+0x63>
49607  .byte  88                                  // pop           %eax
49608  .byte  15,40,144,40,134,0,0                // movaps        0x8628(%eax),%xmm2
49609  .byte  15,92,214                           // subps         %xmm6,%xmm2
49610  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
49611  .byte  15,89,213                           // mulps         %xmm5,%xmm2
49612  .byte  15,88,242                           // addps         %xmm2,%xmm6
49613  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49614  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49615  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49616  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49617  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49618  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49619  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
49620  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
49621  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
49622  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
49623  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
49624  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49625  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49626  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49627  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49628  .byte  137,4,36                            // mov           %eax,(%esp)
49629  .byte  15,40,212                           // movaps        %xmm4,%xmm2
49630  .byte  15,40,222                           // movaps        %xmm6,%xmm3
49631  .byte  255,23                              // call          *(%edi)
49632  .byte  131,196,108                         // add           $0x6c,%esp
49633  .byte  94                                  // pop           %esi
49634  .byte  95                                  // pop           %edi
49635  .byte  91                                  // pop           %ebx
49636  .byte  93                                  // pop           %ebp
49637  .byte  195                                 // ret
49638
49639HIDDEN _sk_lighten_sse2
49640.globl _sk_lighten_sse2
49641FUNCTION(_sk_lighten_sse2)
49642_sk_lighten_sse2:
49643  .byte  85                                  // push          %ebp
49644  .byte  137,229                             // mov           %esp,%ebp
49645  .byte  83                                  // push          %ebx
49646  .byte  87                                  // push          %edi
49647  .byte  86                                  // push          %esi
49648  .byte  131,236,108                         // sub           $0x6c,%esp
49649  .byte  15,40,243                           // movaps        %xmm3,%xmm6
49650  .byte  15,40,225                           // movaps        %xmm1,%xmm4
49651  .byte  15,40,200                           // movaps        %xmm0,%xmm1
49652  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
49653  .byte  15,40,93,40                         // movaps        0x28(%ebp),%xmm3
49654  .byte  15,89,205                           // mulps         %xmm5,%xmm1
49655  .byte  15,40,254                           // movaps        %xmm6,%xmm7
49656  .byte  15,89,251                           // mulps         %xmm3,%xmm7
49657  .byte  15,93,207                           // minps         %xmm7,%xmm1
49658  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
49659  .byte  15,88,195                           // addps         %xmm3,%xmm0
49660  .byte  15,92,193                           // subps         %xmm1,%xmm0
49661  .byte  15,40,204                           // movaps        %xmm4,%xmm1
49662  .byte  15,89,229                           // mulps         %xmm5,%xmm4
49663  .byte  15,40,222                           // movaps        %xmm6,%xmm3
49664  .byte  15,89,223                           // mulps         %xmm7,%xmm3
49665  .byte  15,93,227                           // minps         %xmm3,%xmm4
49666  .byte  15,88,207                           // addps         %xmm7,%xmm1
49667  .byte  15,92,204                           // subps         %xmm4,%xmm1
49668  .byte  15,40,226                           // movaps        %xmm2,%xmm4
49669  .byte  15,89,213                           // mulps         %xmm5,%xmm2
49670  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
49671  .byte  15,40,238                           // movaps        %xmm6,%xmm5
49672  .byte  15,89,235                           // mulps         %xmm3,%xmm5
49673  .byte  15,93,213                           // minps         %xmm5,%xmm2
49674  .byte  15,88,227                           // addps         %xmm3,%xmm4
49675  .byte  15,92,226                           // subps         %xmm2,%xmm4
49676  .byte  232,0,0,0,0                         // call          ded <_sk_lighten_sse2+0x63>
49677  .byte  88                                  // pop           %eax
49678  .byte  15,40,144,115,133,0,0               // movaps        0x8573(%eax),%xmm2
49679  .byte  15,92,214                           // subps         %xmm6,%xmm2
49680  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
49681  .byte  15,89,213                           // mulps         %xmm5,%xmm2
49682  .byte  15,88,242                           // addps         %xmm2,%xmm6
49683  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49684  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49685  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49686  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49687  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49688  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49689  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
49690  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
49691  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
49692  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
49693  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
49694  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49695  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49696  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49697  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49698  .byte  137,4,36                            // mov           %eax,(%esp)
49699  .byte  15,40,212                           // movaps        %xmm4,%xmm2
49700  .byte  15,40,222                           // movaps        %xmm6,%xmm3
49701  .byte  255,23                              // call          *(%edi)
49702  .byte  131,196,108                         // add           $0x6c,%esp
49703  .byte  94                                  // pop           %esi
49704  .byte  95                                  // pop           %edi
49705  .byte  91                                  // pop           %ebx
49706  .byte  93                                  // pop           %ebp
49707  .byte  195                                 // ret
49708
49709HIDDEN _sk_difference_sse2
49710.globl _sk_difference_sse2
49711FUNCTION(_sk_difference_sse2)
49712_sk_difference_sse2:
49713  .byte  85                                  // push          %ebp
49714  .byte  137,229                             // mov           %esp,%ebp
49715  .byte  83                                  // push          %ebx
49716  .byte  87                                  // push          %edi
49717  .byte  86                                  // push          %esi
49718  .byte  131,236,108                         // sub           $0x6c,%esp
49719  .byte  15,40,243                           // movaps        %xmm3,%xmm6
49720  .byte  15,40,225                           // movaps        %xmm1,%xmm4
49721  .byte  15,40,200                           // movaps        %xmm0,%xmm1
49722  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
49723  .byte  15,40,93,40                         // movaps        0x28(%ebp),%xmm3
49724  .byte  15,89,205                           // mulps         %xmm5,%xmm1
49725  .byte  15,40,254                           // movaps        %xmm6,%xmm7
49726  .byte  15,89,251                           // mulps         %xmm3,%xmm7
49727  .byte  15,93,207                           // minps         %xmm7,%xmm1
49728  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
49729  .byte  15,88,195                           // addps         %xmm3,%xmm0
49730  .byte  15,88,201                           // addps         %xmm1,%xmm1
49731  .byte  15,92,193                           // subps         %xmm1,%xmm0
49732  .byte  15,40,204                           // movaps        %xmm4,%xmm1
49733  .byte  15,89,229                           // mulps         %xmm5,%xmm4
49734  .byte  15,40,222                           // movaps        %xmm6,%xmm3
49735  .byte  15,89,223                           // mulps         %xmm7,%xmm3
49736  .byte  15,93,227                           // minps         %xmm3,%xmm4
49737  .byte  15,88,207                           // addps         %xmm7,%xmm1
49738  .byte  15,88,228                           // addps         %xmm4,%xmm4
49739  .byte  15,92,204                           // subps         %xmm4,%xmm1
49740  .byte  15,40,226                           // movaps        %xmm2,%xmm4
49741  .byte  15,89,213                           // mulps         %xmm5,%xmm2
49742  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
49743  .byte  15,40,238                           // movaps        %xmm6,%xmm5
49744  .byte  15,89,235                           // mulps         %xmm3,%xmm5
49745  .byte  15,93,213                           // minps         %xmm5,%xmm2
49746  .byte  15,88,227                           // addps         %xmm3,%xmm4
49747  .byte  15,88,210                           // addps         %xmm2,%xmm2
49748  .byte  15,92,226                           // subps         %xmm2,%xmm4
49749  .byte  232,0,0,0,0                         // call          ebb <_sk_difference_sse2+0x6c>
49750  .byte  88                                  // pop           %eax
49751  .byte  15,40,144,181,132,0,0               // movaps        0x84b5(%eax),%xmm2
49752  .byte  15,92,214                           // subps         %xmm6,%xmm2
49753  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
49754  .byte  15,89,213                           // mulps         %xmm5,%xmm2
49755  .byte  15,88,242                           // addps         %xmm2,%xmm6
49756  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49757  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49758  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49759  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49760  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49761  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49762  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
49763  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
49764  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
49765  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
49766  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
49767  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49768  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49769  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49770  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49771  .byte  137,4,36                            // mov           %eax,(%esp)
49772  .byte  15,40,212                           // movaps        %xmm4,%xmm2
49773  .byte  15,40,222                           // movaps        %xmm6,%xmm3
49774  .byte  255,23                              // call          *(%edi)
49775  .byte  131,196,108                         // add           $0x6c,%esp
49776  .byte  94                                  // pop           %esi
49777  .byte  95                                  // pop           %edi
49778  .byte  91                                  // pop           %ebx
49779  .byte  93                                  // pop           %ebp
49780  .byte  195                                 // ret
49781
49782HIDDEN _sk_exclusion_sse2
49783.globl _sk_exclusion_sse2
49784FUNCTION(_sk_exclusion_sse2)
49785_sk_exclusion_sse2:
49786  .byte  85                                  // push          %ebp
49787  .byte  137,229                             // mov           %esp,%ebp
49788  .byte  83                                  // push          %ebx
49789  .byte  87                                  // push          %edi
49790  .byte  86                                  // push          %esi
49791  .byte  131,236,108                         // sub           $0x6c,%esp
49792  .byte  15,40,225                           // movaps        %xmm1,%xmm4
49793  .byte  15,40,200                           // movaps        %xmm0,%xmm1
49794  .byte  232,0,0,0,0                         // call          f31 <_sk_exclusion_sse2+0x14>
49795  .byte  88                                  // pop           %eax
49796  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
49797  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
49798  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
49799  .byte  15,88,199                           // addps         %xmm7,%xmm0
49800  .byte  15,89,207                           // mulps         %xmm7,%xmm1
49801  .byte  15,88,201                           // addps         %xmm1,%xmm1
49802  .byte  15,92,193                           // subps         %xmm1,%xmm0
49803  .byte  15,40,204                           // movaps        %xmm4,%xmm1
49804  .byte  15,88,206                           // addps         %xmm6,%xmm1
49805  .byte  15,89,230                           // mulps         %xmm6,%xmm4
49806  .byte  15,88,228                           // addps         %xmm4,%xmm4
49807  .byte  15,92,204                           // subps         %xmm4,%xmm1
49808  .byte  15,40,226                           // movaps        %xmm2,%xmm4
49809  .byte  15,88,229                           // addps         %xmm5,%xmm4
49810  .byte  15,89,213                           // mulps         %xmm5,%xmm2
49811  .byte  15,88,210                           // addps         %xmm2,%xmm2
49812  .byte  15,92,226                           // subps         %xmm2,%xmm4
49813  .byte  15,40,144,79,132,0,0                // movaps        0x844f(%eax),%xmm2
49814  .byte  15,92,211                           // subps         %xmm3,%xmm2
49815  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
49816  .byte  15,89,213                           // mulps         %xmm5,%xmm2
49817  .byte  15,88,218                           // addps         %xmm2,%xmm3
49818  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49819  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49820  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49821  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49822  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49823  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49824  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
49825  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
49826  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
49827  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
49828  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
49829  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49830  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49831  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49832  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49833  .byte  137,4,36                            // mov           %eax,(%esp)
49834  .byte  15,40,212                           // movaps        %xmm4,%xmm2
49835  .byte  255,23                              // call          *(%edi)
49836  .byte  131,196,108                         // add           $0x6c,%esp
49837  .byte  94                                  // pop           %esi
49838  .byte  95                                  // pop           %edi
49839  .byte  91                                  // pop           %ebx
49840  .byte  93                                  // pop           %ebp
49841  .byte  195                                 // ret
49842
49843HIDDEN _sk_colorburn_sse2
49844.globl _sk_colorburn_sse2
49845FUNCTION(_sk_colorburn_sse2)
49846_sk_colorburn_sse2:
49847  .byte  85                                  // push          %ebp
49848  .byte  137,229                             // mov           %esp,%ebp
49849  .byte  83                                  // push          %ebx
49850  .byte  87                                  // push          %edi
49851  .byte  86                                  // push          %esi
49852  .byte  129,236,172,0,0,0                   // sub           $0xac,%esp
49853  .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
49854  .byte  15,41,77,200                        // movaps        %xmm1,-0x38(%ebp)
49855  .byte  15,40,200                           // movaps        %xmm0,%xmm1
49856  .byte  232,0,0,0,0                         // call          fe2 <_sk_colorburn_sse2+0x1c>
49857  .byte  88                                  // pop           %eax
49858  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
49859  .byte  15,40,196                           // movaps        %xmm4,%xmm0
49860  .byte  15,92,69,40                         // subps         0x28(%ebp),%xmm0
49861  .byte  15,40,211                           // movaps        %xmm3,%xmm2
49862  .byte  15,89,194                           // mulps         %xmm2,%xmm0
49863  .byte  15,94,193                           // divps         %xmm1,%xmm0
49864  .byte  15,40,244                           // movaps        %xmm4,%xmm6
49865  .byte  15,93,240                           // minps         %xmm0,%xmm6
49866  .byte  15,40,196                           // movaps        %xmm4,%xmm0
49867  .byte  15,40,232                           // movaps        %xmm0,%xmm5
49868  .byte  15,92,238                           // subps         %xmm6,%xmm5
49869  .byte  15,40,176,174,131,0,0               // movaps        0x83ae(%eax),%xmm6
49870  .byte  15,40,230                           // movaps        %xmm6,%xmm4
49871  .byte  15,92,224                           // subps         %xmm0,%xmm4
49872  .byte  15,40,220                           // movaps        %xmm4,%xmm3
49873  .byte  15,41,101,216                       // movaps        %xmm4,-0x28(%ebp)
49874  .byte  15,89,217                           // mulps         %xmm1,%xmm3
49875  .byte  15,87,255                           // xorps         %xmm7,%xmm7
49876  .byte  15,40,193                           // movaps        %xmm1,%xmm0
49877  .byte  15,194,199,0                        // cmpeqps       %xmm7,%xmm0
49878  .byte  15,89,234                           // mulps         %xmm2,%xmm5
49879  .byte  15,88,235                           // addps         %xmm3,%xmm5
49880  .byte  15,84,200                           // andps         %xmm0,%xmm1
49881  .byte  15,85,197                           // andnps        %xmm5,%xmm0
49882  .byte  15,86,193                           // orps          %xmm1,%xmm0
49883  .byte  15,92,242                           // subps         %xmm2,%xmm6
49884  .byte  15,40,234                           // movaps        %xmm2,%xmm5
49885  .byte  15,40,206                           // movaps        %xmm6,%xmm1
49886  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
49887  .byte  15,89,202                           // mulps         %xmm2,%xmm1
49888  .byte  15,88,193                           // addps         %xmm1,%xmm0
49889  .byte  15,40,202                           // movaps        %xmm2,%xmm1
49890  .byte  15,194,77,88,0                      // cmpeqps       0x58(%ebp),%xmm1
49891  .byte  15,88,218                           // addps         %xmm2,%xmm3
49892  .byte  15,84,217                           // andps         %xmm1,%xmm3
49893  .byte  15,85,200                           // andnps        %xmm0,%xmm1
49894  .byte  15,86,203                           // orps          %xmm3,%xmm1
49895  .byte  15,41,77,184                        // movaps        %xmm1,-0x48(%ebp)
49896  .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
49897  .byte  15,40,195                           // movaps        %xmm3,%xmm0
49898  .byte  15,92,69,56                         // subps         0x38(%ebp),%xmm0
49899  .byte  15,89,197                           // mulps         %xmm5,%xmm0
49900  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
49901  .byte  15,94,194                           // divps         %xmm2,%xmm0
49902  .byte  15,40,203                           // movaps        %xmm3,%xmm1
49903  .byte  15,93,200                           // minps         %xmm0,%xmm1
49904  .byte  15,40,195                           // movaps        %xmm3,%xmm0
49905  .byte  15,92,193                           // subps         %xmm1,%xmm0
49906  .byte  15,40,220                           // movaps        %xmm4,%xmm3
49907  .byte  15,40,202                           // movaps        %xmm2,%xmm1
49908  .byte  15,89,217                           // mulps         %xmm1,%xmm3
49909  .byte  15,194,215,0                        // cmpeqps       %xmm7,%xmm2
49910  .byte  15,89,197                           // mulps         %xmm5,%xmm0
49911  .byte  15,40,229                           // movaps        %xmm5,%xmm4
49912  .byte  15,88,195                           // addps         %xmm3,%xmm0
49913  .byte  15,84,202                           // andps         %xmm2,%xmm1
49914  .byte  15,85,208                           // andnps        %xmm0,%xmm2
49915  .byte  15,86,209                           // orps          %xmm1,%xmm2
49916  .byte  15,40,198                           // movaps        %xmm6,%xmm0
49917  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
49918  .byte  15,89,193                           // mulps         %xmm1,%xmm0
49919  .byte  15,88,208                           // addps         %xmm0,%xmm2
49920  .byte  15,40,193                           // movaps        %xmm1,%xmm0
49921  .byte  15,40,232                           // movaps        %xmm0,%xmm5
49922  .byte  15,40,77,88                         // movaps        0x58(%ebp),%xmm1
49923  .byte  15,194,233,0                        // cmpeqps       %xmm1,%xmm5
49924  .byte  15,88,216                           // addps         %xmm0,%xmm3
49925  .byte  15,84,221                           // andps         %xmm5,%xmm3
49926  .byte  15,85,234                           // andnps        %xmm2,%xmm5
49927  .byte  15,86,235                           // orps          %xmm3,%xmm5
49928  .byte  15,40,193                           // movaps        %xmm1,%xmm0
49929  .byte  15,92,69,72                         // subps         0x48(%ebp),%xmm0
49930  .byte  15,89,196                           // mulps         %xmm4,%xmm0
49931  .byte  15,40,93,168                        // movaps        -0x58(%ebp),%xmm3
49932  .byte  15,94,195                           // divps         %xmm3,%xmm0
49933  .byte  15,40,209                           // movaps        %xmm1,%xmm2
49934  .byte  15,93,208                           // minps         %xmm0,%xmm2
49935  .byte  15,40,193                           // movaps        %xmm1,%xmm0
49936  .byte  15,92,194                           // subps         %xmm2,%xmm0
49937  .byte  15,40,211                           // movaps        %xmm3,%xmm2
49938  .byte  15,40,77,216                        // movaps        -0x28(%ebp),%xmm1
49939  .byte  15,89,202                           // mulps         %xmm2,%xmm1
49940  .byte  15,194,250,0                        // cmpeqps       %xmm2,%xmm7
49941  .byte  15,40,220                           // movaps        %xmm4,%xmm3
49942  .byte  15,89,195                           // mulps         %xmm3,%xmm0
49943  .byte  15,88,193                           // addps         %xmm1,%xmm0
49944  .byte  15,84,215                           // andps         %xmm7,%xmm2
49945  .byte  15,85,248                           // andnps        %xmm0,%xmm7
49946  .byte  15,86,250                           // orps          %xmm2,%xmm7
49947  .byte  15,40,198                           // movaps        %xmm6,%xmm0
49948  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
49949  .byte  15,89,194                           // mulps         %xmm2,%xmm0
49950  .byte  15,88,248                           // addps         %xmm0,%xmm7
49951  .byte  15,40,194                           // movaps        %xmm2,%xmm0
49952  .byte  15,194,85,88,0                      // cmpeqps       0x58(%ebp),%xmm2
49953  .byte  15,88,200                           // addps         %xmm0,%xmm1
49954  .byte  15,84,202                           // andps         %xmm2,%xmm1
49955  .byte  15,85,215                           // andnps        %xmm7,%xmm2
49956  .byte  15,86,209                           // orps          %xmm1,%xmm2
49957  .byte  15,40,77,88                         // movaps        0x58(%ebp),%xmm1
49958  .byte  15,89,241                           // mulps         %xmm1,%xmm6
49959  .byte  15,88,222                           // addps         %xmm6,%xmm3
49960  .byte  139,69,8                            // mov           0x8(%ebp),%eax
49961  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
49962  .byte  139,85,20                           // mov           0x14(%ebp),%edx
49963  .byte  139,117,24                          // mov           0x18(%ebp),%esi
49964  .byte  139,125,12                          // mov           0xc(%ebp),%edi
49965  .byte  141,95,4                            // lea           0x4(%edi),%ebx
49966  .byte  15,41,76,36,80                      // movaps        %xmm1,0x50(%esp)
49967  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
49968  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
49969  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
49970  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
49971  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
49972  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
49973  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
49974  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
49975  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
49976  .byte  137,4,36                            // mov           %eax,(%esp)
49977  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
49978  .byte  15,40,205                           // movaps        %xmm5,%xmm1
49979  .byte  255,23                              // call          *(%edi)
49980  .byte  129,196,172,0,0,0                   // add           $0xac,%esp
49981  .byte  94                                  // pop           %esi
49982  .byte  95                                  // pop           %edi
49983  .byte  91                                  // pop           %ebx
49984  .byte  93                                  // pop           %ebp
49985  .byte  195                                 // ret
49986
49987HIDDEN _sk_colordodge_sse2
49988.globl _sk_colordodge_sse2
49989FUNCTION(_sk_colordodge_sse2)
49990_sk_colordodge_sse2:
49991  .byte  85                                  // push          %ebp
49992  .byte  137,229                             // mov           %esp,%ebp
49993  .byte  83                                  // push          %ebx
49994  .byte  87                                  // push          %edi
49995  .byte  86                                  // push          %esi
49996  .byte  129,236,172,0,0,0                   // sub           $0xac,%esp
49997  .byte  15,40,251                           // movaps        %xmm3,%xmm7
49998  .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
49999  .byte  15,41,77,184                        // movaps        %xmm1,-0x48(%ebp)
50000  .byte  15,40,232                           // movaps        %xmm0,%xmm5
50001  .byte  232,0,0,0,0                         // call          11a4 <_sk_colordodge_sse2+0x1f>
50002  .byte  88                                  // pop           %eax
50003  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
50004  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
50005  .byte  15,40,215                           // movaps        %xmm7,%xmm2
50006  .byte  15,89,209                           // mulps         %xmm1,%xmm2
50007  .byte  15,40,231                           // movaps        %xmm7,%xmm4
50008  .byte  15,92,229                           // subps         %xmm5,%xmm4
50009  .byte  15,94,212                           // divps         %xmm4,%xmm2
50010  .byte  15,40,224                           // movaps        %xmm0,%xmm4
50011  .byte  15,93,226                           // minps         %xmm2,%xmm4
50012  .byte  15,40,152,252,129,0,0               // movaps        0x81fc(%eax),%xmm3
50013  .byte  15,40,211                           // movaps        %xmm3,%xmm2
50014  .byte  15,92,208                           // subps         %xmm0,%xmm2
50015  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
50016  .byte  15,89,213                           // mulps         %xmm5,%xmm2
50017  .byte  15,40,197                           // movaps        %xmm5,%xmm0
50018  .byte  15,194,199,0                        // cmpeqps       %xmm7,%xmm0
50019  .byte  15,89,231                           // mulps         %xmm7,%xmm4
50020  .byte  15,88,226                           // addps         %xmm2,%xmm4
50021  .byte  15,84,232                           // andps         %xmm0,%xmm5
50022  .byte  15,85,196                           // andnps        %xmm4,%xmm0
50023  .byte  15,86,197                           // orps          %xmm5,%xmm0
50024  .byte  15,92,223                           // subps         %xmm7,%xmm3
50025  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
50026  .byte  15,89,217                           // mulps         %xmm1,%xmm3
50027  .byte  15,88,195                           // addps         %xmm3,%xmm0
50028  .byte  15,87,228                           // xorps         %xmm4,%xmm4
50029  .byte  15,40,233                           // movaps        %xmm1,%xmm5
50030  .byte  15,194,236,0                        // cmpeqps       %xmm4,%xmm5
50031  .byte  15,88,209                           // addps         %xmm1,%xmm2
50032  .byte  15,84,213                           // andps         %xmm5,%xmm2
50033  .byte  15,85,232                           // andnps        %xmm0,%xmm5
50034  .byte  15,86,234                           // orps          %xmm2,%xmm5
50035  .byte  15,40,93,56                         // movaps        0x38(%ebp),%xmm3
50036  .byte  15,40,199                           // movaps        %xmm7,%xmm0
50037  .byte  15,89,195                           // mulps         %xmm3,%xmm0
50038  .byte  15,40,247                           // movaps        %xmm7,%xmm6
50039  .byte  15,40,77,184                        // movaps        -0x48(%ebp),%xmm1
50040  .byte  15,92,241                           // subps         %xmm1,%xmm6
50041  .byte  15,94,198                           // divps         %xmm6,%xmm0
50042  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
50043  .byte  15,93,240                           // minps         %xmm0,%xmm6
50044  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
50045  .byte  15,89,209                           // mulps         %xmm1,%xmm2
50046  .byte  15,40,193                           // movaps        %xmm1,%xmm0
50047  .byte  15,194,207,0                        // cmpeqps       %xmm7,%xmm1
50048  .byte  15,89,247                           // mulps         %xmm7,%xmm6
50049  .byte  15,88,242                           // addps         %xmm2,%xmm6
50050  .byte  15,84,193                           // andps         %xmm1,%xmm0
50051  .byte  15,85,206                           // andnps        %xmm6,%xmm1
50052  .byte  15,86,200                           // orps          %xmm0,%xmm1
50053  .byte  15,40,117,200                       // movaps        -0x38(%ebp),%xmm6
50054  .byte  15,89,243                           // mulps         %xmm3,%xmm6
50055  .byte  15,88,206                           // addps         %xmm6,%xmm1
50056  .byte  15,40,243                           // movaps        %xmm3,%xmm6
50057  .byte  15,194,244,0                        // cmpeqps       %xmm4,%xmm6
50058  .byte  15,88,211                           // addps         %xmm3,%xmm2
50059  .byte  15,84,214                           // andps         %xmm6,%xmm2
50060  .byte  15,85,241                           // andnps        %xmm1,%xmm6
50061  .byte  15,86,242                           // orps          %xmm2,%xmm6
50062  .byte  15,40,207                           // movaps        %xmm7,%xmm1
50063  .byte  15,89,77,72                         // mulps         0x48(%ebp),%xmm1
50064  .byte  15,40,223                           // movaps        %xmm7,%xmm3
50065  .byte  15,40,69,168                        // movaps        -0x58(%ebp),%xmm0
50066  .byte  15,92,216                           // subps         %xmm0,%xmm3
50067  .byte  15,94,203                           // divps         %xmm3,%xmm1
50068  .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
50069  .byte  15,93,217                           // minps         %xmm1,%xmm3
50070  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
50071  .byte  15,89,208                           // mulps         %xmm0,%xmm2
50072  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
50073  .byte  15,40,200                           // movaps        %xmm0,%xmm1
50074  .byte  15,194,207,0                        // cmpeqps       %xmm7,%xmm1
50075  .byte  15,89,223                           // mulps         %xmm7,%xmm3
50076  .byte  15,88,218                           // addps         %xmm2,%xmm3
50077  .byte  15,84,193                           // andps         %xmm1,%xmm0
50078  .byte  15,85,203                           // andnps        %xmm3,%xmm1
50079  .byte  15,86,200                           // orps          %xmm0,%xmm1
50080  .byte  15,40,69,200                        // movaps        -0x38(%ebp),%xmm0
50081  .byte  15,40,216                           // movaps        %xmm0,%xmm3
50082  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
50083  .byte  15,89,218                           // mulps         %xmm2,%xmm3
50084  .byte  15,88,203                           // addps         %xmm3,%xmm1
50085  .byte  15,194,226,0                        // cmpeqps       %xmm2,%xmm4
50086  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
50087  .byte  15,88,218                           // addps         %xmm2,%xmm3
50088  .byte  15,84,220                           // andps         %xmm4,%xmm3
50089  .byte  15,85,225                           // andnps        %xmm1,%xmm4
50090  .byte  15,86,227                           // orps          %xmm3,%xmm4
50091  .byte  15,40,77,88                         // movaps        0x58(%ebp),%xmm1
50092  .byte  15,89,193                           // mulps         %xmm1,%xmm0
50093  .byte  15,88,248                           // addps         %xmm0,%xmm7
50094  .byte  139,69,8                            // mov           0x8(%ebp),%eax
50095  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
50096  .byte  139,85,20                           // mov           0x14(%ebp),%edx
50097  .byte  139,117,24                          // mov           0x18(%ebp),%esi
50098  .byte  139,125,12                          // mov           0xc(%ebp),%edi
50099  .byte  141,95,4                            // lea           0x4(%edi),%ebx
50100  .byte  15,41,76,36,80                      // movaps        %xmm1,0x50(%esp)
50101  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
50102  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
50103  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
50104  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
50105  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
50106  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
50107  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
50108  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
50109  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
50110  .byte  137,4,36                            // mov           %eax,(%esp)
50111  .byte  15,40,197                           // movaps        %xmm5,%xmm0
50112  .byte  15,40,206                           // movaps        %xmm6,%xmm1
50113  .byte  15,40,212                           // movaps        %xmm4,%xmm2
50114  .byte  15,40,223                           // movaps        %xmm7,%xmm3
50115  .byte  255,23                              // call          *(%edi)
50116  .byte  129,196,172,0,0,0                   // add           $0xac,%esp
50117  .byte  94                                  // pop           %esi
50118  .byte  95                                  // pop           %edi
50119  .byte  91                                  // pop           %ebx
50120  .byte  93                                  // pop           %ebp
50121  .byte  195                                 // ret
50122
50123HIDDEN _sk_hardlight_sse2
50124.globl _sk_hardlight_sse2
50125FUNCTION(_sk_hardlight_sse2)
50126_sk_hardlight_sse2:
50127  .byte  85                                  // push          %ebp
50128  .byte  137,229                             // mov           %esp,%ebp
50129  .byte  83                                  // push          %ebx
50130  .byte  87                                  // push          %edi
50131  .byte  86                                  // push          %esi
50132  .byte  129,236,156,0,0,0                   // sub           $0x9c,%esp
50133  .byte  15,40,250                           // movaps        %xmm2,%xmm7
50134  .byte  15,40,233                           // movaps        %xmm1,%xmm5
50135  .byte  15,40,224                           // movaps        %xmm0,%xmm4
50136  .byte  232,0,0,0,0                         // call          1346 <_sk_hardlight_sse2+0x1a>
50137  .byte  88                                  // pop           %eax
50138  .byte  15,40,176,106,128,0,0               // movaps        0x806a(%eax),%xmm6
50139  .byte  15,40,206                           // movaps        %xmm6,%xmm1
50140  .byte  15,92,77,88                         // subps         0x58(%ebp),%xmm1
50141  .byte  15,41,77,184                        // movaps        %xmm1,-0x48(%ebp)
50142  .byte  15,40,193                           // movaps        %xmm1,%xmm0
50143  .byte  15,89,196                           // mulps         %xmm4,%xmm0
50144  .byte  15,40,211                           // movaps        %xmm3,%xmm2
50145  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
50146  .byte  15,92,242                           // subps         %xmm2,%xmm6
50147  .byte  15,40,222                           // movaps        %xmm6,%xmm3
50148  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
50149  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
50150  .byte  15,89,217                           // mulps         %xmm1,%xmm3
50151  .byte  15,88,216                           // addps         %xmm0,%xmm3
50152  .byte  15,40,242                           // movaps        %xmm2,%xmm6
50153  .byte  15,92,244                           // subps         %xmm4,%xmm6
50154  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
50155  .byte  15,92,193                           // subps         %xmm1,%xmm0
50156  .byte  15,89,198                           // mulps         %xmm6,%xmm0
50157  .byte  15,40,77,216                        // movaps        -0x28(%ebp),%xmm1
50158  .byte  15,40,209                           // movaps        %xmm1,%xmm2
50159  .byte  15,89,85,88                         // mulps         0x58(%ebp),%xmm2
50160  .byte  15,88,192                           // addps         %xmm0,%xmm0
50161  .byte  15,40,242                           // movaps        %xmm2,%xmm6
50162  .byte  15,92,240                           // subps         %xmm0,%xmm6
50163  .byte  15,40,196                           // movaps        %xmm4,%xmm0
50164  .byte  15,88,192                           // addps         %xmm0,%xmm0
50165  .byte  15,194,193,2                        // cmpleps       %xmm1,%xmm0
50166  .byte  15,89,101,40                        // mulps         0x28(%ebp),%xmm4
50167  .byte  15,88,228                           // addps         %xmm4,%xmm4
50168  .byte  15,84,224                           // andps         %xmm0,%xmm4
50169  .byte  15,85,198                           // andnps        %xmm6,%xmm0
50170  .byte  15,86,196                           // orps          %xmm4,%xmm0
50171  .byte  15,88,195                           // addps         %xmm3,%xmm0
50172  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
50173  .byte  15,89,221                           // mulps         %xmm5,%xmm3
50174  .byte  15,40,117,200                       // movaps        -0x38(%ebp),%xmm6
50175  .byte  15,89,117,56                        // mulps         0x38(%ebp),%xmm6
50176  .byte  15,88,243                           // addps         %xmm3,%xmm6
50177  .byte  15,40,217                           // movaps        %xmm1,%xmm3
50178  .byte  15,92,221                           // subps         %xmm5,%xmm3
50179  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
50180  .byte  15,92,101,56                        // subps         0x38(%ebp),%xmm4
50181  .byte  15,89,227                           // mulps         %xmm3,%xmm4
50182  .byte  15,88,228                           // addps         %xmm4,%xmm4
50183  .byte  15,40,218                           // movaps        %xmm2,%xmm3
50184  .byte  15,92,220                           // subps         %xmm4,%xmm3
50185  .byte  15,40,229                           // movaps        %xmm5,%xmm4
50186  .byte  15,88,228                           // addps         %xmm4,%xmm4
50187  .byte  15,194,225,2                        // cmpleps       %xmm1,%xmm4
50188  .byte  15,89,109,56                        // mulps         0x38(%ebp),%xmm5
50189  .byte  15,88,237                           // addps         %xmm5,%xmm5
50190  .byte  15,84,236                           // andps         %xmm4,%xmm5
50191  .byte  15,85,227                           // andnps        %xmm3,%xmm4
50192  .byte  15,86,229                           // orps          %xmm5,%xmm4
50193  .byte  15,88,230                           // addps         %xmm6,%xmm4
50194  .byte  15,40,109,184                       // movaps        -0x48(%ebp),%xmm5
50195  .byte  15,89,239                           // mulps         %xmm7,%xmm5
50196  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
50197  .byte  15,40,77,200                        // movaps        -0x38(%ebp),%xmm1
50198  .byte  15,89,203                           // mulps         %xmm3,%xmm1
50199  .byte  15,88,205                           // addps         %xmm5,%xmm1
50200  .byte  15,40,109,216                       // movaps        -0x28(%ebp),%xmm5
50201  .byte  15,92,239                           // subps         %xmm7,%xmm5
50202  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
50203  .byte  15,92,243                           // subps         %xmm3,%xmm6
50204  .byte  15,89,245                           // mulps         %xmm5,%xmm6
50205  .byte  15,88,246                           // addps         %xmm6,%xmm6
50206  .byte  15,92,214                           // subps         %xmm6,%xmm2
50207  .byte  15,40,239                           // movaps        %xmm7,%xmm5
50208  .byte  15,88,237                           // addps         %xmm5,%xmm5
50209  .byte  15,40,117,216                       // movaps        -0x28(%ebp),%xmm6
50210  .byte  15,194,238,2                        // cmpleps       %xmm6,%xmm5
50211  .byte  15,89,251                           // mulps         %xmm3,%xmm7
50212  .byte  15,88,255                           // addps         %xmm7,%xmm7
50213  .byte  15,84,253                           // andps         %xmm5,%xmm7
50214  .byte  15,85,234                           // andnps        %xmm2,%xmm5
50215  .byte  15,86,239                           // orps          %xmm7,%xmm5
50216  .byte  15,88,233                           // addps         %xmm1,%xmm5
50217  .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
50218  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
50219  .byte  15,89,218                           // mulps         %xmm2,%xmm3
50220  .byte  15,88,243                           // addps         %xmm3,%xmm6
50221  .byte  15,40,222                           // movaps        %xmm6,%xmm3
50222  .byte  139,69,8                            // mov           0x8(%ebp),%eax
50223  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
50224  .byte  139,85,20                           // mov           0x14(%ebp),%edx
50225  .byte  139,117,24                          // mov           0x18(%ebp),%esi
50226  .byte  139,125,12                          // mov           0xc(%ebp),%edi
50227  .byte  141,95,4                            // lea           0x4(%edi),%ebx
50228  .byte  15,41,84,36,80                      // movaps        %xmm2,0x50(%esp)
50229  .byte  15,40,77,72                         // movaps        0x48(%ebp),%xmm1
50230  .byte  15,41,76,36,64                      // movaps        %xmm1,0x40(%esp)
50231  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
50232  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
50233  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
50234  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
50235  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
50236  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
50237  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
50238  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
50239  .byte  137,4,36                            // mov           %eax,(%esp)
50240  .byte  15,40,204                           // movaps        %xmm4,%xmm1
50241  .byte  15,40,213                           // movaps        %xmm5,%xmm2
50242  .byte  255,23                              // call          *(%edi)
50243  .byte  129,196,156,0,0,0                   // add           $0x9c,%esp
50244  .byte  94                                  // pop           %esi
50245  .byte  95                                  // pop           %edi
50246  .byte  91                                  // pop           %ebx
50247  .byte  93                                  // pop           %ebp
50248  .byte  195                                 // ret
50249
50250HIDDEN _sk_overlay_sse2
50251.globl _sk_overlay_sse2
50252FUNCTION(_sk_overlay_sse2)
50253_sk_overlay_sse2:
50254  .byte  85                                  // push          %ebp
50255  .byte  137,229                             // mov           %esp,%ebp
50256  .byte  83                                  // push          %ebx
50257  .byte  87                                  // push          %edi
50258  .byte  86                                  // push          %esi
50259  .byte  129,236,156,0,0,0                   // sub           $0x9c,%esp
50260  .byte  15,41,85,184                        // movaps        %xmm2,-0x48(%ebp)
50261  .byte  15,40,224                           // movaps        %xmm0,%xmm4
50262  .byte  232,0,0,0,0                         // call          14d1 <_sk_overlay_sse2+0x18>
50263  .byte  88                                  // pop           %eax
50264  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
50265  .byte  15,40,144,239,126,0,0               // movaps        0x7eef(%eax),%xmm2
50266  .byte  15,40,234                           // movaps        %xmm2,%xmm5
50267  .byte  15,92,232                           // subps         %xmm0,%xmm5
50268  .byte  15,40,248                           // movaps        %xmm0,%xmm7
50269  .byte  15,40,197                           // movaps        %xmm5,%xmm0
50270  .byte  15,89,196                           // mulps         %xmm4,%xmm0
50271  .byte  15,92,211                           // subps         %xmm3,%xmm2
50272  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
50273  .byte  15,89,85,40                         // mulps         0x28(%ebp),%xmm2
50274  .byte  15,88,208                           // addps         %xmm0,%xmm2
50275  .byte  15,40,243                           // movaps        %xmm3,%xmm6
50276  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
50277  .byte  15,92,244                           // subps         %xmm4,%xmm6
50278  .byte  15,40,199                           // movaps        %xmm7,%xmm0
50279  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
50280  .byte  15,92,199                           // subps         %xmm7,%xmm0
50281  .byte  15,89,198                           // mulps         %xmm6,%xmm0
50282  .byte  15,40,251                           // movaps        %xmm3,%xmm7
50283  .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
50284  .byte  15,89,251                           // mulps         %xmm3,%xmm7
50285  .byte  15,88,192                           // addps         %xmm0,%xmm0
50286  .byte  15,40,247                           // movaps        %xmm7,%xmm6
50287  .byte  15,92,240                           // subps         %xmm0,%xmm6
50288  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
50289  .byte  15,88,192                           // addps         %xmm0,%xmm0
50290  .byte  15,194,195,2                        // cmpleps       %xmm3,%xmm0
50291  .byte  15,89,101,40                        // mulps         0x28(%ebp),%xmm4
50292  .byte  15,88,228                           // addps         %xmm4,%xmm4
50293  .byte  15,84,224                           // andps         %xmm0,%xmm4
50294  .byte  15,85,198                           // andnps        %xmm6,%xmm0
50295  .byte  15,86,196                           // orps          %xmm4,%xmm0
50296  .byte  15,88,194                           // addps         %xmm2,%xmm0
50297  .byte  15,40,213                           // movaps        %xmm5,%xmm2
50298  .byte  15,89,209                           // mulps         %xmm1,%xmm2
50299  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
50300  .byte  15,40,243                           // movaps        %xmm3,%xmm6
50301  .byte  15,89,117,56                        // mulps         0x38(%ebp),%xmm6
50302  .byte  15,88,242                           // addps         %xmm2,%xmm6
50303  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
50304  .byte  15,92,209                           // subps         %xmm1,%xmm2
50305  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
50306  .byte  15,40,93,56                         // movaps        0x38(%ebp),%xmm3
50307  .byte  15,92,227                           // subps         %xmm3,%xmm4
50308  .byte  15,89,226                           // mulps         %xmm2,%xmm4
50309  .byte  15,88,228                           // addps         %xmm4,%xmm4
50310  .byte  15,40,215                           // movaps        %xmm7,%xmm2
50311  .byte  15,92,212                           // subps         %xmm4,%xmm2
50312  .byte  15,40,227                           // movaps        %xmm3,%xmm4
50313  .byte  15,88,228                           // addps         %xmm4,%xmm4
50314  .byte  15,194,101,88,2                     // cmpleps       0x58(%ebp),%xmm4
50315  .byte  15,89,203                           // mulps         %xmm3,%xmm1
50316  .byte  15,88,201                           // addps         %xmm1,%xmm1
50317  .byte  15,84,204                           // andps         %xmm4,%xmm1
50318  .byte  15,85,226                           // andnps        %xmm2,%xmm4
50319  .byte  15,86,225                           // orps          %xmm1,%xmm4
50320  .byte  15,88,230                           // addps         %xmm6,%xmm4
50321  .byte  15,40,117,184                       // movaps        -0x48(%ebp),%xmm6
50322  .byte  15,89,238                           // mulps         %xmm6,%xmm5
50323  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
50324  .byte  15,89,85,72                         // mulps         0x48(%ebp),%xmm2
50325  .byte  15,88,213                           // addps         %xmm5,%xmm2
50326  .byte  15,40,77,200                        // movaps        -0x38(%ebp),%xmm1
50327  .byte  15,40,233                           // movaps        %xmm1,%xmm5
50328  .byte  15,92,238                           // subps         %xmm6,%xmm5
50329  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
50330  .byte  15,92,117,72                        // subps         0x48(%ebp),%xmm6
50331  .byte  15,89,245                           // mulps         %xmm5,%xmm6
50332  .byte  15,88,246                           // addps         %xmm6,%xmm6
50333  .byte  15,92,254                           // subps         %xmm6,%xmm7
50334  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
50335  .byte  15,40,235                           // movaps        %xmm3,%xmm5
50336  .byte  15,88,237                           // addps         %xmm5,%xmm5
50337  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
50338  .byte  15,194,238,2                        // cmpleps       %xmm6,%xmm5
50339  .byte  15,40,117,184                       // movaps        -0x48(%ebp),%xmm6
50340  .byte  15,89,243                           // mulps         %xmm3,%xmm6
50341  .byte  15,88,246                           // addps         %xmm6,%xmm6
50342  .byte  15,84,245                           // andps         %xmm5,%xmm6
50343  .byte  15,85,239                           // andnps        %xmm7,%xmm5
50344  .byte  15,86,238                           // orps          %xmm6,%xmm5
50345  .byte  15,88,234                           // addps         %xmm2,%xmm5
50346  .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
50347  .byte  15,40,117,216                       // movaps        -0x28(%ebp),%xmm6
50348  .byte  15,89,242                           // mulps         %xmm2,%xmm6
50349  .byte  15,40,217                           // movaps        %xmm1,%xmm3
50350  .byte  15,88,222                           // addps         %xmm6,%xmm3
50351  .byte  139,69,8                            // mov           0x8(%ebp),%eax
50352  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
50353  .byte  139,85,20                           // mov           0x14(%ebp),%edx
50354  .byte  139,117,24                          // mov           0x18(%ebp),%esi
50355  .byte  139,125,12                          // mov           0xc(%ebp),%edi
50356  .byte  141,95,4                            // lea           0x4(%edi),%ebx
50357  .byte  15,41,84,36,80                      // movaps        %xmm2,0x50(%esp)
50358  .byte  15,40,77,72                         // movaps        0x48(%ebp),%xmm1
50359  .byte  15,41,76,36,64                      // movaps        %xmm1,0x40(%esp)
50360  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
50361  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
50362  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
50363  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
50364  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
50365  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
50366  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
50367  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
50368  .byte  137,4,36                            // mov           %eax,(%esp)
50369  .byte  15,40,204                           // movaps        %xmm4,%xmm1
50370  .byte  15,40,213                           // movaps        %xmm5,%xmm2
50371  .byte  255,23                              // call          *(%edi)
50372  .byte  129,196,156,0,0,0                   // add           $0x9c,%esp
50373  .byte  94                                  // pop           %esi
50374  .byte  95                                  // pop           %edi
50375  .byte  91                                  // pop           %ebx
50376  .byte  93                                  // pop           %ebp
50377  .byte  195                                 // ret
50378
50379HIDDEN _sk_softlight_sse2
50380.globl _sk_softlight_sse2
50381FUNCTION(_sk_softlight_sse2)
50382_sk_softlight_sse2:
50383  .byte  85                                  // push          %ebp
50384  .byte  137,229                             // mov           %esp,%ebp
50385  .byte  83                                  // push          %ebx
50386  .byte  87                                  // push          %edi
50387  .byte  86                                  // push          %esi
50388  .byte  129,236,12,1,0,0                    // sub           $0x10c,%esp
50389  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
50390  .byte  15,41,149,72,255,255,255            // movaps        %xmm2,-0xb8(%ebp)
50391  .byte  15,41,141,88,255,255,255            // movaps        %xmm1,-0xa8(%ebp)
50392  .byte  15,40,224                           // movaps        %xmm0,%xmm4
50393  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
50394  .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
50395  .byte  15,87,219                           // xorps         %xmm3,%xmm3
50396  .byte  15,194,218,1                        // cmpltps       %xmm2,%xmm3
50397  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
50398  .byte  15,94,202                           // divps         %xmm2,%xmm1
50399  .byte  15,84,203                           // andps         %xmm3,%xmm1
50400  .byte  15,40,193                           // movaps        %xmm1,%xmm0
50401  .byte  15,88,192                           // addps         %xmm0,%xmm0
50402  .byte  15,88,192                           // addps         %xmm0,%xmm0
50403  .byte  15,40,208                           // movaps        %xmm0,%xmm2
50404  .byte  15,89,210                           // mulps         %xmm2,%xmm2
50405  .byte  15,88,208                           // addps         %xmm0,%xmm2
50406  .byte  232,0,0,0,0                         // call          16a0 <_sk_softlight_sse2+0x51>
50407  .byte  88                                  // pop           %eax
50408  .byte  15,40,233                           // movaps        %xmm1,%xmm5
50409  .byte  15,40,128,64,125,0,0                // movaps        0x7d40(%eax),%xmm0
50410  .byte  15,41,133,120,255,255,255           // movaps        %xmm0,-0x88(%ebp)
50411  .byte  15,88,232                           // addps         %xmm0,%xmm5
50412  .byte  15,89,234                           // mulps         %xmm2,%xmm5
50413  .byte  15,40,184,48,125,0,0                // movaps        0x7d30(%eax),%xmm7
50414  .byte  15,41,125,216                       // movaps        %xmm7,-0x28(%ebp)
50415  .byte  15,92,249                           // subps         %xmm1,%xmm7
50416  .byte  15,82,209                           // rsqrtps       %xmm1,%xmm2
50417  .byte  15,83,242                           // rcpps         %xmm2,%xmm6
50418  .byte  15,92,241                           // subps         %xmm1,%xmm6
50419  .byte  15,40,128,80,125,0,0                // movaps        0x7d50(%eax),%xmm0
50420  .byte  15,41,69,168                        // movaps        %xmm0,-0x58(%ebp)
50421  .byte  15,89,200                           // mulps         %xmm0,%xmm1
50422  .byte  15,88,205                           // addps         %xmm5,%xmm1
50423  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
50424  .byte  15,88,192                           // addps         %xmm0,%xmm0
50425  .byte  15,88,192                           // addps         %xmm0,%xmm0
50426  .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
50427  .byte  15,194,194,2                        // cmpleps       %xmm2,%xmm0
50428  .byte  15,84,200                           // andps         %xmm0,%xmm1
50429  .byte  15,85,198                           // andnps        %xmm6,%xmm0
50430  .byte  15,86,193                           // orps          %xmm1,%xmm0
50431  .byte  15,40,244                           // movaps        %xmm4,%xmm6
50432  .byte  15,88,246                           // addps         %xmm6,%xmm6
50433  .byte  15,40,238                           // movaps        %xmm6,%xmm5
50434  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
50435  .byte  15,92,235                           // subps         %xmm3,%xmm5
50436  .byte  15,89,253                           // mulps         %xmm5,%xmm7
50437  .byte  15,89,234                           // mulps         %xmm2,%xmm5
50438  .byte  15,89,197                           // mulps         %xmm5,%xmm0
50439  .byte  15,40,235                           // movaps        %xmm3,%xmm5
50440  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
50441  .byte  15,89,233                           // mulps         %xmm1,%xmm5
50442  .byte  15,88,197                           // addps         %xmm5,%xmm0
50443  .byte  15,40,77,216                        // movaps        -0x28(%ebp),%xmm1
50444  .byte  15,40,233                           // movaps        %xmm1,%xmm5
50445  .byte  15,92,234                           // subps         %xmm2,%xmm5
50446  .byte  15,41,109,152                       // movaps        %xmm5,-0x68(%ebp)
50447  .byte  15,89,229                           // mulps         %xmm5,%xmm4
50448  .byte  15,92,203                           // subps         %xmm3,%xmm1
50449  .byte  15,41,77,136                        // movaps        %xmm1,-0x78(%ebp)
50450  .byte  15,40,233                           // movaps        %xmm1,%xmm5
50451  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
50452  .byte  15,89,233                           // mulps         %xmm1,%xmm5
50453  .byte  15,88,229                           // addps         %xmm5,%xmm4
50454  .byte  15,40,211                           // movaps        %xmm3,%xmm2
50455  .byte  15,88,250                           // addps         %xmm2,%xmm7
50456  .byte  15,89,249                           // mulps         %xmm1,%xmm7
50457  .byte  15,194,242,2                        // cmpleps       %xmm2,%xmm6
50458  .byte  15,84,254                           // andps         %xmm6,%xmm7
50459  .byte  15,85,240                           // andnps        %xmm0,%xmm6
50460  .byte  15,86,247                           // orps          %xmm7,%xmm6
50461  .byte  15,88,244                           // addps         %xmm4,%xmm6
50462  .byte  15,41,181,104,255,255,255           // movaps        %xmm6,-0x98(%ebp)
50463  .byte  15,40,93,56                         // movaps        0x38(%ebp),%xmm3
50464  .byte  15,40,227                           // movaps        %xmm3,%xmm4
50465  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
50466  .byte  15,94,230                           // divps         %xmm6,%xmm4
50467  .byte  15,84,101,184                       // andps         -0x48(%ebp),%xmm4
50468  .byte  15,40,196                           // movaps        %xmm4,%xmm0
50469  .byte  15,88,192                           // addps         %xmm0,%xmm0
50470  .byte  15,88,192                           // addps         %xmm0,%xmm0
50471  .byte  15,40,232                           // movaps        %xmm0,%xmm5
50472  .byte  15,89,237                           // mulps         %xmm5,%xmm5
50473  .byte  15,88,232                           // addps         %xmm0,%xmm5
50474  .byte  15,40,196                           // movaps        %xmm4,%xmm0
50475  .byte  15,88,133,120,255,255,255           // addps         -0x88(%ebp),%xmm0
50476  .byte  15,89,197                           // mulps         %xmm5,%xmm0
50477  .byte  15,40,125,216                       // movaps        -0x28(%ebp),%xmm7
50478  .byte  15,92,252                           // subps         %xmm4,%xmm7
50479  .byte  15,82,236                           // rsqrtps       %xmm4,%xmm5
50480  .byte  15,83,237                           // rcpps         %xmm5,%xmm5
50481  .byte  15,92,236                           // subps         %xmm4,%xmm5
50482  .byte  15,89,101,168                       // mulps         -0x58(%ebp),%xmm4
50483  .byte  15,88,224                           // addps         %xmm0,%xmm4
50484  .byte  15,40,195                           // movaps        %xmm3,%xmm0
50485  .byte  15,88,192                           // addps         %xmm0,%xmm0
50486  .byte  15,88,192                           // addps         %xmm0,%xmm0
50487  .byte  15,194,198,2                        // cmpleps       %xmm6,%xmm0
50488  .byte  15,84,224                           // andps         %xmm0,%xmm4
50489  .byte  15,85,197                           // andnps        %xmm5,%xmm0
50490  .byte  15,86,196                           // orps          %xmm4,%xmm0
50491  .byte  15,40,141,88,255,255,255            // movaps        -0xa8(%ebp),%xmm1
50492  .byte  15,40,225                           // movaps        %xmm1,%xmm4
50493  .byte  15,88,228                           // addps         %xmm4,%xmm4
50494  .byte  15,40,236                           // movaps        %xmm4,%xmm5
50495  .byte  15,92,234                           // subps         %xmm2,%xmm5
50496  .byte  15,89,253                           // mulps         %xmm5,%xmm7
50497  .byte  15,89,238                           // mulps         %xmm6,%xmm5
50498  .byte  15,89,197                           // mulps         %xmm5,%xmm0
50499  .byte  15,40,234                           // movaps        %xmm2,%xmm5
50500  .byte  15,89,235                           // mulps         %xmm3,%xmm5
50501  .byte  15,88,197                           // addps         %xmm5,%xmm0
50502  .byte  15,89,77,152                        // mulps         -0x68(%ebp),%xmm1
50503  .byte  15,40,109,136                       // movaps        -0x78(%ebp),%xmm5
50504  .byte  15,89,235                           // mulps         %xmm3,%xmm5
50505  .byte  15,88,205                           // addps         %xmm5,%xmm1
50506  .byte  15,40,233                           // movaps        %xmm1,%xmm5
50507  .byte  15,88,250                           // addps         %xmm2,%xmm7
50508  .byte  15,89,251                           // mulps         %xmm3,%xmm7
50509  .byte  15,194,226,2                        // cmpleps       %xmm2,%xmm4
50510  .byte  15,84,252                           // andps         %xmm4,%xmm7
50511  .byte  15,85,224                           // andnps        %xmm0,%xmm4
50512  .byte  15,86,231                           // orps          %xmm7,%xmm4
50513  .byte  15,88,229                           // addps         %xmm5,%xmm4
50514  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
50515  .byte  15,94,254                           // divps         %xmm6,%xmm7
50516  .byte  15,84,125,184                       // andps         -0x48(%ebp),%xmm7
50517  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
50518  .byte  15,92,223                           // subps         %xmm7,%xmm3
50519  .byte  15,40,149,120,255,255,255           // movaps        -0x88(%ebp),%xmm2
50520  .byte  15,88,215                           // addps         %xmm7,%xmm2
50521  .byte  15,40,77,168                        // movaps        -0x58(%ebp),%xmm1
50522  .byte  15,89,207                           // mulps         %xmm7,%xmm1
50523  .byte  15,82,199                           // rsqrtps       %xmm7,%xmm0
50524  .byte  15,83,192                           // rcpps         %xmm0,%xmm0
50525  .byte  15,92,199                           // subps         %xmm7,%xmm0
50526  .byte  15,88,255                           // addps         %xmm7,%xmm7
50527  .byte  15,88,255                           // addps         %xmm7,%xmm7
50528  .byte  15,40,239                           // movaps        %xmm7,%xmm5
50529  .byte  15,89,237                           // mulps         %xmm5,%xmm5
50530  .byte  15,88,239                           // addps         %xmm7,%xmm5
50531  .byte  15,40,250                           // movaps        %xmm2,%xmm7
50532  .byte  15,89,253                           // mulps         %xmm5,%xmm7
50533  .byte  15,40,209                           // movaps        %xmm1,%xmm2
50534  .byte  15,88,215                           // addps         %xmm7,%xmm2
50535  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
50536  .byte  15,88,237                           // addps         %xmm5,%xmm5
50537  .byte  15,88,237                           // addps         %xmm5,%xmm5
50538  .byte  15,194,238,2                        // cmpleps       %xmm6,%xmm5
50539  .byte  15,84,213                           // andps         %xmm5,%xmm2
50540  .byte  15,85,232                           // andnps        %xmm0,%xmm5
50541  .byte  15,86,234                           // orps          %xmm2,%xmm5
50542  .byte  15,40,133,72,255,255,255            // movaps        -0xb8(%ebp),%xmm0
50543  .byte  15,40,77,152                        // movaps        -0x68(%ebp),%xmm1
50544  .byte  15,89,200                           // mulps         %xmm0,%xmm1
50545  .byte  15,40,208                           // movaps        %xmm0,%xmm2
50546  .byte  15,88,210                           // addps         %xmm2,%xmm2
50547  .byte  15,40,194                           // movaps        %xmm2,%xmm0
50548  .byte  15,40,125,200                       // movaps        -0x38(%ebp),%xmm7
50549  .byte  15,92,199                           // subps         %xmm7,%xmm0
50550  .byte  15,89,216                           // mulps         %xmm0,%xmm3
50551  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
50552  .byte  15,89,198                           // mulps         %xmm6,%xmm0
50553  .byte  15,89,232                           // mulps         %xmm0,%xmm5
50554  .byte  15,40,199                           // movaps        %xmm7,%xmm0
50555  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
50556  .byte  15,89,195                           // mulps         %xmm3,%xmm0
50557  .byte  15,88,232                           // addps         %xmm0,%xmm5
50558  .byte  15,40,117,136                       // movaps        -0x78(%ebp),%xmm6
50559  .byte  15,40,198                           // movaps        %xmm6,%xmm0
50560  .byte  15,89,195                           // mulps         %xmm3,%xmm0
50561  .byte  15,88,193                           // addps         %xmm1,%xmm0
50562  .byte  15,40,77,216                        // movaps        -0x28(%ebp),%xmm1
50563  .byte  15,88,207                           // addps         %xmm7,%xmm1
50564  .byte  15,89,203                           // mulps         %xmm3,%xmm1
50565  .byte  15,194,215,2                        // cmpleps       %xmm7,%xmm2
50566  .byte  15,84,202                           // andps         %xmm2,%xmm1
50567  .byte  15,85,213                           // andnps        %xmm5,%xmm2
50568  .byte  15,86,209                           // orps          %xmm1,%xmm2
50569  .byte  15,88,208                           // addps         %xmm0,%xmm2
50570  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
50571  .byte  15,89,240                           // mulps         %xmm0,%xmm6
50572  .byte  15,88,254                           // addps         %xmm6,%xmm7
50573  .byte  139,69,8                            // mov           0x8(%ebp),%eax
50574  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
50575  .byte  139,85,20                           // mov           0x14(%ebp),%edx
50576  .byte  139,117,24                          // mov           0x18(%ebp),%esi
50577  .byte  139,125,12                          // mov           0xc(%ebp),%edi
50578  .byte  141,95,4                            // lea           0x4(%edi),%ebx
50579  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
50580  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
50581  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
50582  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
50583  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
50584  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
50585  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
50586  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
50587  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
50588  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
50589  .byte  137,4,36                            // mov           %eax,(%esp)
50590  .byte  15,40,133,104,255,255,255           // movaps        -0x98(%ebp),%xmm0
50591  .byte  15,40,204                           // movaps        %xmm4,%xmm1
50592  .byte  15,40,223                           // movaps        %xmm7,%xmm3
50593  .byte  255,23                              // call          *(%edi)
50594  .byte  129,196,12,1,0,0                    // add           $0x10c,%esp
50595  .byte  94                                  // pop           %esi
50596  .byte  95                                  // pop           %edi
50597  .byte  91                                  // pop           %ebx
50598  .byte  93                                  // pop           %ebp
50599  .byte  195                                 // ret
50600
50601HIDDEN _sk_hue_sse2
50602.globl _sk_hue_sse2
50603FUNCTION(_sk_hue_sse2)
50604_sk_hue_sse2:
50605  .byte  85                                  // push          %ebp
50606  .byte  137,229                             // mov           %esp,%ebp
50607  .byte  83                                  // push          %ebx
50608  .byte  87                                  // push          %edi
50609  .byte  86                                  // push          %esi
50610  .byte  129,236,236,0,0,0                   // sub           $0xec,%esp
50611  .byte  15,40,243                           // movaps        %xmm3,%xmm6
50612  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
50613  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
50614  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
50615  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
50616  .byte  15,40,253                           // movaps        %xmm5,%xmm7
50617  .byte  15,95,252                           // maxps         %xmm4,%xmm7
50618  .byte  15,40,218                           // movaps        %xmm2,%xmm3
50619  .byte  15,95,223                           // maxps         %xmm7,%xmm3
50620  .byte  15,40,253                           // movaps        %xmm5,%xmm7
50621  .byte  15,93,252                           // minps         %xmm4,%xmm7
50622  .byte  15,40,226                           // movaps        %xmm2,%xmm4
50623  .byte  15,93,231                           // minps         %xmm7,%xmm4
50624  .byte  15,92,220                           // subps         %xmm4,%xmm3
50625  .byte  232,0,0,0,0                         // call          1971 <_sk_hue_sse2+0x3f>
50626  .byte  88                                  // pop           %eax
50627  .byte  15,40,224                           // movaps        %xmm0,%xmm4
50628  .byte  15,89,230                           // mulps         %xmm6,%xmm4
50629  .byte  15,41,101,200                       // movaps        %xmm4,-0x38(%ebp)
50630  .byte  15,40,233                           // movaps        %xmm1,%xmm5
50631  .byte  15,89,238                           // mulps         %xmm6,%xmm5
50632  .byte  15,40,184,191,122,0,0               // movaps        0x7abf(%eax),%xmm7
50633  .byte  15,41,125,168                       // movaps        %xmm7,-0x58(%ebp)
50634  .byte  15,92,125,88                        // subps         0x58(%ebp),%xmm7
50635  .byte  15,89,199                           // mulps         %xmm7,%xmm0
50636  .byte  15,41,133,104,255,255,255           // movaps        %xmm0,-0x98(%ebp)
50637  .byte  15,89,207                           // mulps         %xmm7,%xmm1
50638  .byte  15,41,141,120,255,255,255           // movaps        %xmm1,-0x88(%ebp)
50639  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
50640  .byte  15,89,248                           // mulps         %xmm0,%xmm7
50641  .byte  15,41,125,136                       // movaps        %xmm7,-0x78(%ebp)
50642  .byte  15,40,230                           // movaps        %xmm6,%xmm4
50643  .byte  15,41,101,184                       // movaps        %xmm4,-0x48(%ebp)
50644  .byte  15,89,196                           // mulps         %xmm4,%xmm0
50645  .byte  15,40,205                           // movaps        %xmm5,%xmm1
50646  .byte  15,93,200                           // minps         %xmm0,%xmm1
50647  .byte  15,40,117,200                       // movaps        -0x38(%ebp),%xmm6
50648  .byte  15,40,254                           // movaps        %xmm6,%xmm7
50649  .byte  15,93,249                           // minps         %xmm1,%xmm7
50650  .byte  15,40,205                           // movaps        %xmm5,%xmm1
50651  .byte  15,95,200                           // maxps         %xmm0,%xmm1
50652  .byte  15,40,214                           // movaps        %xmm6,%xmm2
50653  .byte  15,95,209                           // maxps         %xmm1,%xmm2
50654  .byte  15,92,215                           // subps         %xmm7,%xmm2
50655  .byte  15,92,247                           // subps         %xmm7,%xmm6
50656  .byte  15,92,239                           // subps         %xmm7,%xmm5
50657  .byte  15,92,199                           // subps         %xmm7,%xmm0
50658  .byte  15,89,220                           // mulps         %xmm4,%xmm3
50659  .byte  15,89,243                           // mulps         %xmm3,%xmm6
50660  .byte  15,89,235                           // mulps         %xmm3,%xmm5
50661  .byte  15,89,195                           // mulps         %xmm3,%xmm0
50662  .byte  15,40,152,143,122,0,0               // movaps        0x7a8f(%eax),%xmm3
50663  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
50664  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
50665  .byte  15,89,203                           // mulps         %xmm3,%xmm1
50666  .byte  15,40,160,159,122,0,0               // movaps        0x7a9f(%eax),%xmm4
50667  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
50668  .byte  15,89,252                           // mulps         %xmm4,%xmm7
50669  .byte  15,88,249                           // addps         %xmm1,%xmm7
50670  .byte  15,40,152,175,122,0,0               // movaps        0x7aaf(%eax),%xmm3
50671  .byte  15,40,77,72                         // movaps        0x48(%ebp),%xmm1
50672  .byte  15,89,203                           // mulps         %xmm3,%xmm1
50673  .byte  15,88,207                           // addps         %xmm7,%xmm1
50674  .byte  15,94,242                           // divps         %xmm2,%xmm6
50675  .byte  15,40,253                           // movaps        %xmm5,%xmm7
50676  .byte  15,94,250                           // divps         %xmm2,%xmm7
50677  .byte  15,94,194                           // divps         %xmm2,%xmm0
50678  .byte  15,87,237                           // xorps         %xmm5,%xmm5
50679  .byte  15,194,213,4                        // cmpneqps      %xmm5,%xmm2
50680  .byte  15,84,242                           // andps         %xmm2,%xmm6
50681  .byte  15,84,250                           // andps         %xmm2,%xmm7
50682  .byte  15,40,239                           // movaps        %xmm7,%xmm5
50683  .byte  15,84,208                           // andps         %xmm0,%xmm2
50684  .byte  15,40,198                           // movaps        %xmm6,%xmm0
50685  .byte  15,89,69,216                        // mulps         -0x28(%ebp),%xmm0
50686  .byte  15,89,252                           // mulps         %xmm4,%xmm7
50687  .byte  15,88,248                           // addps         %xmm0,%xmm7
50688  .byte  15,40,194                           // movaps        %xmm2,%xmm0
50689  .byte  15,89,195                           // mulps         %xmm3,%xmm0
50690  .byte  15,88,199                           // addps         %xmm7,%xmm0
50691  .byte  15,89,77,184                        // mulps         -0x48(%ebp),%xmm1
50692  .byte  15,92,200                           // subps         %xmm0,%xmm1
50693  .byte  15,88,241                           // addps         %xmm1,%xmm6
50694  .byte  15,40,253                           // movaps        %xmm5,%xmm7
50695  .byte  15,88,249                           // addps         %xmm1,%xmm7
50696  .byte  15,88,202                           // addps         %xmm2,%xmm1
50697  .byte  15,40,199                           // movaps        %xmm7,%xmm0
50698  .byte  15,93,193                           // minps         %xmm1,%xmm0
50699  .byte  15,40,214                           // movaps        %xmm6,%xmm2
50700  .byte  15,93,208                           // minps         %xmm0,%xmm2
50701  .byte  15,40,199                           // movaps        %xmm7,%xmm0
50702  .byte  15,40,239                           // movaps        %xmm7,%xmm5
50703  .byte  15,41,109,200                       // movaps        %xmm5,-0x38(%ebp)
50704  .byte  15,95,193                           // maxps         %xmm1,%xmm0
50705  .byte  15,40,254                           // movaps        %xmm6,%xmm7
50706  .byte  15,95,248                           // maxps         %xmm0,%xmm7
50707  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
50708  .byte  15,89,198                           // mulps         %xmm6,%xmm0
50709  .byte  15,89,229                           // mulps         %xmm5,%xmm4
50710  .byte  15,88,224                           // addps         %xmm0,%xmm4
50711  .byte  15,89,217                           // mulps         %xmm1,%xmm3
50712  .byte  15,88,220                           // addps         %xmm4,%xmm3
50713  .byte  15,87,192                           // xorps         %xmm0,%xmm0
50714  .byte  15,194,194,2                        // cmpleps       %xmm2,%xmm0
50715  .byte  15,40,227                           // movaps        %xmm3,%xmm4
50716  .byte  15,92,226                           // subps         %xmm2,%xmm4
50717  .byte  15,41,101,216                       // movaps        %xmm4,-0x28(%ebp)
50718  .byte  15,40,214                           // movaps        %xmm6,%xmm2
50719  .byte  15,92,211                           // subps         %xmm3,%xmm2
50720  .byte  15,89,211                           // mulps         %xmm3,%xmm2
50721  .byte  15,94,212                           // divps         %xmm4,%xmm2
50722  .byte  15,88,211                           // addps         %xmm3,%xmm2
50723  .byte  15,40,232                           // movaps        %xmm0,%xmm5
50724  .byte  15,85,234                           // andnps        %xmm2,%xmm5
50725  .byte  15,84,240                           // andps         %xmm0,%xmm6
50726  .byte  15,86,245                           // orps          %xmm5,%xmm6
50727  .byte  15,40,109,184                       // movaps        -0x48(%ebp),%xmm5
50728  .byte  15,40,213                           // movaps        %xmm5,%xmm2
50729  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
50730  .byte  15,89,212                           // mulps         %xmm4,%xmm2
50731  .byte  15,40,101,168                       // movaps        -0x58(%ebp),%xmm4
50732  .byte  15,92,229                           // subps         %xmm5,%xmm4
50733  .byte  15,41,101,168                       // movaps        %xmm4,-0x58(%ebp)
50734  .byte  15,88,109,88                        // addps         0x58(%ebp),%xmm5
50735  .byte  15,92,234                           // subps         %xmm2,%xmm5
50736  .byte  15,41,109,184                       // movaps        %xmm5,-0x48(%ebp)
50737  .byte  15,40,234                           // movaps        %xmm2,%xmm5
50738  .byte  15,194,215,1                        // cmpltps       %xmm7,%xmm2
50739  .byte  15,40,226                           // movaps        %xmm2,%xmm4
50740  .byte  15,85,230                           // andnps        %xmm6,%xmm4
50741  .byte  15,92,243                           // subps         %xmm3,%xmm6
50742  .byte  15,92,235                           // subps         %xmm3,%xmm5
50743  .byte  15,41,109,152                       // movaps        %xmm5,-0x68(%ebp)
50744  .byte  15,89,245                           // mulps         %xmm5,%xmm6
50745  .byte  15,92,251                           // subps         %xmm3,%xmm7
50746  .byte  15,94,247                           // divps         %xmm7,%xmm6
50747  .byte  15,88,243                           // addps         %xmm3,%xmm6
50748  .byte  15,84,242                           // andps         %xmm2,%xmm6
50749  .byte  15,86,244                           // orps          %xmm4,%xmm6
50750  .byte  15,40,101,200                       // movaps        -0x38(%ebp),%xmm4
50751  .byte  15,92,227                           // subps         %xmm3,%xmm4
50752  .byte  15,89,227                           // mulps         %xmm3,%xmm4
50753  .byte  15,94,101,216                       // divps         -0x28(%ebp),%xmm4
50754  .byte  15,88,227                           // addps         %xmm3,%xmm4
50755  .byte  15,40,232                           // movaps        %xmm0,%xmm5
50756  .byte  15,85,236                           // andnps        %xmm4,%xmm5
50757  .byte  15,40,101,200                       // movaps        -0x38(%ebp),%xmm4
50758  .byte  15,84,224                           // andps         %xmm0,%xmm4
50759  .byte  15,86,229                           // orps          %xmm5,%xmm4
50760  .byte  15,40,234                           // movaps        %xmm2,%xmm5
50761  .byte  15,85,236                           // andnps        %xmm4,%xmm5
50762  .byte  15,92,227                           // subps         %xmm3,%xmm4
50763  .byte  15,89,101,152                       // mulps         -0x68(%ebp),%xmm4
50764  .byte  15,94,231                           // divps         %xmm7,%xmm4
50765  .byte  15,88,227                           // addps         %xmm3,%xmm4
50766  .byte  15,84,226                           // andps         %xmm2,%xmm4
50767  .byte  15,86,229                           // orps          %xmm5,%xmm4
50768  .byte  15,40,236                           // movaps        %xmm4,%xmm5
50769  .byte  15,40,225                           // movaps        %xmm1,%xmm4
50770  .byte  15,92,227                           // subps         %xmm3,%xmm4
50771  .byte  15,89,227                           // mulps         %xmm3,%xmm4
50772  .byte  15,94,101,216                       // divps         -0x28(%ebp),%xmm4
50773  .byte  15,88,227                           // addps         %xmm3,%xmm4
50774  .byte  15,84,200                           // andps         %xmm0,%xmm1
50775  .byte  15,85,196                           // andnps        %xmm4,%xmm0
50776  .byte  15,86,193                           // orps          %xmm1,%xmm0
50777  .byte  15,40,202                           // movaps        %xmm2,%xmm1
50778  .byte  15,85,200                           // andnps        %xmm0,%xmm1
50779  .byte  15,92,195                           // subps         %xmm3,%xmm0
50780  .byte  15,89,69,152                        // mulps         -0x68(%ebp),%xmm0
50781  .byte  15,94,199                           // divps         %xmm7,%xmm0
50782  .byte  15,88,195                           // addps         %xmm3,%xmm0
50783  .byte  15,84,194                           // andps         %xmm2,%xmm0
50784  .byte  15,86,193                           // orps          %xmm1,%xmm0
50785  .byte  15,87,201                           // xorps         %xmm1,%xmm1
50786  .byte  15,95,241                           // maxps         %xmm1,%xmm6
50787  .byte  15,95,233                           // maxps         %xmm1,%xmm5
50788  .byte  15,40,221                           // movaps        %xmm5,%xmm3
50789  .byte  15,95,193                           // maxps         %xmm1,%xmm0
50790  .byte  15,40,125,168                       // movaps        -0x58(%ebp),%xmm7
50791  .byte  15,40,207                           // movaps        %xmm7,%xmm1
50792  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
50793  .byte  15,89,205                           // mulps         %xmm5,%xmm1
50794  .byte  15,40,173,104,255,255,255           // movaps        -0x98(%ebp),%xmm5
50795  .byte  15,88,233                           // addps         %xmm1,%xmm5
50796  .byte  15,88,238                           // addps         %xmm6,%xmm5
50797  .byte  15,40,207                           // movaps        %xmm7,%xmm1
50798  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
50799  .byte  15,89,204                           // mulps         %xmm4,%xmm1
50800  .byte  15,40,149,120,255,255,255           // movaps        -0x88(%ebp),%xmm2
50801  .byte  15,88,209                           // addps         %xmm1,%xmm2
50802  .byte  15,88,211                           // addps         %xmm3,%xmm2
50803  .byte  15,40,202                           // movaps        %xmm2,%xmm1
50804  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
50805  .byte  15,40,242                           // movaps        %xmm2,%xmm6
50806  .byte  15,89,254                           // mulps         %xmm6,%xmm7
50807  .byte  15,88,125,136                       // addps         -0x78(%ebp),%xmm7
50808  .byte  15,88,248                           // addps         %xmm0,%xmm7
50809  .byte  15,40,215                           // movaps        %xmm7,%xmm2
50810  .byte  139,69,8                            // mov           0x8(%ebp),%eax
50811  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
50812  .byte  139,85,20                           // mov           0x14(%ebp),%edx
50813  .byte  139,117,24                          // mov           0x18(%ebp),%esi
50814  .byte  139,125,12                          // mov           0xc(%ebp),%edi
50815  .byte  141,95,4                            // lea           0x4(%edi),%ebx
50816  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
50817  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
50818  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
50819  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
50820  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
50821  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
50822  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
50823  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
50824  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
50825  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
50826  .byte  137,4,36                            // mov           %eax,(%esp)
50827  .byte  15,40,197                           // movaps        %xmm5,%xmm0
50828  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
50829  .byte  255,23                              // call          *(%edi)
50830  .byte  129,196,236,0,0,0                   // add           $0xec,%esp
50831  .byte  94                                  // pop           %esi
50832  .byte  95                                  // pop           %edi
50833  .byte  91                                  // pop           %ebx
50834  .byte  93                                  // pop           %ebp
50835  .byte  195                                 // ret
50836
50837HIDDEN _sk_saturation_sse2
50838.globl _sk_saturation_sse2
50839FUNCTION(_sk_saturation_sse2)
50840_sk_saturation_sse2:
50841  .byte  85                                  // push          %ebp
50842  .byte  137,229                             // mov           %esp,%ebp
50843  .byte  83                                  // push          %ebx
50844  .byte  87                                  // push          %edi
50845  .byte  86                                  // push          %esi
50846  .byte  129,236,12,1,0,0                    // sub           $0x10c,%esp
50847  .byte  15,41,149,72,255,255,255            // movaps        %xmm2,-0xb8(%ebp)
50848  .byte  15,41,141,88,255,255,255            // movaps        %xmm1,-0xa8(%ebp)
50849  .byte  15,41,133,104,255,255,255           // movaps        %xmm0,-0x98(%ebp)
50850  .byte  15,40,225                           // movaps        %xmm1,%xmm4
50851  .byte  15,95,226                           // maxps         %xmm2,%xmm4
50852  .byte  15,40,240                           // movaps        %xmm0,%xmm6
50853  .byte  15,95,244                           // maxps         %xmm4,%xmm6
50854  .byte  15,40,225                           // movaps        %xmm1,%xmm4
50855  .byte  15,93,226                           // minps         %xmm2,%xmm4
50856  .byte  15,40,208                           // movaps        %xmm0,%xmm2
50857  .byte  15,93,212                           // minps         %xmm4,%xmm2
50858  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
50859  .byte  15,92,242                           // subps         %xmm2,%xmm6
50860  .byte  15,40,195                           // movaps        %xmm3,%xmm0
50861  .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
50862  .byte  15,40,232                           // movaps        %xmm0,%xmm5
50863  .byte  15,89,233                           // mulps         %xmm1,%xmm5
50864  .byte  15,89,93,56                         // mulps         0x38(%ebp),%xmm3
50865  .byte  15,40,248                           // movaps        %xmm0,%xmm7
50866  .byte  15,89,125,72                        // mulps         0x48(%ebp),%xmm7
50867  .byte  15,40,195                           // movaps        %xmm3,%xmm0
50868  .byte  15,93,199                           // minps         %xmm7,%xmm0
50869  .byte  15,40,213                           // movaps        %xmm5,%xmm2
50870  .byte  15,93,208                           // minps         %xmm0,%xmm2
50871  .byte  15,40,227                           // movaps        %xmm3,%xmm4
50872  .byte  15,95,231                           // maxps         %xmm7,%xmm4
50873  .byte  15,40,197                           // movaps        %xmm5,%xmm0
50874  .byte  15,95,196                           // maxps         %xmm4,%xmm0
50875  .byte  15,92,194                           // subps         %xmm2,%xmm0
50876  .byte  15,92,234                           // subps         %xmm2,%xmm5
50877  .byte  15,92,218                           // subps         %xmm2,%xmm3
50878  .byte  15,92,250                           // subps         %xmm2,%xmm7
50879  .byte  15,89,117,88                        // mulps         0x58(%ebp),%xmm6
50880  .byte  15,89,238                           // mulps         %xmm6,%xmm5
50881  .byte  15,89,222                           // mulps         %xmm6,%xmm3
50882  .byte  15,89,254                           // mulps         %xmm6,%xmm7
50883  .byte  232,0,0,0,0                         // call          1cbf <_sk_saturation_sse2+0x8e>
50884  .byte  88                                  // pop           %eax
50885  .byte  15,40,176,129,119,0,0               // movaps        0x7781(%eax),%xmm6
50886  .byte  15,40,209                           // movaps        %xmm1,%xmm2
50887  .byte  15,89,214                           // mulps         %xmm6,%xmm2
50888  .byte  15,40,160,145,119,0,0               // movaps        0x7791(%eax),%xmm4
50889  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
50890  .byte  15,89,204                           // mulps         %xmm4,%xmm1
50891  .byte  15,88,202                           // addps         %xmm2,%xmm1
50892  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
50893  .byte  15,89,144,161,119,0,0               // mulps         0x77a1(%eax),%xmm2
50894  .byte  15,88,209                           // addps         %xmm1,%xmm2
50895  .byte  15,94,232                           // divps         %xmm0,%xmm5
50896  .byte  15,94,216                           // divps         %xmm0,%xmm3
50897  .byte  15,94,248                           // divps         %xmm0,%xmm7
50898  .byte  15,87,201                           // xorps         %xmm1,%xmm1
50899  .byte  15,194,193,4                        // cmpneqps      %xmm1,%xmm0
50900  .byte  15,84,232                           // andps         %xmm0,%xmm5
50901  .byte  15,84,216                           // andps         %xmm0,%xmm3
50902  .byte  15,84,199                           // andps         %xmm7,%xmm0
50903  .byte  15,40,205                           // movaps        %xmm5,%xmm1
50904  .byte  15,89,206                           // mulps         %xmm6,%xmm1
50905  .byte  15,40,251                           // movaps        %xmm3,%xmm7
50906  .byte  15,89,252                           // mulps         %xmm4,%xmm7
50907  .byte  15,88,249                           // addps         %xmm1,%xmm7
50908  .byte  15,40,200                           // movaps        %xmm0,%xmm1
50909  .byte  15,89,136,161,119,0,0               // mulps         0x77a1(%eax),%xmm1
50910  .byte  15,88,207                           // addps         %xmm7,%xmm1
50911  .byte  15,89,85,216                        // mulps         -0x28(%ebp),%xmm2
50912  .byte  15,92,209                           // subps         %xmm1,%xmm2
50913  .byte  15,88,234                           // addps         %xmm2,%xmm5
50914  .byte  15,88,218                           // addps         %xmm2,%xmm3
50915  .byte  15,88,208                           // addps         %xmm0,%xmm2
50916  .byte  15,40,195                           // movaps        %xmm3,%xmm0
50917  .byte  15,93,194                           // minps         %xmm2,%xmm0
50918  .byte  15,40,205                           // movaps        %xmm5,%xmm1
50919  .byte  15,93,200                           // minps         %xmm0,%xmm1
50920  .byte  15,40,195                           // movaps        %xmm3,%xmm0
50921  .byte  15,95,194                           // maxps         %xmm2,%xmm0
50922  .byte  15,41,149,120,255,255,255           // movaps        %xmm2,-0x88(%ebp)
50923  .byte  15,40,253                           // movaps        %xmm5,%xmm7
50924  .byte  15,95,248                           // maxps         %xmm0,%xmm7
50925  .byte  15,41,125,200                       // movaps        %xmm7,-0x38(%ebp)
50926  .byte  15,89,245                           // mulps         %xmm5,%xmm6
50927  .byte  15,89,227                           // mulps         %xmm3,%xmm4
50928  .byte  15,88,230                           // addps         %xmm6,%xmm4
50929  .byte  15,40,128,161,119,0,0               // movaps        0x77a1(%eax),%xmm0
50930  .byte  15,89,194                           // mulps         %xmm2,%xmm0
50931  .byte  15,88,196                           // addps         %xmm4,%xmm0
50932  .byte  15,41,69,136                        // movaps        %xmm0,-0x78(%ebp)
50933  .byte  15,87,255                           // xorps         %xmm7,%xmm7
50934  .byte  15,194,249,2                        // cmpleps       %xmm1,%xmm7
50935  .byte  15,40,208                           // movaps        %xmm0,%xmm2
50936  .byte  15,92,209                           // subps         %xmm1,%xmm2
50937  .byte  15,41,85,184                        // movaps        %xmm2,-0x48(%ebp)
50938  .byte  15,40,205                           // movaps        %xmm5,%xmm1
50939  .byte  15,92,200                           // subps         %xmm0,%xmm1
50940  .byte  15,89,200                           // mulps         %xmm0,%xmm1
50941  .byte  15,94,202                           // divps         %xmm2,%xmm1
50942  .byte  15,88,200                           // addps         %xmm0,%xmm1
50943  .byte  15,40,199                           // movaps        %xmm7,%xmm0
50944  .byte  15,85,193                           // andnps        %xmm1,%xmm0
50945  .byte  15,84,239                           // andps         %xmm7,%xmm5
50946  .byte  15,86,232                           // orps          %xmm0,%xmm5
50947  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
50948  .byte  15,40,200                           // movaps        %xmm0,%xmm1
50949  .byte  15,40,224                           // movaps        %xmm0,%xmm4
50950  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
50951  .byte  15,89,200                           // mulps         %xmm0,%xmm1
50952  .byte  15,40,144,177,119,0,0               // movaps        0x77b1(%eax),%xmm2
50953  .byte  15,41,85,152                        // movaps        %xmm2,-0x68(%ebp)
50954  .byte  15,92,212                           // subps         %xmm4,%xmm2
50955  .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
50956  .byte  15,88,224                           // addps         %xmm0,%xmm4
50957  .byte  15,92,225                           // subps         %xmm1,%xmm4
50958  .byte  15,41,101,216                       // movaps        %xmm4,-0x28(%ebp)
50959  .byte  15,40,241                           // movaps        %xmm1,%xmm6
50960  .byte  15,40,209                           // movaps        %xmm1,%xmm2
50961  .byte  15,40,77,200                        // movaps        -0x38(%ebp),%xmm1
50962  .byte  15,194,209,1                        // cmpltps       %xmm1,%xmm2
50963  .byte  15,40,226                           // movaps        %xmm2,%xmm4
50964  .byte  15,85,229                           // andnps        %xmm5,%xmm4
50965  .byte  15,40,69,136                        // movaps        -0x78(%ebp),%xmm0
50966  .byte  15,92,232                           // subps         %xmm0,%xmm5
50967  .byte  15,92,240                           // subps         %xmm0,%xmm6
50968  .byte  15,89,238                           // mulps         %xmm6,%xmm5
50969  .byte  15,92,200                           // subps         %xmm0,%xmm1
50970  .byte  15,41,77,200                        // movaps        %xmm1,-0x38(%ebp)
50971  .byte  15,94,233                           // divps         %xmm1,%xmm5
50972  .byte  15,88,232                           // addps         %xmm0,%xmm5
50973  .byte  15,84,234                           // andps         %xmm2,%xmm5
50974  .byte  15,86,236                           // orps          %xmm4,%xmm5
50975  .byte  15,40,203                           // movaps        %xmm3,%xmm1
50976  .byte  15,92,200                           // subps         %xmm0,%xmm1
50977  .byte  15,89,200                           // mulps         %xmm0,%xmm1
50978  .byte  15,94,77,184                        // divps         -0x48(%ebp),%xmm1
50979  .byte  15,88,200                           // addps         %xmm0,%xmm1
50980  .byte  15,40,231                           // movaps        %xmm7,%xmm4
50981  .byte  15,85,225                           // andnps        %xmm1,%xmm4
50982  .byte  15,84,223                           // andps         %xmm7,%xmm3
50983  .byte  15,86,220                           // orps          %xmm4,%xmm3
50984  .byte  15,40,202                           // movaps        %xmm2,%xmm1
50985  .byte  15,85,203                           // andnps        %xmm3,%xmm1
50986  .byte  15,92,216                           // subps         %xmm0,%xmm3
50987  .byte  15,89,222                           // mulps         %xmm6,%xmm3
50988  .byte  15,94,93,200                        // divps         -0x38(%ebp),%xmm3
50989  .byte  15,88,216                           // addps         %xmm0,%xmm3
50990  .byte  15,84,218                           // andps         %xmm2,%xmm3
50991  .byte  15,86,217                           // orps          %xmm1,%xmm3
50992  .byte  15,40,165,120,255,255,255           // movaps        -0x88(%ebp),%xmm4
50993  .byte  15,40,204                           // movaps        %xmm4,%xmm1
50994  .byte  15,92,200                           // subps         %xmm0,%xmm1
50995  .byte  15,89,200                           // mulps         %xmm0,%xmm1
50996  .byte  15,94,77,184                        // divps         -0x48(%ebp),%xmm1
50997  .byte  15,88,200                           // addps         %xmm0,%xmm1
50998  .byte  15,84,231                           // andps         %xmm7,%xmm4
50999  .byte  15,85,249                           // andnps        %xmm1,%xmm7
51000  .byte  15,86,252                           // orps          %xmm4,%xmm7
51001  .byte  15,40,202                           // movaps        %xmm2,%xmm1
51002  .byte  15,85,207                           // andnps        %xmm7,%xmm1
51003  .byte  15,92,248                           // subps         %xmm0,%xmm7
51004  .byte  15,89,254                           // mulps         %xmm6,%xmm7
51005  .byte  15,94,125,200                       // divps         -0x38(%ebp),%xmm7
51006  .byte  15,88,248                           // addps         %xmm0,%xmm7
51007  .byte  15,84,250                           // andps         %xmm2,%xmm7
51008  .byte  15,86,249                           // orps          %xmm1,%xmm7
51009  .byte  15,87,192                           // xorps         %xmm0,%xmm0
51010  .byte  15,95,232                           // maxps         %xmm0,%xmm5
51011  .byte  15,95,216                           // maxps         %xmm0,%xmm3
51012  .byte  15,95,248                           // maxps         %xmm0,%xmm7
51013  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
51014  .byte  15,40,101,152                       // movaps        -0x68(%ebp),%xmm4
51015  .byte  15,92,224                           // subps         %xmm0,%xmm4
51016  .byte  15,40,141,104,255,255,255           // movaps        -0x98(%ebp),%xmm1
51017  .byte  15,89,204                           // mulps         %xmm4,%xmm1
51018  .byte  15,40,85,168                        // movaps        -0x58(%ebp),%xmm2
51019  .byte  15,40,194                           // movaps        %xmm2,%xmm0
51020  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
51021  .byte  15,89,198                           // mulps         %xmm6,%xmm0
51022  .byte  15,88,200                           // addps         %xmm0,%xmm1
51023  .byte  15,88,205                           // addps         %xmm5,%xmm1
51024  .byte  15,40,241                           // movaps        %xmm1,%xmm6
51025  .byte  15,40,141,88,255,255,255            // movaps        -0xa8(%ebp),%xmm1
51026  .byte  15,89,204                           // mulps         %xmm4,%xmm1
51027  .byte  15,40,196                           // movaps        %xmm4,%xmm0
51028  .byte  15,40,226                           // movaps        %xmm2,%xmm4
51029  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
51030  .byte  15,89,229                           // mulps         %xmm5,%xmm4
51031  .byte  15,88,204                           // addps         %xmm4,%xmm1
51032  .byte  15,88,203                           // addps         %xmm3,%xmm1
51033  .byte  15,89,133,72,255,255,255            // mulps         -0xb8(%ebp),%xmm0
51034  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
51035  .byte  15,89,211                           // mulps         %xmm3,%xmm2
51036  .byte  15,88,208                           // addps         %xmm0,%xmm2
51037  .byte  15,88,215                           // addps         %xmm7,%xmm2
51038  .byte  139,69,8                            // mov           0x8(%ebp),%eax
51039  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
51040  .byte  139,85,20                           // mov           0x14(%ebp),%edx
51041  .byte  139,117,24                          // mov           0x18(%ebp),%esi
51042  .byte  139,125,12                          // mov           0xc(%ebp),%edi
51043  .byte  141,95,4                            // lea           0x4(%edi),%ebx
51044  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
51045  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
51046  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
51047  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
51048  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
51049  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
51050  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
51051  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
51052  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
51053  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51054  .byte  137,4,36                            // mov           %eax,(%esp)
51055  .byte  15,40,198                           // movaps        %xmm6,%xmm0
51056  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
51057  .byte  255,23                              // call          *(%edi)
51058  .byte  129,196,12,1,0,0                    // add           $0x10c,%esp
51059  .byte  94                                  // pop           %esi
51060  .byte  95                                  // pop           %edi
51061  .byte  91                                  // pop           %ebx
51062  .byte  93                                  // pop           %ebp
51063  .byte  195                                 // ret
51064
51065HIDDEN _sk_color_sse2
51066.globl _sk_color_sse2
51067FUNCTION(_sk_color_sse2)
51068_sk_color_sse2:
51069  .byte  85                                  // push          %ebp
51070  .byte  137,229                             // mov           %esp,%ebp
51071  .byte  83                                  // push          %ebx
51072  .byte  87                                  // push          %edi
51073  .byte  86                                  // push          %esi
51074  .byte  129,236,28,1,0,0                    // sub           $0x11c,%esp
51075  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
51076  .byte  15,41,149,72,255,255,255            // movaps        %xmm2,-0xb8(%ebp)
51077  .byte  15,40,233                           // movaps        %xmm1,%xmm5
51078  .byte  232,0,0,0,0                         // call          1f46 <_sk_color_sse2+0x1f>
51079  .byte  88                                  // pop           %eax
51080  .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
51081  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
51082  .byte  15,40,152,58,117,0,0                // movaps        0x753a(%eax),%xmm3
51083  .byte  15,89,227                           // mulps         %xmm3,%xmm4
51084  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
51085  .byte  15,40,176,74,117,0,0                // movaps        0x754a(%eax),%xmm6
51086  .byte  15,89,214                           // mulps         %xmm6,%xmm2
51087  .byte  15,41,117,184                       // movaps        %xmm6,-0x48(%ebp)
51088  .byte  15,88,212                           // addps         %xmm4,%xmm2
51089  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
51090  .byte  15,40,184,90,117,0,0                // movaps        0x755a(%eax),%xmm7
51091  .byte  15,41,189,56,255,255,255            // movaps        %xmm7,-0xc8(%ebp)
51092  .byte  15,89,231                           // mulps         %xmm7,%xmm4
51093  .byte  15,88,226                           // addps         %xmm2,%xmm4
51094  .byte  15,41,101,136                       // movaps        %xmm4,-0x78(%ebp)
51095  .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
51096  .byte  15,40,248                           // movaps        %xmm0,%xmm7
51097  .byte  15,89,250                           // mulps         %xmm2,%xmm7
51098  .byte  15,89,202                           // mulps         %xmm2,%xmm1
51099  .byte  15,41,77,152                        // movaps        %xmm1,-0x68(%ebp)
51100  .byte  15,40,231                           // movaps        %xmm7,%xmm4
51101  .byte  15,89,227                           // mulps         %xmm3,%xmm4
51102  .byte  15,40,209                           // movaps        %xmm1,%xmm2
51103  .byte  15,89,214                           // mulps         %xmm6,%xmm2
51104  .byte  15,88,212                           // addps         %xmm4,%xmm2
51105  .byte  15,40,136,106,117,0,0               // movaps        0x756a(%eax),%xmm1
51106  .byte  15,41,77,168                        // movaps        %xmm1,-0x58(%ebp)
51107  .byte  15,40,225                           // movaps        %xmm1,%xmm4
51108  .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
51109  .byte  15,92,227                           // subps         %xmm3,%xmm4
51110  .byte  15,89,196                           // mulps         %xmm4,%xmm0
51111  .byte  15,41,133,88,255,255,255            // movaps        %xmm0,-0xa8(%ebp)
51112  .byte  15,89,236                           // mulps         %xmm4,%xmm5
51113  .byte  15,41,173,120,255,255,255           // movaps        %xmm5,-0x88(%ebp)
51114  .byte  15,40,141,72,255,255,255            // movaps        -0xb8(%ebp),%xmm1
51115  .byte  15,89,225                           // mulps         %xmm1,%xmm4
51116  .byte  15,41,165,104,255,255,255           // movaps        %xmm4,-0x98(%ebp)
51117  .byte  15,89,203                           // mulps         %xmm3,%xmm1
51118  .byte  15,40,193                           // movaps        %xmm1,%xmm0
51119  .byte  15,40,181,56,255,255,255            // movaps        -0xc8(%ebp),%xmm6
51120  .byte  15,89,198                           // mulps         %xmm6,%xmm0
51121  .byte  15,88,194                           // addps         %xmm2,%xmm0
51122  .byte  15,40,101,136                       // movaps        -0x78(%ebp),%xmm4
51123  .byte  15,89,101,200                       // mulps         -0x38(%ebp),%xmm4
51124  .byte  15,92,224                           // subps         %xmm0,%xmm4
51125  .byte  15,88,252                           // addps         %xmm4,%xmm7
51126  .byte  15,40,109,152                       // movaps        -0x68(%ebp),%xmm5
51127  .byte  15,88,236                           // addps         %xmm4,%xmm5
51128  .byte  15,88,225                           // addps         %xmm1,%xmm4
51129  .byte  15,40,197                           // movaps        %xmm5,%xmm0
51130  .byte  15,93,196                           // minps         %xmm4,%xmm0
51131  .byte  15,40,207                           // movaps        %xmm7,%xmm1
51132  .byte  15,93,200                           // minps         %xmm0,%xmm1
51133  .byte  15,40,197                           // movaps        %xmm5,%xmm0
51134  .byte  15,95,196                           // maxps         %xmm4,%xmm0
51135  .byte  15,41,101,136                       // movaps        %xmm4,-0x78(%ebp)
51136  .byte  15,40,223                           // movaps        %xmm7,%xmm3
51137  .byte  15,95,248                           // maxps         %xmm0,%xmm7
51138  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
51139  .byte  15,89,195                           // mulps         %xmm3,%xmm0
51140  .byte  15,40,85,184                        // movaps        -0x48(%ebp),%xmm2
51141  .byte  15,89,213                           // mulps         %xmm5,%xmm2
51142  .byte  15,88,208                           // addps         %xmm0,%xmm2
51143  .byte  15,40,198                           // movaps        %xmm6,%xmm0
51144  .byte  15,89,196                           // mulps         %xmm4,%xmm0
51145  .byte  15,88,194                           // addps         %xmm2,%xmm0
51146  .byte  15,87,246                           // xorps         %xmm6,%xmm6
51147  .byte  15,194,241,2                        // cmpleps       %xmm1,%xmm6
51148  .byte  15,40,208                           // movaps        %xmm0,%xmm2
51149  .byte  15,92,209                           // subps         %xmm1,%xmm2
51150  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
51151  .byte  15,40,203                           // movaps        %xmm3,%xmm1
51152  .byte  15,92,200                           // subps         %xmm0,%xmm1
51153  .byte  15,89,200                           // mulps         %xmm0,%xmm1
51154  .byte  15,94,202                           // divps         %xmm2,%xmm1
51155  .byte  15,88,200                           // addps         %xmm0,%xmm1
51156  .byte  15,40,214                           // movaps        %xmm6,%xmm2
51157  .byte  15,85,209                           // andnps        %xmm1,%xmm2
51158  .byte  15,84,222                           // andps         %xmm6,%xmm3
51159  .byte  15,86,218                           // orps          %xmm2,%xmm3
51160  .byte  15,40,101,200                       // movaps        -0x38(%ebp),%xmm4
51161  .byte  15,40,204                           // movaps        %xmm4,%xmm1
51162  .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
51163  .byte  15,89,202                           // mulps         %xmm2,%xmm1
51164  .byte  15,40,85,168                        // movaps        -0x58(%ebp),%xmm2
51165  .byte  15,92,212                           // subps         %xmm4,%xmm2
51166  .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
51167  .byte  15,88,101,88                        // addps         0x58(%ebp),%xmm4
51168  .byte  15,92,225                           // subps         %xmm1,%xmm4
51169  .byte  15,41,101,200                       // movaps        %xmm4,-0x38(%ebp)
51170  .byte  15,40,209                           // movaps        %xmm1,%xmm2
51171  .byte  15,40,225                           // movaps        %xmm1,%xmm4
51172  .byte  15,194,231,1                        // cmpltps       %xmm7,%xmm4
51173  .byte  15,40,204                           // movaps        %xmm4,%xmm1
51174  .byte  15,85,203                           // andnps        %xmm3,%xmm1
51175  .byte  15,92,216                           // subps         %xmm0,%xmm3
51176  .byte  15,92,208                           // subps         %xmm0,%xmm2
51177  .byte  15,41,85,184                        // movaps        %xmm2,-0x48(%ebp)
51178  .byte  15,89,218                           // mulps         %xmm2,%xmm3
51179  .byte  15,92,248                           // subps         %xmm0,%xmm7
51180  .byte  15,94,223                           // divps         %xmm7,%xmm3
51181  .byte  15,88,216                           // addps         %xmm0,%xmm3
51182  .byte  15,84,220                           // andps         %xmm4,%xmm3
51183  .byte  15,86,217                           // orps          %xmm1,%xmm3
51184  .byte  15,40,205                           // movaps        %xmm5,%xmm1
51185  .byte  15,92,200                           // subps         %xmm0,%xmm1
51186  .byte  15,89,200                           // mulps         %xmm0,%xmm1
51187  .byte  15,94,77,216                        // divps         -0x28(%ebp),%xmm1
51188  .byte  15,88,200                           // addps         %xmm0,%xmm1
51189  .byte  15,40,214                           // movaps        %xmm6,%xmm2
51190  .byte  15,85,209                           // andnps        %xmm1,%xmm2
51191  .byte  15,84,238                           // andps         %xmm6,%xmm5
51192  .byte  15,86,234                           // orps          %xmm2,%xmm5
51193  .byte  15,40,204                           // movaps        %xmm4,%xmm1
51194  .byte  15,40,213                           // movaps        %xmm5,%xmm2
51195  .byte  15,85,202                           // andnps        %xmm2,%xmm1
51196  .byte  15,92,208                           // subps         %xmm0,%xmm2
51197  .byte  15,40,109,184                       // movaps        -0x48(%ebp),%xmm5
51198  .byte  15,89,213                           // mulps         %xmm5,%xmm2
51199  .byte  15,94,215                           // divps         %xmm7,%xmm2
51200  .byte  15,88,208                           // addps         %xmm0,%xmm2
51201  .byte  15,84,212                           // andps         %xmm4,%xmm2
51202  .byte  15,86,209                           // orps          %xmm1,%xmm2
51203  .byte  15,41,85,152                        // movaps        %xmm2,-0x68(%ebp)
51204  .byte  15,40,85,136                        // movaps        -0x78(%ebp),%xmm2
51205  .byte  15,40,202                           // movaps        %xmm2,%xmm1
51206  .byte  15,92,200                           // subps         %xmm0,%xmm1
51207  .byte  15,89,200                           // mulps         %xmm0,%xmm1
51208  .byte  15,94,77,216                        // divps         -0x28(%ebp),%xmm1
51209  .byte  15,88,200                           // addps         %xmm0,%xmm1
51210  .byte  15,84,214                           // andps         %xmm6,%xmm2
51211  .byte  15,85,241                           // andnps        %xmm1,%xmm6
51212  .byte  15,86,242                           // orps          %xmm2,%xmm6
51213  .byte  15,40,204                           // movaps        %xmm4,%xmm1
51214  .byte  15,85,206                           // andnps        %xmm6,%xmm1
51215  .byte  15,92,240                           // subps         %xmm0,%xmm6
51216  .byte  15,89,245                           // mulps         %xmm5,%xmm6
51217  .byte  15,94,247                           // divps         %xmm7,%xmm6
51218  .byte  15,88,240                           // addps         %xmm0,%xmm6
51219  .byte  15,84,244                           // andps         %xmm4,%xmm6
51220  .byte  15,86,241                           // orps          %xmm1,%xmm6
51221  .byte  15,87,192                           // xorps         %xmm0,%xmm0
51222  .byte  15,95,216                           // maxps         %xmm0,%xmm3
51223  .byte  15,40,101,152                       // movaps        -0x68(%ebp),%xmm4
51224  .byte  15,95,224                           // maxps         %xmm0,%xmm4
51225  .byte  15,95,240                           // maxps         %xmm0,%xmm6
51226  .byte  15,40,109,168                       // movaps        -0x58(%ebp),%xmm5
51227  .byte  15,40,197                           // movaps        %xmm5,%xmm0
51228  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
51229  .byte  15,89,199                           // mulps         %xmm7,%xmm0
51230  .byte  15,40,141,88,255,255,255            // movaps        -0xa8(%ebp),%xmm1
51231  .byte  15,88,200                           // addps         %xmm0,%xmm1
51232  .byte  15,88,203                           // addps         %xmm3,%xmm1
51233  .byte  15,40,193                           // movaps        %xmm1,%xmm0
51234  .byte  15,40,213                           // movaps        %xmm5,%xmm2
51235  .byte  15,40,93,56                         // movaps        0x38(%ebp),%xmm3
51236  .byte  15,89,211                           // mulps         %xmm3,%xmm2
51237  .byte  15,40,141,120,255,255,255           // movaps        -0x88(%ebp),%xmm1
51238  .byte  15,88,202                           // addps         %xmm2,%xmm1
51239  .byte  15,88,204                           // addps         %xmm4,%xmm1
51240  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
51241  .byte  15,40,226                           // movaps        %xmm2,%xmm4
51242  .byte  15,89,236                           // mulps         %xmm4,%xmm5
51243  .byte  15,88,173,104,255,255,255           // addps         -0x98(%ebp),%xmm5
51244  .byte  15,88,238                           // addps         %xmm6,%xmm5
51245  .byte  15,40,213                           // movaps        %xmm5,%xmm2
51246  .byte  139,69,8                            // mov           0x8(%ebp),%eax
51247  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
51248  .byte  139,85,20                           // mov           0x14(%ebp),%edx
51249  .byte  139,117,24                          // mov           0x18(%ebp),%esi
51250  .byte  139,125,12                          // mov           0xc(%ebp),%edi
51251  .byte  141,95,4                            // lea           0x4(%edi),%ebx
51252  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
51253  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
51254  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
51255  .byte  15,41,92,36,48                      // movaps        %xmm3,0x30(%esp)
51256  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
51257  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
51258  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
51259  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
51260  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51261  .byte  137,4,36                            // mov           %eax,(%esp)
51262  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
51263  .byte  255,23                              // call          *(%edi)
51264  .byte  129,196,28,1,0,0                    // add           $0x11c,%esp
51265  .byte  94                                  // pop           %esi
51266  .byte  95                                  // pop           %edi
51267  .byte  91                                  // pop           %ebx
51268  .byte  93                                  // pop           %ebp
51269  .byte  195                                 // ret
51270
51271HIDDEN _sk_luminosity_sse2
51272.globl _sk_luminosity_sse2
51273FUNCTION(_sk_luminosity_sse2)
51274_sk_luminosity_sse2:
51275  .byte  85                                  // push          %ebp
51276  .byte  137,229                             // mov           %esp,%ebp
51277  .byte  83                                  // push          %ebx
51278  .byte  87                                  // push          %edi
51279  .byte  86                                  // push          %esi
51280  .byte  129,236,252,0,0,0                   // sub           $0xfc,%esp
51281  .byte  15,40,243                           // movaps        %xmm3,%xmm6
51282  .byte  15,40,234                           // movaps        %xmm2,%xmm5
51283  .byte  15,40,216                           // movaps        %xmm0,%xmm3
51284  .byte  232,0,0,0,0                         // call          21f9 <_sk_luminosity_sse2+0x1a>
51285  .byte  88                                  // pop           %eax
51286  .byte  15,40,160,199,114,0,0               // movaps        0x72c7(%eax),%xmm4
51287  .byte  15,41,101,216                       // movaps        %xmm4,-0x28(%ebp)
51288  .byte  15,40,211                           // movaps        %xmm3,%xmm2
51289  .byte  15,89,212                           // mulps         %xmm4,%xmm2
51290  .byte  15,40,128,215,114,0,0               // movaps        0x72d7(%eax),%xmm0
51291  .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
51292  .byte  15,40,225                           // movaps        %xmm1,%xmm4
51293  .byte  15,89,224                           // mulps         %xmm0,%xmm4
51294  .byte  15,88,226                           // addps         %xmm2,%xmm4
51295  .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
51296  .byte  15,40,184,247,114,0,0               // movaps        0x72f7(%eax),%xmm7
51297  .byte  15,41,125,152                       // movaps        %xmm7,-0x68(%ebp)
51298  .byte  15,92,250                           // subps         %xmm2,%xmm7
51299  .byte  15,89,223                           // mulps         %xmm7,%xmm3
51300  .byte  15,41,157,88,255,255,255            // movaps        %xmm3,-0xa8(%ebp)
51301  .byte  15,89,207                           // mulps         %xmm7,%xmm1
51302  .byte  15,41,141,104,255,255,255           // movaps        %xmm1,-0x98(%ebp)
51303  .byte  15,89,253                           // mulps         %xmm5,%xmm7
51304  .byte  15,41,189,120,255,255,255           // movaps        %xmm7,-0x88(%ebp)
51305  .byte  15,40,205                           // movaps        %xmm5,%xmm1
51306  .byte  15,40,128,231,114,0,0               // movaps        0x72e7(%eax),%xmm0
51307  .byte  15,89,200                           // mulps         %xmm0,%xmm1
51308  .byte  15,88,204                           // addps         %xmm4,%xmm1
51309  .byte  15,40,238                           // movaps        %xmm6,%xmm5
51310  .byte  15,89,109,40                        // mulps         0x28(%ebp),%xmm5
51311  .byte  15,40,222                           // movaps        %xmm6,%xmm3
51312  .byte  15,41,117,168                       // movaps        %xmm6,-0x58(%ebp)
51313  .byte  15,89,93,56                         // mulps         0x38(%ebp),%xmm3
51314  .byte  15,40,229                           // movaps        %xmm5,%xmm4
51315  .byte  15,89,101,216                       // mulps         -0x28(%ebp),%xmm4
51316  .byte  15,40,211                           // movaps        %xmm3,%xmm2
51317  .byte  15,89,85,200                        // mulps         -0x38(%ebp),%xmm2
51318  .byte  15,88,212                           // addps         %xmm4,%xmm2
51319  .byte  15,89,117,72                        // mulps         0x48(%ebp),%xmm6
51320  .byte  15,40,230                           // movaps        %xmm6,%xmm4
51321  .byte  15,89,224                           // mulps         %xmm0,%xmm4
51322  .byte  15,88,226                           // addps         %xmm2,%xmm4
51323  .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
51324  .byte  15,89,202                           // mulps         %xmm2,%xmm1
51325  .byte  15,92,204                           // subps         %xmm4,%xmm1
51326  .byte  15,88,233                           // addps         %xmm1,%xmm5
51327  .byte  15,88,217                           // addps         %xmm1,%xmm3
51328  .byte  15,88,206                           // addps         %xmm6,%xmm1
51329  .byte  15,40,211                           // movaps        %xmm3,%xmm2
51330  .byte  15,93,209                           // minps         %xmm1,%xmm2
51331  .byte  15,40,229                           // movaps        %xmm5,%xmm4
51332  .byte  15,93,226                           // minps         %xmm2,%xmm4
51333  .byte  15,40,243                           // movaps        %xmm3,%xmm6
51334  .byte  15,95,241                           // maxps         %xmm1,%xmm6
51335  .byte  15,40,213                           // movaps        %xmm5,%xmm2
51336  .byte  15,95,214                           // maxps         %xmm6,%xmm2
51337  .byte  15,41,85,184                        // movaps        %xmm2,-0x48(%ebp)
51338  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
51339  .byte  15,89,213                           // mulps         %xmm5,%xmm2
51340  .byte  15,40,117,200                       // movaps        -0x38(%ebp),%xmm6
51341  .byte  15,89,243                           // mulps         %xmm3,%xmm6
51342  .byte  15,88,242                           // addps         %xmm2,%xmm6
51343  .byte  15,89,193                           // mulps         %xmm1,%xmm0
51344  .byte  15,88,198                           // addps         %xmm6,%xmm0
51345  .byte  15,87,255                           // xorps         %xmm7,%xmm7
51346  .byte  15,194,252,2                        // cmpleps       %xmm4,%xmm7
51347  .byte  15,40,208                           // movaps        %xmm0,%xmm2
51348  .byte  15,92,212                           // subps         %xmm4,%xmm2
51349  .byte  15,41,85,200                        // movaps        %xmm2,-0x38(%ebp)
51350  .byte  15,40,229                           // movaps        %xmm5,%xmm4
51351  .byte  15,92,224                           // subps         %xmm0,%xmm4
51352  .byte  15,89,224                           // mulps         %xmm0,%xmm4
51353  .byte  15,94,226                           // divps         %xmm2,%xmm4
51354  .byte  15,88,224                           // addps         %xmm0,%xmm4
51355  .byte  15,40,215                           // movaps        %xmm7,%xmm2
51356  .byte  15,85,212                           // andnps        %xmm4,%xmm2
51357  .byte  15,84,239                           // andps         %xmm7,%xmm5
51358  .byte  15,86,234                           // orps          %xmm2,%xmm5
51359  .byte  15,40,101,168                       // movaps        -0x58(%ebp),%xmm4
51360  .byte  15,40,212                           // movaps        %xmm4,%xmm2
51361  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
51362  .byte  15,89,214                           // mulps         %xmm6,%xmm2
51363  .byte  15,40,117,152                       // movaps        -0x68(%ebp),%xmm6
51364  .byte  15,92,244                           // subps         %xmm4,%xmm6
51365  .byte  15,41,117,152                       // movaps        %xmm6,-0x68(%ebp)
51366  .byte  15,88,101,88                        // addps         0x58(%ebp),%xmm4
51367  .byte  15,92,226                           // subps         %xmm2,%xmm4
51368  .byte  15,41,101,168                       // movaps        %xmm4,-0x58(%ebp)
51369  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
51370  .byte  15,40,117,184                       // movaps        -0x48(%ebp),%xmm6
51371  .byte  15,194,214,1                        // cmpltps       %xmm6,%xmm2
51372  .byte  15,40,226                           // movaps        %xmm2,%xmm4
51373  .byte  15,85,229                           // andnps        %xmm5,%xmm4
51374  .byte  15,41,101,136                       // movaps        %xmm4,-0x78(%ebp)
51375  .byte  15,92,232                           // subps         %xmm0,%xmm5
51376  .byte  15,40,101,216                       // movaps        -0x28(%ebp),%xmm4
51377  .byte  15,92,224                           // subps         %xmm0,%xmm4
51378  .byte  15,41,101,216                       // movaps        %xmm4,-0x28(%ebp)
51379  .byte  15,89,236                           // mulps         %xmm4,%xmm5
51380  .byte  15,92,240                           // subps         %xmm0,%xmm6
51381  .byte  15,41,117,184                       // movaps        %xmm6,-0x48(%ebp)
51382  .byte  15,94,238                           // divps         %xmm6,%xmm5
51383  .byte  15,88,232                           // addps         %xmm0,%xmm5
51384  .byte  15,84,234                           // andps         %xmm2,%xmm5
51385  .byte  15,86,109,136                       // orps          -0x78(%ebp),%xmm5
51386  .byte  15,40,227                           // movaps        %xmm3,%xmm4
51387  .byte  15,92,224                           // subps         %xmm0,%xmm4
51388  .byte  15,89,224                           // mulps         %xmm0,%xmm4
51389  .byte  15,94,101,200                       // divps         -0x38(%ebp),%xmm4
51390  .byte  15,88,224                           // addps         %xmm0,%xmm4
51391  .byte  15,40,247                           // movaps        %xmm7,%xmm6
51392  .byte  15,85,244                           // andnps        %xmm4,%xmm6
51393  .byte  15,84,223                           // andps         %xmm7,%xmm3
51394  .byte  15,86,222                           // orps          %xmm6,%xmm3
51395  .byte  15,40,226                           // movaps        %xmm2,%xmm4
51396  .byte  15,85,227                           // andnps        %xmm3,%xmm4
51397  .byte  15,92,216                           // subps         %xmm0,%xmm3
51398  .byte  15,40,117,216                       // movaps        -0x28(%ebp),%xmm6
51399  .byte  15,89,222                           // mulps         %xmm6,%xmm3
51400  .byte  15,94,93,184                        // divps         -0x48(%ebp),%xmm3
51401  .byte  15,88,216                           // addps         %xmm0,%xmm3
51402  .byte  15,84,218                           // andps         %xmm2,%xmm3
51403  .byte  15,86,220                           // orps          %xmm4,%xmm3
51404  .byte  15,40,225                           // movaps        %xmm1,%xmm4
51405  .byte  15,92,224                           // subps         %xmm0,%xmm4
51406  .byte  15,89,224                           // mulps         %xmm0,%xmm4
51407  .byte  15,94,101,200                       // divps         -0x38(%ebp),%xmm4
51408  .byte  15,88,224                           // addps         %xmm0,%xmm4
51409  .byte  15,84,207                           // andps         %xmm7,%xmm1
51410  .byte  15,85,252                           // andnps        %xmm4,%xmm7
51411  .byte  15,86,249                           // orps          %xmm1,%xmm7
51412  .byte  15,40,202                           // movaps        %xmm2,%xmm1
51413  .byte  15,85,207                           // andnps        %xmm7,%xmm1
51414  .byte  15,92,248                           // subps         %xmm0,%xmm7
51415  .byte  15,89,254                           // mulps         %xmm6,%xmm7
51416  .byte  15,94,125,184                       // divps         -0x48(%ebp),%xmm7
51417  .byte  15,88,248                           // addps         %xmm0,%xmm7
51418  .byte  15,84,250                           // andps         %xmm2,%xmm7
51419  .byte  15,86,249                           // orps          %xmm1,%xmm7
51420  .byte  15,87,192                           // xorps         %xmm0,%xmm0
51421  .byte  15,95,232                           // maxps         %xmm0,%xmm5
51422  .byte  15,95,216                           // maxps         %xmm0,%xmm3
51423  .byte  15,95,248                           // maxps         %xmm0,%xmm7
51424  .byte  15,40,101,152                       // movaps        -0x68(%ebp),%xmm4
51425  .byte  15,40,196                           // movaps        %xmm4,%xmm0
51426  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
51427  .byte  15,89,198                           // mulps         %xmm6,%xmm0
51428  .byte  15,40,141,88,255,255,255            // movaps        -0xa8(%ebp),%xmm1
51429  .byte  15,88,200                           // addps         %xmm0,%xmm1
51430  .byte  15,88,205                           // addps         %xmm5,%xmm1
51431  .byte  15,40,193                           // movaps        %xmm1,%xmm0
51432  .byte  15,40,212                           // movaps        %xmm4,%xmm2
51433  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
51434  .byte  15,89,213                           // mulps         %xmm5,%xmm2
51435  .byte  15,40,141,104,255,255,255           // movaps        -0x98(%ebp),%xmm1
51436  .byte  15,88,202                           // addps         %xmm2,%xmm1
51437  .byte  15,88,203                           // addps         %xmm3,%xmm1
51438  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
51439  .byte  15,89,227                           // mulps         %xmm3,%xmm4
51440  .byte  15,88,165,120,255,255,255           // addps         -0x88(%ebp),%xmm4
51441  .byte  15,88,231                           // addps         %xmm7,%xmm4
51442  .byte  15,40,212                           // movaps        %xmm4,%xmm2
51443  .byte  139,69,8                            // mov           0x8(%ebp),%eax
51444  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
51445  .byte  139,85,20                           // mov           0x14(%ebp),%edx
51446  .byte  139,117,24                          // mov           0x18(%ebp),%esi
51447  .byte  139,125,12                          // mov           0xc(%ebp),%edi
51448  .byte  141,95,4                            // lea           0x4(%edi),%ebx
51449  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
51450  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
51451  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
51452  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
51453  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
51454  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
51455  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
51456  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
51457  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51458  .byte  137,4,36                            // mov           %eax,(%esp)
51459  .byte  15,40,93,168                        // movaps        -0x58(%ebp),%xmm3
51460  .byte  255,23                              // call          *(%edi)
51461  .byte  129,196,252,0,0,0                   // add           $0xfc,%esp
51462  .byte  94                                  // pop           %esi
51463  .byte  95                                  // pop           %edi
51464  .byte  91                                  // pop           %ebx
51465  .byte  93                                  // pop           %ebp
51466  .byte  195                                 // ret
51467
51468HIDDEN _sk_srcover_rgba_8888_sse2
51469.globl _sk_srcover_rgba_8888_sse2
51470FUNCTION(_sk_srcover_rgba_8888_sse2)
51471_sk_srcover_rgba_8888_sse2:
51472  .byte  85                                  // push          %ebp
51473  .byte  137,229                             // mov           %esp,%ebp
51474  .byte  83                                  // push          %ebx
51475  .byte  87                                  // push          %edi
51476  .byte  86                                  // push          %esi
51477  .byte  129,236,172,0,0,0                   // sub           $0xac,%esp
51478  .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
51479  .byte  102,15,127,77,184                   // movdqa        %xmm1,-0x48(%ebp)
51480  .byte  102,15,127,69,200                   // movdqa        %xmm0,-0x38(%ebp)
51481  .byte  232,0,0,0,0                         // call          248d <_sk_srcover_rgba_8888_sse2+0x1f>
51482  .byte  95                                  // pop           %edi
51483  .byte  139,85,24                           // mov           0x18(%ebp),%edx
51484  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
51485  .byte  139,69,12                           // mov           0xc(%ebp),%eax
51486  .byte  139,48                              // mov           (%eax),%esi
51487  .byte  139,54                              // mov           (%esi),%esi
51488  .byte  133,210                             // test          %edx,%edx
51489  .byte  15,133,40,1,0,0                     // jne           25cb <_sk_srcover_rgba_8888_sse2+0x15d>
51490  .byte  243,15,111,12,142                   // movdqu        (%esi,%ecx,4),%xmm1
51491  .byte  102,15,111,135,115,112,0,0          // movdqa        0x7073(%edi),%xmm0
51492  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
51493  .byte  102,15,219,224                      // pand          %xmm0,%xmm4
51494  .byte  102,15,111,249                      // movdqa        %xmm1,%xmm7
51495  .byte  102,15,114,215,8                    // psrld         $0x8,%xmm7
51496  .byte  102,15,219,248                      // pand          %xmm0,%xmm7
51497  .byte  102,15,111,233                      // movdqa        %xmm1,%xmm5
51498  .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
51499  .byte  102,15,219,232                      // pand          %xmm0,%xmm5
51500  .byte  15,91,244                           // cvtdq2ps      %xmm4,%xmm6
51501  .byte  15,40,167,131,112,0,0               // movaps        0x7083(%edi),%xmm4
51502  .byte  15,92,227                           // subps         %xmm3,%xmm4
51503  .byte  15,40,135,147,112,0,0               // movaps        0x7093(%edi),%xmm0
51504  .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
51505  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
51506  .byte  15,89,208                           // mulps         %xmm0,%xmm2
51507  .byte  15,40,196                           // movaps        %xmm4,%xmm0
51508  .byte  15,41,117,200                       // movaps        %xmm6,-0x38(%ebp)
51509  .byte  15,89,198                           // mulps         %xmm6,%xmm0
51510  .byte  15,88,194                           // addps         %xmm2,%xmm0
51511  .byte  15,91,215                           // cvtdq2ps      %xmm7,%xmm2
51512  .byte  15,40,125,184                       // movaps        -0x48(%ebp),%xmm7
51513  .byte  15,89,125,216                       // mulps         -0x28(%ebp),%xmm7
51514  .byte  15,40,244                           // movaps        %xmm4,%xmm6
51515  .byte  15,41,85,184                        // movaps        %xmm2,-0x48(%ebp)
51516  .byte  15,89,242                           // mulps         %xmm2,%xmm6
51517  .byte  15,88,247                           // addps         %xmm7,%xmm6
51518  .byte  15,91,213                           // cvtdq2ps      %xmm5,%xmm2
51519  .byte  15,40,109,168                       // movaps        -0x58(%ebp),%xmm5
51520  .byte  15,89,109,216                       // mulps         -0x28(%ebp),%xmm5
51521  .byte  15,40,252                           // movaps        %xmm4,%xmm7
51522  .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
51523  .byte  15,89,250                           // mulps         %xmm2,%xmm7
51524  .byte  15,88,253                           // addps         %xmm5,%xmm7
51525  .byte  15,89,93,216                        // mulps         -0x28(%ebp),%xmm3
51526  .byte  102,15,114,209,24                   // psrld         $0x18,%xmm1
51527  .byte  15,91,209                           // cvtdq2ps      %xmm1,%xmm2
51528  .byte  15,89,226                           // mulps         %xmm2,%xmm4
51529  .byte  15,88,227                           // addps         %xmm3,%xmm4
51530  .byte  102,15,91,206                       // cvtps2dq      %xmm6,%xmm1
51531  .byte  102,15,114,241,8                    // pslld         $0x8,%xmm1
51532  .byte  102,15,91,216                       // cvtps2dq      %xmm0,%xmm3
51533  .byte  102,15,235,203                      // por           %xmm3,%xmm1
51534  .byte  102,15,91,239                       // cvtps2dq      %xmm7,%xmm5
51535  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
51536  .byte  102,15,91,220                       // cvtps2dq      %xmm4,%xmm3
51537  .byte  102,15,114,243,24                   // pslld         $0x18,%xmm3
51538  .byte  102,15,235,221                      // por           %xmm5,%xmm3
51539  .byte  102,15,235,217                      // por           %xmm1,%xmm3
51540  .byte  139,93,20                           // mov           0x14(%ebp),%ebx
51541  .byte  139,125,8                           // mov           0x8(%ebp),%edi
51542  .byte  133,210                             // test          %edx,%edx
51543  .byte  15,133,131,0,0,0                    // jne           25fc <_sk_srcover_rgba_8888_sse2+0x18e>
51544  .byte  243,15,127,28,142                   // movdqu        %xmm3,(%esi,%ecx,4)
51545  .byte  141,112,8                           // lea           0x8(%eax),%esi
51546  .byte  15,41,84,36,80                      // movaps        %xmm2,0x50(%esp)
51547  .byte  15,40,77,168                        // movaps        -0x58(%ebp),%xmm1
51548  .byte  15,41,76,36,64                      // movaps        %xmm1,0x40(%esp)
51549  .byte  15,40,77,184                        // movaps        -0x48(%ebp),%xmm1
51550  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
51551  .byte  15,40,77,200                        // movaps        -0x38(%ebp),%xmm1
51552  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
51553  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
51554  .byte  137,92,36,12                        // mov           %ebx,0xc(%esp)
51555  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
51556  .byte  137,116,36,4                        // mov           %esi,0x4(%esp)
51557  .byte  137,60,36                           // mov           %edi,(%esp)
51558  .byte  15,40,206                           // movaps        %xmm6,%xmm1
51559  .byte  15,40,215                           // movaps        %xmm7,%xmm2
51560  .byte  15,40,220                           // movaps        %xmm4,%xmm3
51561  .byte  255,80,4                            // call          *0x4(%eax)
51562  .byte  129,196,172,0,0,0                   // add           $0xac,%esp
51563  .byte  94                                  // pop           %esi
51564  .byte  95                                  // pop           %edi
51565  .byte  91                                  // pop           %ebx
51566  .byte  93                                  // pop           %ebp
51567  .byte  195                                 // ret
51568  .byte  137,211                             // mov           %edx,%ebx
51569  .byte  128,227,3                           // and           $0x3,%bl
51570  .byte  128,251,1                           // cmp           $0x1,%bl
51571  .byte  116,94                              // je            2633 <_sk_srcover_rgba_8888_sse2+0x1c5>
51572  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
51573  .byte  128,251,2                           // cmp           $0x2,%bl
51574  .byte  116,20                              // je            25f2 <_sk_srcover_rgba_8888_sse2+0x184>
51575  .byte  128,251,3                           // cmp           $0x3,%bl
51576  .byte  15,133,193,254,255,255              // jne           24a8 <_sk_srcover_rgba_8888_sse2+0x3a>
51577  .byte  102,15,110,68,142,8                 // movd          0x8(%esi,%ecx,4),%xmm0
51578  .byte  102,15,112,200,69                   // pshufd        $0x45,%xmm0,%xmm1
51579  .byte  102,15,18,12,142                    // movlpd        (%esi,%ecx,4),%xmm1
51580  .byte  233,172,254,255,255                 // jmp           24a8 <_sk_srcover_rgba_8888_sse2+0x3a>
51581  .byte  137,208                             // mov           %edx,%eax
51582  .byte  136,69,216                          // mov           %al,-0x28(%ebp)
51583  .byte  128,101,216,3                       // andb          $0x3,-0x28(%ebp)
51584  .byte  128,125,216,1                       // cmpb          $0x1,-0x28(%ebp)
51585  .byte  116,50                              // je            263d <_sk_srcover_rgba_8888_sse2+0x1cf>
51586  .byte  128,125,216,2                       // cmpb          $0x2,-0x28(%ebp)
51587  .byte  139,69,12                           // mov           0xc(%ebp),%eax
51588  .byte  116,21                              // je            2629 <_sk_srcover_rgba_8888_sse2+0x1bb>
51589  .byte  128,125,216,3                       // cmpb          $0x3,-0x28(%ebp)
51590  .byte  15,133,96,255,255,255               // jne           257e <_sk_srcover_rgba_8888_sse2+0x110>
51591  .byte  102,15,112,203,78                   // pshufd        $0x4e,%xmm3,%xmm1
51592  .byte  102,15,126,76,142,8                 // movd          %xmm1,0x8(%esi,%ecx,4)
51593  .byte  102,15,214,28,142                   // movq          %xmm3,(%esi,%ecx,4)
51594  .byte  233,75,255,255,255                  // jmp           257e <_sk_srcover_rgba_8888_sse2+0x110>
51595  .byte  102,15,110,12,142                   // movd          (%esi,%ecx,4),%xmm1
51596  .byte  233,107,254,255,255                 // jmp           24a8 <_sk_srcover_rgba_8888_sse2+0x3a>
51597  .byte  102,15,126,28,142                   // movd          %xmm3,(%esi,%ecx,4)
51598  .byte  139,69,12                           // mov           0xc(%ebp),%eax
51599  .byte  233,52,255,255,255                  // jmp           257e <_sk_srcover_rgba_8888_sse2+0x110>
51600
51601HIDDEN _sk_clamp_0_sse2
51602.globl _sk_clamp_0_sse2
51603FUNCTION(_sk_clamp_0_sse2)
51604_sk_clamp_0_sse2:
51605  .byte  85                                  // push          %ebp
51606  .byte  137,229                             // mov           %esp,%ebp
51607  .byte  83                                  // push          %ebx
51608  .byte  87                                  // push          %edi
51609  .byte  86                                  // push          %esi
51610  .byte  131,236,108                         // sub           $0x6c,%esp
51611  .byte  139,69,8                            // mov           0x8(%ebp),%eax
51612  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
51613  .byte  139,85,20                           // mov           0x14(%ebp),%edx
51614  .byte  139,117,24                          // mov           0x18(%ebp),%esi
51615  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
51616  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
51617  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
51618  .byte  15,87,255                           // xorps         %xmm7,%xmm7
51619  .byte  15,95,199                           // maxps         %xmm7,%xmm0
51620  .byte  15,95,207                           // maxps         %xmm7,%xmm1
51621  .byte  15,95,215                           // maxps         %xmm7,%xmm2
51622  .byte  15,95,223                           // maxps         %xmm7,%xmm3
51623  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
51624  .byte  139,125,12                          // mov           0xc(%ebp),%edi
51625  .byte  141,95,4                            // lea           0x4(%edi),%ebx
51626  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
51627  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
51628  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
51629  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
51630  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
51631  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
51632  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
51633  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51634  .byte  137,4,36                            // mov           %eax,(%esp)
51635  .byte  255,23                              // call          *(%edi)
51636  .byte  131,196,108                         // add           $0x6c,%esp
51637  .byte  94                                  // pop           %esi
51638  .byte  95                                  // pop           %edi
51639  .byte  91                                  // pop           %ebx
51640  .byte  93                                  // pop           %ebp
51641  .byte  195                                 // ret
51642
51643HIDDEN _sk_clamp_1_sse2
51644.globl _sk_clamp_1_sse2
51645FUNCTION(_sk_clamp_1_sse2)
51646_sk_clamp_1_sse2:
51647  .byte  85                                  // push          %ebp
51648  .byte  137,229                             // mov           %esp,%ebp
51649  .byte  83                                  // push          %ebx
51650  .byte  87                                  // push          %edi
51651  .byte  86                                  // push          %esi
51652  .byte  131,236,108                         // sub           $0x6c,%esp
51653  .byte  232,0,0,0,0                         // call          26c3 <_sk_clamp_1_sse2+0xe>
51654  .byte  88                                  // pop           %eax
51655  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
51656  .byte  139,85,16                           // mov           0x10(%ebp),%edx
51657  .byte  139,117,20                          // mov           0x14(%ebp),%esi
51658  .byte  139,125,24                          // mov           0x18(%ebp),%edi
51659  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
51660  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
51661  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
51662  .byte  15,40,184,109,110,0,0               // movaps        0x6e6d(%eax),%xmm7
51663  .byte  15,93,199                           // minps         %xmm7,%xmm0
51664  .byte  15,93,207                           // minps         %xmm7,%xmm1
51665  .byte  15,93,215                           // minps         %xmm7,%xmm2
51666  .byte  15,93,223                           // minps         %xmm7,%xmm3
51667  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
51668  .byte  139,69,12                           // mov           0xc(%ebp),%eax
51669  .byte  141,88,4                            // lea           0x4(%eax),%ebx
51670  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
51671  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
51672  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
51673  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
51674  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
51675  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
51676  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
51677  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51678  .byte  137,12,36                           // mov           %ecx,(%esp)
51679  .byte  255,16                              // call          *(%eax)
51680  .byte  131,196,108                         // add           $0x6c,%esp
51681  .byte  94                                  // pop           %esi
51682  .byte  95                                  // pop           %edi
51683  .byte  91                                  // pop           %ebx
51684  .byte  93                                  // pop           %ebp
51685  .byte  195                                 // ret
51686
51687HIDDEN _sk_clamp_a_sse2
51688.globl _sk_clamp_a_sse2
51689FUNCTION(_sk_clamp_a_sse2)
51690_sk_clamp_a_sse2:
51691  .byte  85                                  // push          %ebp
51692  .byte  137,229                             // mov           %esp,%ebp
51693  .byte  83                                  // push          %ebx
51694  .byte  87                                  // push          %edi
51695  .byte  86                                  // push          %esi
51696  .byte  131,236,108                         // sub           $0x6c,%esp
51697  .byte  232,0,0,0,0                         // call          2738 <_sk_clamp_a_sse2+0xe>
51698  .byte  88                                  // pop           %eax
51699  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
51700  .byte  139,85,16                           // mov           0x10(%ebp),%edx
51701  .byte  139,117,20                          // mov           0x14(%ebp),%esi
51702  .byte  139,125,24                          // mov           0x18(%ebp),%edi
51703  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
51704  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
51705  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
51706  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
51707  .byte  15,93,152,8,110,0,0                 // minps         0x6e08(%eax),%xmm3
51708  .byte  139,69,12                           // mov           0xc(%ebp),%eax
51709  .byte  15,93,195                           // minps         %xmm3,%xmm0
51710  .byte  15,93,203                           // minps         %xmm3,%xmm1
51711  .byte  15,93,211                           // minps         %xmm3,%xmm2
51712  .byte  141,88,4                            // lea           0x4(%eax),%ebx
51713  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
51714  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
51715  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
51716  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
51717  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
51718  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
51719  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
51720  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51721  .byte  137,12,36                           // mov           %ecx,(%esp)
51722  .byte  255,16                              // call          *(%eax)
51723  .byte  131,196,108                         // add           $0x6c,%esp
51724  .byte  94                                  // pop           %esi
51725  .byte  95                                  // pop           %edi
51726  .byte  91                                  // pop           %ebx
51727  .byte  93                                  // pop           %ebp
51728  .byte  195                                 // ret
51729
51730HIDDEN _sk_clamp_a_dst_sse2
51731.globl _sk_clamp_a_dst_sse2
51732FUNCTION(_sk_clamp_a_dst_sse2)
51733_sk_clamp_a_dst_sse2:
51734  .byte  85                                  // push          %ebp
51735  .byte  137,229                             // mov           %esp,%ebp
51736  .byte  83                                  // push          %ebx
51737  .byte  87                                  // push          %edi
51738  .byte  86                                  // push          %esi
51739  .byte  131,236,108                         // sub           $0x6c,%esp
51740  .byte  232,0,0,0,0                         // call          27aa <_sk_clamp_a_dst_sse2+0xe>
51741  .byte  88                                  // pop           %eax
51742  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
51743  .byte  139,85,16                           // mov           0x10(%ebp),%edx
51744  .byte  139,117,20                          // mov           0x14(%ebp),%esi
51745  .byte  139,125,24                          // mov           0x18(%ebp),%edi
51746  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
51747  .byte  15,93,160,166,109,0,0               // minps         0x6da6(%eax),%xmm4
51748  .byte  139,69,12                           // mov           0xc(%ebp),%eax
51749  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
51750  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
51751  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
51752  .byte  15,93,252                           // minps         %xmm4,%xmm7
51753  .byte  15,93,244                           // minps         %xmm4,%xmm6
51754  .byte  15,93,236                           // minps         %xmm4,%xmm5
51755  .byte  141,88,4                            // lea           0x4(%eax),%ebx
51756  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
51757  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
51758  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
51759  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
51760  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51761  .byte  137,12,36                           // mov           %ecx,(%esp)
51762  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
51763  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
51764  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
51765  .byte  255,16                              // call          *(%eax)
51766  .byte  131,196,108                         // add           $0x6c,%esp
51767  .byte  94                                  // pop           %esi
51768  .byte  95                                  // pop           %edi
51769  .byte  91                                  // pop           %ebx
51770  .byte  93                                  // pop           %ebp
51771  .byte  195                                 // ret
51772
51773HIDDEN _sk_set_rgb_sse2
51774.globl _sk_set_rgb_sse2
51775FUNCTION(_sk_set_rgb_sse2)
51776_sk_set_rgb_sse2:
51777  .byte  85                                  // push          %ebp
51778  .byte  137,229                             // mov           %esp,%ebp
51779  .byte  83                                  // push          %ebx
51780  .byte  87                                  // push          %edi
51781  .byte  86                                  // push          %esi
51782  .byte  131,236,108                         // sub           $0x6c,%esp
51783  .byte  139,69,8                            // mov           0x8(%ebp),%eax
51784  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
51785  .byte  139,85,20                           // mov           0x14(%ebp),%edx
51786  .byte  139,117,12                          // mov           0xc(%ebp),%esi
51787  .byte  139,62                              // mov           (%esi),%edi
51788  .byte  243,15,16,7                         // movss         (%edi),%xmm0
51789  .byte  243,15,16,79,4                      // movss         0x4(%edi),%xmm1
51790  .byte  243,15,16,87,8                      // movss         0x8(%edi),%xmm2
51791  .byte  139,125,24                          // mov           0x18(%ebp),%edi
51792  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
51793  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
51794  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
51795  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
51796  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
51797  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
51798  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
51799  .byte  141,94,8                            // lea           0x8(%esi),%ebx
51800  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
51801  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
51802  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
51803  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
51804  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
51805  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
51806  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
51807  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51808  .byte  137,4,36                            // mov           %eax,(%esp)
51809  .byte  255,86,4                            // call          *0x4(%esi)
51810  .byte  131,196,108                         // add           $0x6c,%esp
51811  .byte  94                                  // pop           %esi
51812  .byte  95                                  // pop           %edi
51813  .byte  91                                  // pop           %ebx
51814  .byte  93                                  // pop           %ebp
51815  .byte  195                                 // ret
51816
51817HIDDEN _sk_swap_rb_sse2
51818.globl _sk_swap_rb_sse2
51819FUNCTION(_sk_swap_rb_sse2)
51820_sk_swap_rb_sse2:
51821  .byte  85                                  // push          %ebp
51822  .byte  137,229                             // mov           %esp,%ebp
51823  .byte  83                                  // push          %ebx
51824  .byte  87                                  // push          %edi
51825  .byte  86                                  // push          %esi
51826  .byte  131,236,108                         // sub           $0x6c,%esp
51827  .byte  15,40,224                           // movaps        %xmm0,%xmm4
51828  .byte  139,69,8                            // mov           0x8(%ebp),%eax
51829  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
51830  .byte  139,85,20                           // mov           0x14(%ebp),%edx
51831  .byte  139,117,24                          // mov           0x18(%ebp),%esi
51832  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
51833  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
51834  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
51835  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
51836  .byte  139,125,12                          // mov           0xc(%ebp),%edi
51837  .byte  141,95,4                            // lea           0x4(%edi),%ebx
51838  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
51839  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
51840  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
51841  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
51842  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
51843  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
51844  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
51845  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51846  .byte  137,4,36                            // mov           %eax,(%esp)
51847  .byte  15,40,194                           // movaps        %xmm2,%xmm0
51848  .byte  15,40,212                           // movaps        %xmm4,%xmm2
51849  .byte  255,23                              // call          *(%edi)
51850  .byte  131,196,108                         // add           $0x6c,%esp
51851  .byte  94                                  // pop           %esi
51852  .byte  95                                  // pop           %edi
51853  .byte  91                                  // pop           %ebx
51854  .byte  93                                  // pop           %ebp
51855  .byte  195                                 // ret
51856
51857HIDDEN _sk_move_src_dst_sse2
51858.globl _sk_move_src_dst_sse2
51859FUNCTION(_sk_move_src_dst_sse2)
51860_sk_move_src_dst_sse2:
51861  .byte  85                                  // push          %ebp
51862  .byte  137,229                             // mov           %esp,%ebp
51863  .byte  83                                  // push          %ebx
51864  .byte  87                                  // push          %edi
51865  .byte  86                                  // push          %esi
51866  .byte  131,236,108                         // sub           $0x6c,%esp
51867  .byte  139,69,8                            // mov           0x8(%ebp),%eax
51868  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
51869  .byte  139,85,20                           // mov           0x14(%ebp),%edx
51870  .byte  139,117,24                          // mov           0x18(%ebp),%esi
51871  .byte  139,125,12                          // mov           0xc(%ebp),%edi
51872  .byte  141,95,4                            // lea           0x4(%edi),%ebx
51873  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
51874  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
51875  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
51876  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
51877  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
51878  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
51879  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
51880  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51881  .byte  137,4,36                            // mov           %eax,(%esp)
51882  .byte  255,23                              // call          *(%edi)
51883  .byte  131,196,108                         // add           $0x6c,%esp
51884  .byte  94                                  // pop           %esi
51885  .byte  95                                  // pop           %edi
51886  .byte  91                                  // pop           %ebx
51887  .byte  93                                  // pop           %ebp
51888  .byte  195                                 // ret
51889
51890HIDDEN _sk_move_dst_src_sse2
51891.globl _sk_move_dst_src_sse2
51892FUNCTION(_sk_move_dst_src_sse2)
51893_sk_move_dst_src_sse2:
51894  .byte  85                                  // push          %ebp
51895  .byte  137,229                             // mov           %esp,%ebp
51896  .byte  83                                  // push          %ebx
51897  .byte  87                                  // push          %edi
51898  .byte  86                                  // push          %esi
51899  .byte  131,236,108                         // sub           $0x6c,%esp
51900  .byte  139,69,8                            // mov           0x8(%ebp),%eax
51901  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
51902  .byte  139,85,20                           // mov           0x14(%ebp),%edx
51903  .byte  139,117,24                          // mov           0x18(%ebp),%esi
51904  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
51905  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
51906  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
51907  .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
51908  .byte  139,125,12                          // mov           0xc(%ebp),%edi
51909  .byte  141,95,4                            // lea           0x4(%edi),%ebx
51910  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
51911  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
51912  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
51913  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
51914  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
51915  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
51916  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
51917  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51918  .byte  137,4,36                            // mov           %eax,(%esp)
51919  .byte  255,23                              // call          *(%edi)
51920  .byte  131,196,108                         // add           $0x6c,%esp
51921  .byte  94                                  // pop           %esi
51922  .byte  95                                  // pop           %edi
51923  .byte  91                                  // pop           %ebx
51924  .byte  93                                  // pop           %ebp
51925  .byte  195                                 // ret
51926
51927HIDDEN _sk_premul_sse2
51928.globl _sk_premul_sse2
51929FUNCTION(_sk_premul_sse2)
51930_sk_premul_sse2:
51931  .byte  85                                  // push          %ebp
51932  .byte  137,229                             // mov           %esp,%ebp
51933  .byte  83                                  // push          %ebx
51934  .byte  87                                  // push          %edi
51935  .byte  86                                  // push          %esi
51936  .byte  131,236,108                         // sub           $0x6c,%esp
51937  .byte  139,69,8                            // mov           0x8(%ebp),%eax
51938  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
51939  .byte  139,85,20                           // mov           0x14(%ebp),%edx
51940  .byte  139,117,24                          // mov           0x18(%ebp),%esi
51941  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
51942  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
51943  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
51944  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
51945  .byte  139,125,12                          // mov           0xc(%ebp),%edi
51946  .byte  15,89,195                           // mulps         %xmm3,%xmm0
51947  .byte  15,89,203                           // mulps         %xmm3,%xmm1
51948  .byte  15,89,211                           // mulps         %xmm3,%xmm2
51949  .byte  141,95,4                            // lea           0x4(%edi),%ebx
51950  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
51951  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
51952  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
51953  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
51954  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
51955  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
51956  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
51957  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51958  .byte  137,4,36                            // mov           %eax,(%esp)
51959  .byte  255,23                              // call          *(%edi)
51960  .byte  131,196,108                         // add           $0x6c,%esp
51961  .byte  94                                  // pop           %esi
51962  .byte  95                                  // pop           %edi
51963  .byte  91                                  // pop           %ebx
51964  .byte  93                                  // pop           %ebp
51965  .byte  195                                 // ret
51966
51967HIDDEN _sk_premul_dst_sse2
51968.globl _sk_premul_dst_sse2
51969FUNCTION(_sk_premul_dst_sse2)
51970_sk_premul_dst_sse2:
51971  .byte  85                                  // push          %ebp
51972  .byte  137,229                             // mov           %esp,%ebp
51973  .byte  83                                  // push          %ebx
51974  .byte  87                                  // push          %edi
51975  .byte  86                                  // push          %esi
51976  .byte  131,236,108                         // sub           $0x6c,%esp
51977  .byte  139,69,8                            // mov           0x8(%ebp),%eax
51978  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
51979  .byte  139,85,20                           // mov           0x14(%ebp),%edx
51980  .byte  139,117,24                          // mov           0x18(%ebp),%esi
51981  .byte  139,125,12                          // mov           0xc(%ebp),%edi
51982  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
51983  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
51984  .byte  15,89,236                           // mulps         %xmm4,%xmm5
51985  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
51986  .byte  15,89,244                           // mulps         %xmm4,%xmm6
51987  .byte  141,95,4                            // lea           0x4(%edi),%ebx
51988  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
51989  .byte  15,89,101,72                        // mulps         0x48(%ebp),%xmm4
51990  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
51991  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
51992  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
51993  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
51994  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
51995  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
51996  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
51997  .byte  137,4,36                            // mov           %eax,(%esp)
51998  .byte  255,23                              // call          *(%edi)
51999  .byte  131,196,108                         // add           $0x6c,%esp
52000  .byte  94                                  // pop           %esi
52001  .byte  95                                  // pop           %edi
52002  .byte  91                                  // pop           %ebx
52003  .byte  93                                  // pop           %ebp
52004  .byte  195                                 // ret
52005
52006HIDDEN _sk_unpremul_sse2
52007.globl _sk_unpremul_sse2
52008FUNCTION(_sk_unpremul_sse2)
52009_sk_unpremul_sse2:
52010  .byte  85                                  // push          %ebp
52011  .byte  137,229                             // mov           %esp,%ebp
52012  .byte  83                                  // push          %ebx
52013  .byte  87                                  // push          %edi
52014  .byte  86                                  // push          %esi
52015  .byte  131,236,108                         // sub           $0x6c,%esp
52016  .byte  232,0,0,0,0                         // call          2a69 <_sk_unpremul_sse2+0xe>
52017  .byte  89                                  // pop           %ecx
52018  .byte  139,69,8                            // mov           0x8(%ebp),%eax
52019  .byte  139,85,16                           // mov           0x10(%ebp),%edx
52020  .byte  139,117,20                          // mov           0x14(%ebp),%esi
52021  .byte  139,125,24                          // mov           0x18(%ebp),%edi
52022  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
52023  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
52024  .byte  15,87,246                           // xorps         %xmm6,%xmm6
52025  .byte  15,40,185,247,106,0,0               // movaps        0x6af7(%ecx),%xmm7
52026  .byte  15,94,251                           // divps         %xmm3,%xmm7
52027  .byte  15,194,243,4                        // cmpneqps      %xmm3,%xmm6
52028  .byte  15,84,247                           // andps         %xmm7,%xmm6
52029  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
52030  .byte  15,89,198                           // mulps         %xmm6,%xmm0
52031  .byte  15,89,206                           // mulps         %xmm6,%xmm1
52032  .byte  15,89,214                           // mulps         %xmm6,%xmm2
52033  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
52034  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
52035  .byte  141,89,4                            // lea           0x4(%ecx),%ebx
52036  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
52037  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
52038  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
52039  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
52040  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
52041  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
52042  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
52043  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
52044  .byte  137,4,36                            // mov           %eax,(%esp)
52045  .byte  255,17                              // call          *(%ecx)
52046  .byte  131,196,108                         // add           $0x6c,%esp
52047  .byte  94                                  // pop           %esi
52048  .byte  95                                  // pop           %edi
52049  .byte  91                                  // pop           %ebx
52050  .byte  93                                  // pop           %ebp
52051  .byte  195                                 // ret
52052
52053HIDDEN _sk_from_srgb_sse2
52054.globl _sk_from_srgb_sse2
52055FUNCTION(_sk_from_srgb_sse2)
52056_sk_from_srgb_sse2:
52057  .byte  85                                  // push          %ebp
52058  .byte  137,229                             // mov           %esp,%ebp
52059  .byte  83                                  // push          %ebx
52060  .byte  87                                  // push          %edi
52061  .byte  86                                  // push          %esi
52062  .byte  129,236,156,0,0,0                   // sub           $0x9c,%esp
52063  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
52064  .byte  15,40,242                           // movaps        %xmm2,%xmm6
52065  .byte  15,40,233                           // movaps        %xmm1,%xmm5
52066  .byte  15,40,208                           // movaps        %xmm0,%xmm2
52067  .byte  232,0,0,0,0                         // call          2af8 <_sk_from_srgb_sse2+0x1e>
52068  .byte  88                                  // pop           %eax
52069  .byte  15,40,218                           // movaps        %xmm2,%xmm3
52070  .byte  15,89,219                           // mulps         %xmm3,%xmm3
52071  .byte  15,40,160,136,106,0,0               // movaps        0x6a88(%eax),%xmm4
52072  .byte  15,89,196                           // mulps         %xmm4,%xmm0
52073  .byte  15,40,136,152,106,0,0               // movaps        0x6a98(%eax),%xmm1
52074  .byte  15,41,77,200                        // movaps        %xmm1,-0x38(%ebp)
52075  .byte  15,88,193                           // addps         %xmm1,%xmm0
52076  .byte  15,89,195                           // mulps         %xmm3,%xmm0
52077  .byte  15,40,152,120,106,0,0               // movaps        0x6a78(%eax),%xmm3
52078  .byte  15,40,202                           // movaps        %xmm2,%xmm1
52079  .byte  15,89,203                           // mulps         %xmm3,%xmm1
52080  .byte  15,40,184,168,106,0,0               // movaps        0x6aa8(%eax),%xmm7
52081  .byte  15,41,125,216                       // movaps        %xmm7,-0x28(%ebp)
52082  .byte  15,88,199                           // addps         %xmm7,%xmm0
52083  .byte  15,40,184,184,106,0,0               // movaps        0x6ab8(%eax),%xmm7
52084  .byte  15,194,215,1                        // cmpltps       %xmm7,%xmm2
52085  .byte  15,84,202                           // andps         %xmm2,%xmm1
52086  .byte  15,85,208                           // andnps        %xmm0,%xmm2
52087  .byte  15,86,209                           // orps          %xmm1,%xmm2
52088  .byte  15,40,197                           // movaps        %xmm5,%xmm0
52089  .byte  15,89,192                           // mulps         %xmm0,%xmm0
52090  .byte  15,40,205                           // movaps        %xmm5,%xmm1
52091  .byte  15,89,204                           // mulps         %xmm4,%xmm1
52092  .byte  15,88,77,200                        // addps         -0x38(%ebp),%xmm1
52093  .byte  15,89,200                           // mulps         %xmm0,%xmm1
52094  .byte  15,40,197                           // movaps        %xmm5,%xmm0
52095  .byte  15,89,195                           // mulps         %xmm3,%xmm0
52096  .byte  15,88,77,216                        // addps         -0x28(%ebp),%xmm1
52097  .byte  15,194,239,1                        // cmpltps       %xmm7,%xmm5
52098  .byte  15,84,197                           // andps         %xmm5,%xmm0
52099  .byte  15,85,233                           // andnps        %xmm1,%xmm5
52100  .byte  15,86,232                           // orps          %xmm0,%xmm5
52101  .byte  15,89,230                           // mulps         %xmm6,%xmm4
52102  .byte  15,88,101,200                       // addps         -0x38(%ebp),%xmm4
52103  .byte  15,40,198                           // movaps        %xmm6,%xmm0
52104  .byte  15,89,192                           // mulps         %xmm0,%xmm0
52105  .byte  15,89,224                           // mulps         %xmm0,%xmm4
52106  .byte  139,69,8                            // mov           0x8(%ebp),%eax
52107  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
52108  .byte  139,85,20                           // mov           0x14(%ebp),%edx
52109  .byte  139,117,24                          // mov           0x18(%ebp),%esi
52110  .byte  15,88,101,216                       // addps         -0x28(%ebp),%xmm4
52111  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
52112  .byte  15,89,222                           // mulps         %xmm6,%xmm3
52113  .byte  15,194,247,1                        // cmpltps       %xmm7,%xmm6
52114  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
52115  .byte  15,84,222                           // andps         %xmm6,%xmm3
52116  .byte  15,85,244                           // andnps        %xmm4,%xmm6
52117  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
52118  .byte  15,86,243                           // orps          %xmm3,%xmm6
52119  .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
52120  .byte  139,125,12                          // mov           0xc(%ebp),%edi
52121  .byte  141,95,4                            // lea           0x4(%edi),%ebx
52122  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
52123  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
52124  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
52125  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
52126  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
52127  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
52128  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
52129  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
52130  .byte  137,4,36                            // mov           %eax,(%esp)
52131  .byte  15,40,194                           // movaps        %xmm2,%xmm0
52132  .byte  15,40,205                           // movaps        %xmm5,%xmm1
52133  .byte  15,40,214                           // movaps        %xmm6,%xmm2
52134  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
52135  .byte  255,23                              // call          *(%edi)
52136  .byte  129,196,156,0,0,0                   // add           $0x9c,%esp
52137  .byte  94                                  // pop           %esi
52138  .byte  95                                  // pop           %edi
52139  .byte  91                                  // pop           %ebx
52140  .byte  93                                  // pop           %ebp
52141  .byte  195                                 // ret
52142
52143HIDDEN _sk_from_srgb_dst_sse2
52144.globl _sk_from_srgb_dst_sse2
52145FUNCTION(_sk_from_srgb_dst_sse2)
52146_sk_from_srgb_dst_sse2:
52147  .byte  85                                  // push          %ebp
52148  .byte  137,229                             // mov           %esp,%ebp
52149  .byte  83                                  // push          %ebx
52150  .byte  87                                  // push          %edi
52151  .byte  86                                  // push          %esi
52152  .byte  129,236,188,0,0,0                   // sub           $0xbc,%esp
52153  .byte  15,41,93,152                        // movaps        %xmm3,-0x68(%ebp)
52154  .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
52155  .byte  15,41,77,184                        // movaps        %xmm1,-0x48(%ebp)
52156  .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
52157  .byte  232,0,0,0,0                         // call          2c1b <_sk_from_srgb_dst_sse2+0x21>
52158  .byte  88                                  // pop           %eax
52159  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
52160  .byte  15,40,193                           // movaps        %xmm1,%xmm0
52161  .byte  15,89,192                           // mulps         %xmm0,%xmm0
52162  .byte  15,40,168,181,105,0,0               // movaps        0x69b5(%eax),%xmm5
52163  .byte  15,40,249                           // movaps        %xmm1,%xmm7
52164  .byte  15,89,253                           // mulps         %xmm5,%xmm7
52165  .byte  15,40,144,197,105,0,0               // movaps        0x69c5(%eax),%xmm2
52166  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
52167  .byte  15,88,250                           // addps         %xmm2,%xmm7
52168  .byte  15,89,248                           // mulps         %xmm0,%xmm7
52169  .byte  15,40,176,165,105,0,0               // movaps        0x69a5(%eax),%xmm6
52170  .byte  15,40,225                           // movaps        %xmm1,%xmm4
52171  .byte  15,89,230                           // mulps         %xmm6,%xmm4
52172  .byte  15,40,152,213,105,0,0               // movaps        0x69d5(%eax),%xmm3
52173  .byte  15,88,251                           // addps         %xmm3,%xmm7
52174  .byte  15,40,144,229,105,0,0               // movaps        0x69e5(%eax),%xmm2
52175  .byte  15,194,202,1                        // cmpltps       %xmm2,%xmm1
52176  .byte  15,84,225                           // andps         %xmm1,%xmm4
52177  .byte  15,85,207                           // andnps        %xmm7,%xmm1
52178  .byte  15,86,204                           // orps          %xmm4,%xmm1
52179  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
52180  .byte  15,40,224                           // movaps        %xmm0,%xmm4
52181  .byte  15,89,228                           // mulps         %xmm4,%xmm4
52182  .byte  15,40,248                           // movaps        %xmm0,%xmm7
52183  .byte  15,89,253                           // mulps         %xmm5,%xmm7
52184  .byte  15,88,125,216                       // addps         -0x28(%ebp),%xmm7
52185  .byte  15,89,252                           // mulps         %xmm4,%xmm7
52186  .byte  15,40,224                           // movaps        %xmm0,%xmm4
52187  .byte  15,89,230                           // mulps         %xmm6,%xmm4
52188  .byte  15,88,251                           // addps         %xmm3,%xmm7
52189  .byte  15,194,194,1                        // cmpltps       %xmm2,%xmm0
52190  .byte  15,84,224                           // andps         %xmm0,%xmm4
52191  .byte  15,85,199                           // andnps        %xmm7,%xmm0
52192  .byte  15,86,196                           // orps          %xmm4,%xmm0
52193  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
52194  .byte  15,89,236                           // mulps         %xmm4,%xmm5
52195  .byte  15,88,109,216                       // addps         -0x28(%ebp),%xmm5
52196  .byte  15,40,252                           // movaps        %xmm4,%xmm7
52197  .byte  15,89,255                           // mulps         %xmm7,%xmm7
52198  .byte  15,89,239                           // mulps         %xmm7,%xmm5
52199  .byte  15,88,235                           // addps         %xmm3,%xmm5
52200  .byte  15,89,244                           // mulps         %xmm4,%xmm6
52201  .byte  15,194,226,1                        // cmpltps       %xmm2,%xmm4
52202  .byte  15,84,244                           // andps         %xmm4,%xmm6
52203  .byte  15,85,229                           // andnps        %xmm5,%xmm4
52204  .byte  139,69,8                            // mov           0x8(%ebp),%eax
52205  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
52206  .byte  139,85,20                           // mov           0x14(%ebp),%edx
52207  .byte  139,117,24                          // mov           0x18(%ebp),%esi
52208  .byte  15,86,230                           // orps          %xmm6,%xmm4
52209  .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
52210  .byte  139,125,12                          // mov           0xc(%ebp),%edi
52211  .byte  141,95,4                            // lea           0x4(%edi),%ebx
52212  .byte  15,41,84,36,80                      // movaps        %xmm2,0x50(%esp)
52213  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
52214  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
52215  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
52216  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
52217  .byte  137,4,36                            // mov           %eax,(%esp)
52218  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
52219  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
52220  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
52221  .byte  15,40,69,200                        // movaps        -0x38(%ebp),%xmm0
52222  .byte  15,40,77,184                        // movaps        -0x48(%ebp),%xmm1
52223  .byte  15,40,85,168                        // movaps        -0x58(%ebp),%xmm2
52224  .byte  15,40,93,152                        // movaps        -0x68(%ebp),%xmm3
52225  .byte  255,23                              // call          *(%edi)
52226  .byte  129,196,188,0,0,0                   // add           $0xbc,%esp
52227  .byte  94                                  // pop           %esi
52228  .byte  95                                  // pop           %edi
52229  .byte  91                                  // pop           %ebx
52230  .byte  93                                  // pop           %ebp
52231  .byte  195                                 // ret
52232
52233HIDDEN _sk_to_srgb_sse2
52234.globl _sk_to_srgb_sse2
52235FUNCTION(_sk_to_srgb_sse2)
52236_sk_to_srgb_sse2:
52237  .byte  85                                  // push          %ebp
52238  .byte  137,229                             // mov           %esp,%ebp
52239  .byte  83                                  // push          %ebx
52240  .byte  87                                  // push          %edi
52241  .byte  86                                  // push          %esi
52242  .byte  129,236,172,0,0,0                   // sub           $0xac,%esp
52243  .byte  15,41,93,168                        // movaps        %xmm3,-0x58(%ebp)
52244  .byte  15,40,250                           // movaps        %xmm2,%xmm7
52245  .byte  15,40,241                           // movaps        %xmm1,%xmm6
52246  .byte  15,40,208                           // movaps        %xmm0,%xmm2
52247  .byte  232,0,0,0,0                         // call          2d3b <_sk_to_srgb_sse2+0x1e>
52248  .byte  88                                  // pop           %eax
52249  .byte  15,82,218                           // rsqrtps       %xmm2,%xmm3
52250  .byte  15,40,160,229,104,0,0               // movaps        0x68e5(%eax),%xmm4
52251  .byte  15,40,235                           // movaps        %xmm3,%xmm5
52252  .byte  15,89,236                           // mulps         %xmm4,%xmm5
52253  .byte  15,40,128,245,104,0,0               // movaps        0x68f5(%eax),%xmm0
52254  .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
52255  .byte  15,88,232                           // addps         %xmm0,%xmm5
52256  .byte  15,89,235                           // mulps         %xmm3,%xmm5
52257  .byte  15,40,128,5,105,0,0                 // movaps        0x6905(%eax),%xmm0
52258  .byte  15,41,69,184                        // movaps        %xmm0,-0x48(%ebp)
52259  .byte  15,88,232                           // addps         %xmm0,%xmm5
52260  .byte  15,40,128,21,105,0,0                // movaps        0x6915(%eax),%xmm0
52261  .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
52262  .byte  15,88,216                           // addps         %xmm0,%xmm3
52263  .byte  15,83,195                           // rcpps         %xmm3,%xmm0
52264  .byte  15,89,197                           // mulps         %xmm5,%xmm0
52265  .byte  15,40,168,213,104,0,0               // movaps        0x68d5(%eax),%xmm5
52266  .byte  15,40,202                           // movaps        %xmm2,%xmm1
52267  .byte  15,89,205                           // mulps         %xmm5,%xmm1
52268  .byte  15,40,152,37,105,0,0                // movaps        0x6925(%eax),%xmm3
52269  .byte  15,194,211,1                        // cmpltps       %xmm3,%xmm2
52270  .byte  15,84,202                           // andps         %xmm2,%xmm1
52271  .byte  15,85,208                           // andnps        %xmm0,%xmm2
52272  .byte  15,86,209                           // orps          %xmm1,%xmm2
52273  .byte  15,82,198                           // rsqrtps       %xmm6,%xmm0
52274  .byte  15,40,200                           // movaps        %xmm0,%xmm1
52275  .byte  15,89,204                           // mulps         %xmm4,%xmm1
52276  .byte  15,88,77,216                        // addps         -0x28(%ebp),%xmm1
52277  .byte  15,89,200                           // mulps         %xmm0,%xmm1
52278  .byte  15,88,77,184                        // addps         -0x48(%ebp),%xmm1
52279  .byte  15,88,69,200                        // addps         -0x38(%ebp),%xmm0
52280  .byte  15,83,192                           // rcpps         %xmm0,%xmm0
52281  .byte  15,89,193                           // mulps         %xmm1,%xmm0
52282  .byte  15,40,206                           // movaps        %xmm6,%xmm1
52283  .byte  15,89,205                           // mulps         %xmm5,%xmm1
52284  .byte  15,194,243,1                        // cmpltps       %xmm3,%xmm6
52285  .byte  15,84,206                           // andps         %xmm6,%xmm1
52286  .byte  15,85,240                           // andnps        %xmm0,%xmm6
52287  .byte  15,86,241                           // orps          %xmm1,%xmm6
52288  .byte  15,82,199                           // rsqrtps       %xmm7,%xmm0
52289  .byte  15,89,224                           // mulps         %xmm0,%xmm4
52290  .byte  15,88,101,216                       // addps         -0x28(%ebp),%xmm4
52291  .byte  15,89,224                           // mulps         %xmm0,%xmm4
52292  .byte  15,88,101,184                       // addps         -0x48(%ebp),%xmm4
52293  .byte  15,88,69,200                        // addps         -0x38(%ebp),%xmm0
52294  .byte  139,69,8                            // mov           0x8(%ebp),%eax
52295  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
52296  .byte  139,85,20                           // mov           0x14(%ebp),%edx
52297  .byte  139,117,24                          // mov           0x18(%ebp),%esi
52298  .byte  15,83,192                           // rcpps         %xmm0,%xmm0
52299  .byte  15,89,196                           // mulps         %xmm4,%xmm0
52300  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
52301  .byte  15,89,239                           // mulps         %xmm7,%xmm5
52302  .byte  15,194,251,1                        // cmpltps       %xmm3,%xmm7
52303  .byte  15,40,93,56                         // movaps        0x38(%ebp),%xmm3
52304  .byte  15,84,239                           // andps         %xmm7,%xmm5
52305  .byte  15,85,248                           // andnps        %xmm0,%xmm7
52306  .byte  15,40,69,72                         // movaps        0x48(%ebp),%xmm0
52307  .byte  15,86,253                           // orps          %xmm5,%xmm7
52308  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
52309  .byte  139,125,12                          // mov           0xc(%ebp),%edi
52310  .byte  141,95,4                            // lea           0x4(%edi),%ebx
52311  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
52312  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
52313  .byte  15,41,92,36,48                      // movaps        %xmm3,0x30(%esp)
52314  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
52315  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
52316  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
52317  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
52318  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
52319  .byte  137,4,36                            // mov           %eax,(%esp)
52320  .byte  15,40,194                           // movaps        %xmm2,%xmm0
52321  .byte  15,40,206                           // movaps        %xmm6,%xmm1
52322  .byte  15,40,215                           // movaps        %xmm7,%xmm2
52323  .byte  15,40,93,168                        // movaps        -0x58(%ebp),%xmm3
52324  .byte  255,23                              // call          *(%edi)
52325  .byte  129,196,172,0,0,0                   // add           $0xac,%esp
52326  .byte  94                                  // pop           %esi
52327  .byte  95                                  // pop           %edi
52328  .byte  91                                  // pop           %ebx
52329  .byte  93                                  // pop           %ebp
52330  .byte  195                                 // ret
52331
52332HIDDEN _sk_rgb_to_hsl_sse2
52333.globl _sk_rgb_to_hsl_sse2
52334FUNCTION(_sk_rgb_to_hsl_sse2)
52335_sk_rgb_to_hsl_sse2:
52336  .byte  85                                  // push          %ebp
52337  .byte  137,229                             // mov           %esp,%ebp
52338  .byte  83                                  // push          %ebx
52339  .byte  87                                  // push          %edi
52340  .byte  86                                  // push          %esi
52341  .byte  129,236,156,0,0,0                   // sub           $0x9c,%esp
52342  .byte  15,41,93,184                        // movaps        %xmm3,-0x48(%ebp)
52343  .byte  15,40,233                           // movaps        %xmm1,%xmm5
52344  .byte  15,40,224                           // movaps        %xmm0,%xmm4
52345  .byte  232,0,0,0,0                         // call          2e7a <_sk_rgb_to_hsl_sse2+0x1b>
52346  .byte  88                                  // pop           %eax
52347  .byte  15,40,204                           // movaps        %xmm4,%xmm1
52348  .byte  15,95,205                           // maxps         %xmm5,%xmm1
52349  .byte  15,95,202                           // maxps         %xmm2,%xmm1
52350  .byte  15,40,252                           // movaps        %xmm4,%xmm7
52351  .byte  15,93,253                           // minps         %xmm5,%xmm7
52352  .byte  15,41,109,216                       // movaps        %xmm5,-0x28(%ebp)
52353  .byte  15,93,250                           // minps         %xmm2,%xmm7
52354  .byte  15,40,193                           // movaps        %xmm1,%xmm0
52355  .byte  15,92,199                           // subps         %xmm7,%xmm0
52356  .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
52357  .byte  15,40,152,246,103,0,0               // movaps        0x67f6(%eax),%xmm3
52358  .byte  15,94,216                           // divps         %xmm0,%xmm3
52359  .byte  15,40,197                           // movaps        %xmm5,%xmm0
52360  .byte  15,92,194                           // subps         %xmm2,%xmm0
52361  .byte  15,89,195                           // mulps         %xmm3,%xmm0
52362  .byte  15,194,234,1                        // cmpltps       %xmm2,%xmm5
52363  .byte  15,84,168,6,104,0,0                 // andps         0x6806(%eax),%xmm5
52364  .byte  15,88,232                           // addps         %xmm0,%xmm5
52365  .byte  15,40,193                           // movaps        %xmm1,%xmm0
52366  .byte  15,194,196,0                        // cmpeqps       %xmm4,%xmm0
52367  .byte  15,40,241                           // movaps        %xmm1,%xmm6
52368  .byte  15,194,117,216,0                    // cmpeqps       -0x28(%ebp),%xmm6
52369  .byte  15,92,212                           // subps         %xmm4,%xmm2
52370  .byte  15,92,101,216                       // subps         -0x28(%ebp),%xmm4
52371  .byte  15,89,211                           // mulps         %xmm3,%xmm2
52372  .byte  15,89,227                           // mulps         %xmm3,%xmm4
52373  .byte  15,40,152,22,104,0,0                // movaps        0x6816(%eax),%xmm3
52374  .byte  15,88,211                           // addps         %xmm3,%xmm2
52375  .byte  15,88,160,38,104,0,0                // addps         0x6826(%eax),%xmm4
52376  .byte  15,84,214                           // andps         %xmm6,%xmm2
52377  .byte  15,85,244                           // andnps        %xmm4,%xmm6
52378  .byte  15,86,242                           // orps          %xmm2,%xmm6
52379  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
52380  .byte  139,85,16                           // mov           0x10(%ebp),%edx
52381  .byte  139,117,20                          // mov           0x14(%ebp),%esi
52382  .byte  139,125,24                          // mov           0x18(%ebp),%edi
52383  .byte  15,84,232                           // andps         %xmm0,%xmm5
52384  .byte  15,85,198                           // andnps        %xmm6,%xmm0
52385  .byte  15,86,197                           // orps          %xmm5,%xmm0
52386  .byte  15,40,225                           // movaps        %xmm1,%xmm4
52387  .byte  15,194,231,4                        // cmpneqps      %xmm7,%xmm4
52388  .byte  15,92,217                           // subps         %xmm1,%xmm3
52389  .byte  15,88,207                           // addps         %xmm7,%xmm1
52390  .byte  15,40,168,70,104,0,0                // movaps        0x6846(%eax),%xmm5
52391  .byte  15,92,223                           // subps         %xmm7,%xmm3
52392  .byte  15,40,209                           // movaps        %xmm1,%xmm2
52393  .byte  15,89,213                           // mulps         %xmm5,%xmm2
52394  .byte  15,194,234,1                        // cmpltps       %xmm2,%xmm5
52395  .byte  15,84,221                           // andps         %xmm5,%xmm3
52396  .byte  15,85,233                           // andnps        %xmm1,%xmm5
52397  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
52398  .byte  15,86,235                           // orps          %xmm3,%xmm5
52399  .byte  15,40,93,56                         // movaps        0x38(%ebp),%xmm3
52400  .byte  15,40,77,200                        // movaps        -0x38(%ebp),%xmm1
52401  .byte  15,94,205                           // divps         %xmm5,%xmm1
52402  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
52403  .byte  15,89,128,54,104,0,0                // mulps         0x6836(%eax),%xmm0
52404  .byte  15,84,196                           // andps         %xmm4,%xmm0
52405  .byte  15,84,204                           // andps         %xmm4,%xmm1
52406  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
52407  .byte  139,69,12                           // mov           0xc(%ebp),%eax
52408  .byte  141,88,4                            // lea           0x4(%eax),%ebx
52409  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
52410  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
52411  .byte  15,41,92,36,48                      // movaps        %xmm3,0x30(%esp)
52412  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
52413  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
52414  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
52415  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
52416  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
52417  .byte  137,12,36                           // mov           %ecx,(%esp)
52418  .byte  15,40,93,184                        // movaps        -0x48(%ebp),%xmm3
52419  .byte  255,16                              // call          *(%eax)
52420  .byte  129,196,156,0,0,0                   // add           $0x9c,%esp
52421  .byte  94                                  // pop           %esi
52422  .byte  95                                  // pop           %edi
52423  .byte  91                                  // pop           %ebx
52424  .byte  93                                  // pop           %ebp
52425  .byte  195                                 // ret
52426
52427HIDDEN _sk_hsl_to_rgb_sse2
52428.globl _sk_hsl_to_rgb_sse2
52429FUNCTION(_sk_hsl_to_rgb_sse2)
52430_sk_hsl_to_rgb_sse2:
52431  .byte  85                                  // push          %ebp
52432  .byte  137,229                             // mov           %esp,%ebp
52433  .byte  83                                  // push          %ebx
52434  .byte  87                                  // push          %edi
52435  .byte  86                                  // push          %esi
52436  .byte  129,236,44,1,0,0                    // sub           $0x12c,%esp
52437  .byte  15,41,157,40,255,255,255            // movaps        %xmm3,-0xd8(%ebp)
52438  .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
52439  .byte  232,0,0,0,0                         // call          2faf <_sk_hsl_to_rgb_sse2+0x1c>
52440  .byte  88                                  // pop           %eax
52441  .byte  15,40,152,33,103,0,0                // movaps        0x6721(%eax),%xmm3
52442  .byte  15,40,227                           // movaps        %xmm3,%xmm4
52443  .byte  15,40,243                           // movaps        %xmm3,%xmm6
52444  .byte  15,41,181,72,255,255,255            // movaps        %xmm6,-0xb8(%ebp)
52445  .byte  15,194,226,2                        // cmpleps       %xmm2,%xmm4
52446  .byte  15,40,233                           // movaps        %xmm1,%xmm5
52447  .byte  15,87,219                           // xorps         %xmm3,%xmm3
52448  .byte  15,194,217,0                        // cmpeqps       %xmm1,%xmm3
52449  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
52450  .byte  15,89,202                           // mulps         %xmm2,%xmm1
52451  .byte  15,92,233                           // subps         %xmm1,%xmm5
52452  .byte  15,84,236                           // andps         %xmm4,%xmm5
52453  .byte  15,85,225                           // andnps        %xmm1,%xmm4
52454  .byte  15,86,229                           // orps          %xmm5,%xmm4
52455  .byte  15,40,136,49,103,0,0                // movaps        0x6731(%eax),%xmm1
52456  .byte  15,88,200                           // addps         %xmm0,%xmm1
52457  .byte  243,15,91,193                       // cvttps2dq     %xmm1,%xmm0
52458  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
52459  .byte  15,40,217                           // movaps        %xmm1,%xmm3
52460  .byte  15,194,216,1                        // cmpltps       %xmm0,%xmm3
52461  .byte  15,40,168,65,103,0,0                // movaps        0x6741(%eax),%xmm5
52462  .byte  15,41,173,104,255,255,255           // movaps        %xmm5,-0x98(%ebp)
52463  .byte  15,84,221                           // andps         %xmm5,%xmm3
52464  .byte  15,92,195                           // subps         %xmm3,%xmm0
52465  .byte  15,92,200                           // subps         %xmm0,%xmm1
52466  .byte  15,40,234                           // movaps        %xmm2,%xmm5
52467  .byte  15,41,173,56,255,255,255            // movaps        %xmm5,-0xc8(%ebp)
52468  .byte  15,88,229                           // addps         %xmm5,%xmm4
52469  .byte  15,41,101,184                       // movaps        %xmm4,-0x48(%ebp)
52470  .byte  15,88,237                           // addps         %xmm5,%xmm5
52471  .byte  15,92,236                           // subps         %xmm4,%xmm5
52472  .byte  15,40,144,81,103,0,0                // movaps        0x6751(%eax),%xmm2
52473  .byte  15,41,85,168                        // movaps        %xmm2,-0x58(%ebp)
52474  .byte  15,194,209,2                        // cmpleps       %xmm1,%xmm2
52475  .byte  15,92,229                           // subps         %xmm5,%xmm4
52476  .byte  15,40,198                           // movaps        %xmm6,%xmm0
52477  .byte  15,194,193,2                        // cmpleps       %xmm1,%xmm0
52478  .byte  15,40,176,129,103,0,0               // movaps        0x6781(%eax),%xmm6
52479  .byte  15,41,181,88,255,255,255            // movaps        %xmm6,-0xa8(%ebp)
52480  .byte  15,194,241,2                        // cmpleps       %xmm1,%xmm6
52481  .byte  15,40,152,97,103,0,0                // movaps        0x6761(%eax),%xmm3
52482  .byte  15,41,93,152                        // movaps        %xmm3,-0x68(%ebp)
52483  .byte  15,89,203                           // mulps         %xmm3,%xmm1
52484  .byte  15,40,184,113,103,0,0               // movaps        0x6771(%eax),%xmm7
52485  .byte  15,41,125,136                       // movaps        %xmm7,-0x78(%ebp)
52486  .byte  15,92,249                           // subps         %xmm1,%xmm7
52487  .byte  15,89,252                           // mulps         %xmm4,%xmm7
52488  .byte  15,88,253                           // addps         %xmm5,%xmm7
52489  .byte  15,40,221                           // movaps        %xmm5,%xmm3
52490  .byte  15,84,218                           // andps         %xmm2,%xmm3
52491  .byte  15,85,215                           // andnps        %xmm7,%xmm2
52492  .byte  15,86,211                           // orps          %xmm3,%xmm2
52493  .byte  15,84,208                           // andps         %xmm0,%xmm2
52494  .byte  15,85,69,184                        // andnps        -0x48(%ebp),%xmm0
52495  .byte  15,86,194                           // orps          %xmm2,%xmm0
52496  .byte  15,89,204                           // mulps         %xmm4,%xmm1
52497  .byte  15,88,205                           // addps         %xmm5,%xmm1
52498  .byte  15,84,198                           // andps         %xmm6,%xmm0
52499  .byte  15,85,241                           // andnps        %xmm1,%xmm6
52500  .byte  15,86,240                           // orps          %xmm0,%xmm6
52501  .byte  15,40,69,216                        // movaps        -0x28(%ebp),%xmm0
52502  .byte  15,85,198                           // andnps        %xmm6,%xmm0
52503  .byte  15,41,133,120,255,255,255           // movaps        %xmm0,-0x88(%ebp)
52504  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
52505  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
52506  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
52507  .byte  15,40,202                           // movaps        %xmm2,%xmm1
52508  .byte  15,194,200,1                        // cmpltps       %xmm0,%xmm1
52509  .byte  15,84,136,65,103,0,0                // andps         0x6741(%eax),%xmm1
52510  .byte  15,92,193                           // subps         %xmm1,%xmm0
52511  .byte  15,40,202                           // movaps        %xmm2,%xmm1
52512  .byte  15,92,200                           // subps         %xmm0,%xmm1
52513  .byte  15,40,128,81,103,0,0                // movaps        0x6751(%eax),%xmm0
52514  .byte  15,194,193,2                        // cmpleps       %xmm1,%xmm0
52515  .byte  15,40,144,33,103,0,0                // movaps        0x6721(%eax),%xmm2
52516  .byte  15,194,209,2                        // cmpleps       %xmm1,%xmm2
52517  .byte  15,40,152,129,103,0,0               // movaps        0x6781(%eax),%xmm3
52518  .byte  15,194,217,2                        // cmpleps       %xmm1,%xmm3
52519  .byte  15,89,136,97,103,0,0                // mulps         0x6761(%eax),%xmm1
52520  .byte  15,40,176,113,103,0,0               // movaps        0x6771(%eax),%xmm6
52521  .byte  15,92,241                           // subps         %xmm1,%xmm6
52522  .byte  15,89,244                           // mulps         %xmm4,%xmm6
52523  .byte  15,88,245                           // addps         %xmm5,%xmm6
52524  .byte  15,40,253                           // movaps        %xmm5,%xmm7
52525  .byte  15,84,248                           // andps         %xmm0,%xmm7
52526  .byte  15,85,198                           // andnps        %xmm6,%xmm0
52527  .byte  15,86,199                           // orps          %xmm7,%xmm0
52528  .byte  15,84,194                           // andps         %xmm2,%xmm0
52529  .byte  15,40,125,184                       // movaps        -0x48(%ebp),%xmm7
52530  .byte  15,85,215                           // andnps        %xmm7,%xmm2
52531  .byte  15,86,208                           // orps          %xmm0,%xmm2
52532  .byte  15,89,204                           // mulps         %xmm4,%xmm1
52533  .byte  15,88,205                           // addps         %xmm5,%xmm1
52534  .byte  15,84,211                           // andps         %xmm3,%xmm2
52535  .byte  15,85,217                           // andnps        %xmm1,%xmm3
52536  .byte  15,86,218                           // orps          %xmm2,%xmm3
52537  .byte  15,40,117,216                       // movaps        -0x28(%ebp),%xmm6
52538  .byte  15,85,243                           // andnps        %xmm3,%xmm6
52539  .byte  15,40,85,200                        // movaps        -0x38(%ebp),%xmm2
52540  .byte  15,88,144,145,103,0,0               // addps         0x6791(%eax),%xmm2
52541  .byte  243,15,91,194                       // cvttps2dq     %xmm2,%xmm0
52542  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
52543  .byte  15,40,202                           // movaps        %xmm2,%xmm1
52544  .byte  15,194,200,1                        // cmpltps       %xmm0,%xmm1
52545  .byte  15,84,141,104,255,255,255           // andps         -0x98(%ebp),%xmm1
52546  .byte  15,92,193                           // subps         %xmm1,%xmm0
52547  .byte  15,92,208                           // subps         %xmm0,%xmm2
52548  .byte  15,40,77,152                        // movaps        -0x68(%ebp),%xmm1
52549  .byte  15,89,202                           // mulps         %xmm2,%xmm1
52550  .byte  15,40,93,136                        // movaps        -0x78(%ebp),%xmm3
52551  .byte  15,92,217                           // subps         %xmm1,%xmm3
52552  .byte  15,89,220                           // mulps         %xmm4,%xmm3
52553  .byte  15,89,204                           // mulps         %xmm4,%xmm1
52554  .byte  15,88,221                           // addps         %xmm5,%xmm3
52555  .byte  15,88,205                           // addps         %xmm5,%xmm1
52556  .byte  15,40,229                           // movaps        %xmm5,%xmm4
52557  .byte  15,40,109,168                       // movaps        -0x58(%ebp),%xmm5
52558  .byte  15,194,234,2                        // cmpleps       %xmm2,%xmm5
52559  .byte  15,84,229                           // andps         %xmm5,%xmm4
52560  .byte  15,85,235                           // andnps        %xmm3,%xmm5
52561  .byte  15,86,236                           // orps          %xmm4,%xmm5
52562  .byte  15,40,133,72,255,255,255            // movaps        -0xb8(%ebp),%xmm0
52563  .byte  15,194,194,2                        // cmpleps       %xmm2,%xmm0
52564  .byte  15,84,232                           // andps         %xmm0,%xmm5
52565  .byte  15,85,199                           // andnps        %xmm7,%xmm0
52566  .byte  15,86,197                           // orps          %xmm5,%xmm0
52567  .byte  15,40,157,88,255,255,255            // movaps        -0xa8(%ebp),%xmm3
52568  .byte  15,194,218,2                        // cmpleps       %xmm2,%xmm3
52569  .byte  139,69,8                            // mov           0x8(%ebp),%eax
52570  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
52571  .byte  139,85,20                           // mov           0x14(%ebp),%edx
52572  .byte  139,117,24                          // mov           0x18(%ebp),%esi
52573  .byte  15,84,195                           // andps         %xmm3,%xmm0
52574  .byte  15,85,217                           // andnps        %xmm1,%xmm3
52575  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
52576  .byte  15,86,216                           // orps          %xmm0,%xmm3
52577  .byte  15,40,227                           // movaps        %xmm3,%xmm4
52578  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
52579  .byte  15,40,149,56,255,255,255            // movaps        -0xc8(%ebp),%xmm2
52580  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
52581  .byte  15,84,211                           // andps         %xmm3,%xmm2
52582  .byte  15,85,220                           // andnps        %xmm4,%xmm3
52583  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
52584  .byte  15,40,133,120,255,255,255           // movaps        -0x88(%ebp),%xmm0
52585  .byte  15,86,194                           // orps          %xmm2,%xmm0
52586  .byte  15,86,242                           // orps          %xmm2,%xmm6
52587  .byte  15,86,211                           // orps          %xmm3,%xmm2
52588  .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
52589  .byte  139,125,12                          // mov           0xc(%ebp),%edi
52590  .byte  141,95,4                            // lea           0x4(%edi),%ebx
52591  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
52592  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
52593  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
52594  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
52595  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
52596  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
52597  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
52598  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
52599  .byte  137,4,36                            // mov           %eax,(%esp)
52600  .byte  15,40,206                           // movaps        %xmm6,%xmm1
52601  .byte  15,40,157,40,255,255,255            // movaps        -0xd8(%ebp),%xmm3
52602  .byte  255,23                              // call          *(%edi)
52603  .byte  129,196,44,1,0,0                    // add           $0x12c,%esp
52604  .byte  94                                  // pop           %esi
52605  .byte  95                                  // pop           %edi
52606  .byte  91                                  // pop           %ebx
52607  .byte  93                                  // pop           %ebp
52608  .byte  195                                 // ret
52609
52610HIDDEN _sk_scale_1_float_sse2
52611.globl _sk_scale_1_float_sse2
52612FUNCTION(_sk_scale_1_float_sse2)
52613_sk_scale_1_float_sse2:
52614  .byte  85                                  // push          %ebp
52615  .byte  137,229                             // mov           %esp,%ebp
52616  .byte  83                                  // push          %ebx
52617  .byte  87                                  // push          %edi
52618  .byte  86                                  // push          %esi
52619  .byte  131,236,108                         // sub           $0x6c,%esp
52620  .byte  139,69,8                            // mov           0x8(%ebp),%eax
52621  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
52622  .byte  139,85,20                           // mov           0x14(%ebp),%edx
52623  .byte  139,117,12                          // mov           0xc(%ebp),%esi
52624  .byte  139,62                              // mov           (%esi),%edi
52625  .byte  243,15,16,39                        // movss         (%edi),%xmm4
52626  .byte  139,125,24                          // mov           0x18(%ebp),%edi
52627  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
52628  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
52629  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
52630  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
52631  .byte  15,89,196                           // mulps         %xmm4,%xmm0
52632  .byte  15,89,204                           // mulps         %xmm4,%xmm1
52633  .byte  15,89,212                           // mulps         %xmm4,%xmm2
52634  .byte  15,89,220                           // mulps         %xmm4,%xmm3
52635  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
52636  .byte  141,94,8                            // lea           0x8(%esi),%ebx
52637  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
52638  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
52639  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
52640  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
52641  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
52642  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
52643  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
52644  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
52645  .byte  137,4,36                            // mov           %eax,(%esp)
52646  .byte  255,86,4                            // call          *0x4(%esi)
52647  .byte  131,196,108                         // add           $0x6c,%esp
52648  .byte  94                                  // pop           %esi
52649  .byte  95                                  // pop           %edi
52650  .byte  91                                  // pop           %ebx
52651  .byte  93                                  // pop           %ebp
52652  .byte  195                                 // ret
52653
52654HIDDEN _sk_scale_u8_sse2
52655.globl _sk_scale_u8_sse2
52656FUNCTION(_sk_scale_u8_sse2)
52657_sk_scale_u8_sse2:
52658  .byte  85                                  // push          %ebp
52659  .byte  137,229                             // mov           %esp,%ebp
52660  .byte  83                                  // push          %ebx
52661  .byte  87                                  // push          %edi
52662  .byte  86                                  // push          %esi
52663  .byte  131,236,108                         // sub           $0x6c,%esp
52664  .byte  232,0,0,0,0                         // call          32b5 <_sk_scale_u8_sse2+0xe>
52665  .byte  91                                  // pop           %ebx
52666  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
52667  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
52668  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
52669  .byte  139,85,24                           // mov           0x18(%ebp),%edx
52670  .byte  139,117,20                          // mov           0x14(%ebp),%esi
52671  .byte  139,69,12                           // mov           0xc(%ebp),%eax
52672  .byte  139,8                               // mov           (%eax),%ecx
52673  .byte  139,9                               // mov           (%ecx),%ecx
52674  .byte  133,210                             // test          %edx,%edx
52675  .byte  139,125,16                          // mov           0x10(%ebp),%edi
52676  .byte  117,106                             // jne           3340 <_sk_scale_u8_sse2+0x99>
52677  .byte  102,15,110,36,57                    // movd          (%ecx,%edi,1),%xmm4
52678  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
52679  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
52680  .byte  102,15,219,163,155,100,0,0          // pand          0x649b(%ebx),%xmm4
52681  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
52682  .byte  15,89,163,171,100,0,0               // mulps         0x64ab(%ebx),%xmm4
52683  .byte  15,89,196                           // mulps         %xmm4,%xmm0
52684  .byte  15,89,204                           // mulps         %xmm4,%xmm1
52685  .byte  15,89,212                           // mulps         %xmm4,%xmm2
52686  .byte  15,89,227                           // mulps         %xmm3,%xmm4
52687  .byte  141,72,8                            // lea           0x8(%eax),%ecx
52688  .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
52689  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
52690  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
52691  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
52692  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
52693  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
52694  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
52695  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
52696  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
52697  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
52698  .byte  137,12,36                           // mov           %ecx,(%esp)
52699  .byte  15,40,220                           // movaps        %xmm4,%xmm3
52700  .byte  255,80,4                            // call          *0x4(%eax)
52701  .byte  131,196,108                         // add           $0x6c,%esp
52702  .byte  94                                  // pop           %esi
52703  .byte  95                                  // pop           %edi
52704  .byte  91                                  // pop           %ebx
52705  .byte  93                                  // pop           %ebp
52706  .byte  195                                 // ret
52707  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
52708  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
52709  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
52710  .byte  116,65                              // je            338e <_sk_scale_u8_sse2+0xe7>
52711  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
52712  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
52713  .byte  139,85,24                           // mov           0x18(%ebp),%edx
52714  .byte  116,23                              // je            3371 <_sk_scale_u8_sse2+0xca>
52715  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
52716  .byte  117,131                             // jne           32e3 <_sk_scale_u8_sse2+0x3c>
52717  .byte  15,182,116,57,2                     // movzbl        0x2(%ecx,%edi,1),%esi
52718  .byte  102,15,110,230                      // movd          %esi,%xmm4
52719  .byte  139,117,20                          // mov           0x14(%ebp),%esi
52720  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
52721  .byte  15,183,12,57                        // movzwl        (%ecx,%edi,1),%ecx
52722  .byte  102,15,110,233                      // movd          %ecx,%xmm5
52723  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
52724  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
52725  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
52726  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
52727  .byte  233,85,255,255,255                  // jmp           32e3 <_sk_scale_u8_sse2+0x3c>
52728  .byte  15,182,12,57                        // movzbl        (%ecx,%edi,1),%ecx
52729  .byte  102,15,110,225                      // movd          %ecx,%xmm4
52730  .byte  139,85,24                           // mov           0x18(%ebp),%edx
52731  .byte  233,69,255,255,255                  // jmp           32e3 <_sk_scale_u8_sse2+0x3c>
52732
52733HIDDEN _sk_lerp_1_float_sse2
52734.globl _sk_lerp_1_float_sse2
52735FUNCTION(_sk_lerp_1_float_sse2)
52736_sk_lerp_1_float_sse2:
52737  .byte  85                                  // push          %ebp
52738  .byte  137,229                             // mov           %esp,%ebp
52739  .byte  83                                  // push          %ebx
52740  .byte  87                                  // push          %edi
52741  .byte  86                                  // push          %esi
52742  .byte  131,236,108                         // sub           $0x6c,%esp
52743  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
52744  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
52745  .byte  139,69,12                           // mov           0xc(%ebp),%eax
52746  .byte  139,8                               // mov           (%eax),%ecx
52747  .byte  243,15,16,57                        // movss         (%ecx),%xmm7
52748  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
52749  .byte  15,92,198                           // subps         %xmm6,%xmm0
52750  .byte  15,89,199                           // mulps         %xmm7,%xmm0
52751  .byte  15,92,205                           // subps         %xmm5,%xmm1
52752  .byte  15,89,207                           // mulps         %xmm7,%xmm1
52753  .byte  15,92,85,72                         // subps         0x48(%ebp),%xmm2
52754  .byte  15,89,215                           // mulps         %xmm7,%xmm2
52755  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
52756  .byte  15,92,220                           // subps         %xmm4,%xmm3
52757  .byte  15,89,223                           // mulps         %xmm7,%xmm3
52758  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
52759  .byte  139,85,16                           // mov           0x10(%ebp),%edx
52760  .byte  139,117,20                          // mov           0x14(%ebp),%esi
52761  .byte  139,125,24                          // mov           0x18(%ebp),%edi
52762  .byte  15,88,198                           // addps         %xmm6,%xmm0
52763  .byte  15,88,205                           // addps         %xmm5,%xmm1
52764  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
52765  .byte  15,88,215                           // addps         %xmm7,%xmm2
52766  .byte  15,88,220                           // addps         %xmm4,%xmm3
52767  .byte  141,88,8                            // lea           0x8(%eax),%ebx
52768  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
52769  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
52770  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
52771  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
52772  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
52773  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
52774  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
52775  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
52776  .byte  137,12,36                           // mov           %ecx,(%esp)
52777  .byte  255,80,4                            // call          *0x4(%eax)
52778  .byte  131,196,108                         // add           $0x6c,%esp
52779  .byte  94                                  // pop           %esi
52780  .byte  95                                  // pop           %edi
52781  .byte  91                                  // pop           %ebx
52782  .byte  93                                  // pop           %ebp
52783  .byte  195                                 // ret
52784
52785HIDDEN _sk_lerp_u8_sse2
52786.globl _sk_lerp_u8_sse2
52787FUNCTION(_sk_lerp_u8_sse2)
52788_sk_lerp_u8_sse2:
52789  .byte  85                                  // push          %ebp
52790  .byte  137,229                             // mov           %esp,%ebp
52791  .byte  83                                  // push          %ebx
52792  .byte  87                                  // push          %edi
52793  .byte  86                                  // push          %esi
52794  .byte  131,236,124                         // sub           $0x7c,%esp
52795  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
52796  .byte  232,0,0,0,0                         // call          343c <_sk_lerp_u8_sse2+0x12>
52797  .byte  91                                  // pop           %ebx
52798  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
52799  .byte  139,85,24                           // mov           0x18(%ebp),%edx
52800  .byte  139,117,20                          // mov           0x14(%ebp),%esi
52801  .byte  139,69,12                           // mov           0xc(%ebp),%eax
52802  .byte  139,8                               // mov           (%eax),%ecx
52803  .byte  139,9                               // mov           (%ecx),%ecx
52804  .byte  133,210                             // test          %edx,%edx
52805  .byte  139,125,16                          // mov           0x10(%ebp),%edi
52806  .byte  15,133,143,0,0,0                    // jne           34e8 <_sk_lerp_u8_sse2+0xbe>
52807  .byte  102,15,110,36,57                    // movd          (%ecx,%edi,1),%xmm4
52808  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
52809  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
52810  .byte  102,15,219,163,52,99,0,0            // pand          0x6334(%ebx),%xmm4
52811  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
52812  .byte  15,89,163,68,99,0,0                 // mulps         0x6344(%ebx),%xmm4
52813  .byte  15,92,197                           // subps         %xmm5,%xmm0
52814  .byte  15,89,196                           // mulps         %xmm4,%xmm0
52815  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
52816  .byte  15,92,206                           // subps         %xmm6,%xmm1
52817  .byte  15,89,204                           // mulps         %xmm4,%xmm1
52818  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
52819  .byte  15,92,215                           // subps         %xmm7,%xmm2
52820  .byte  15,89,212                           // mulps         %xmm4,%xmm2
52821  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
52822  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
52823  .byte  15,92,221                           // subps         %xmm5,%xmm3
52824  .byte  15,89,220                           // mulps         %xmm4,%xmm3
52825  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
52826  .byte  15,88,196                           // addps         %xmm4,%xmm0
52827  .byte  15,88,206                           // addps         %xmm6,%xmm1
52828  .byte  15,88,215                           // addps         %xmm7,%xmm2
52829  .byte  15,88,221                           // addps         %xmm5,%xmm3
52830  .byte  141,72,8                            // lea           0x8(%eax),%ecx
52831  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
52832  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
52833  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
52834  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
52835  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
52836  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
52837  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
52838  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
52839  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
52840  .byte  137,12,36                           // mov           %ecx,(%esp)
52841  .byte  255,80,4                            // call          *0x4(%eax)
52842  .byte  131,196,124                         // add           $0x7c,%esp
52843  .byte  94                                  // pop           %esi
52844  .byte  95                                  // pop           %edi
52845  .byte  91                                  // pop           %ebx
52846  .byte  93                                  // pop           %ebp
52847  .byte  195                                 // ret
52848  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
52849  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
52850  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
52851  .byte  116,69                              // je            353a <_sk_lerp_u8_sse2+0x110>
52852  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
52853  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
52854  .byte  139,85,24                           // mov           0x18(%ebp),%edx
52855  .byte  116,27                              // je            351d <_sk_lerp_u8_sse2+0xf3>
52856  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
52857  .byte  15,133,90,255,255,255               // jne           3466 <_sk_lerp_u8_sse2+0x3c>
52858  .byte  15,182,116,57,2                     // movzbl        0x2(%ecx,%edi,1),%esi
52859  .byte  102,15,110,230                      // movd          %esi,%xmm4
52860  .byte  139,117,20                          // mov           0x14(%ebp),%esi
52861  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
52862  .byte  15,183,12,57                        // movzwl        (%ecx,%edi,1),%ecx
52863  .byte  102,15,110,233                      // movd          %ecx,%xmm5
52864  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
52865  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
52866  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
52867  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
52868  .byte  233,44,255,255,255                  // jmp           3466 <_sk_lerp_u8_sse2+0x3c>
52869  .byte  15,182,12,57                        // movzbl        (%ecx,%edi,1),%ecx
52870  .byte  102,15,110,225                      // movd          %ecx,%xmm4
52871  .byte  139,85,24                           // mov           0x18(%ebp),%edx
52872  .byte  233,28,255,255,255                  // jmp           3466 <_sk_lerp_u8_sse2+0x3c>
52873
52874HIDDEN _sk_lerp_565_sse2
52875.globl _sk_lerp_565_sse2
52876FUNCTION(_sk_lerp_565_sse2)
52877_sk_lerp_565_sse2:
52878  .byte  85                                  // push          %ebp
52879  .byte  137,229                             // mov           %esp,%ebp
52880  .byte  83                                  // push          %ebx
52881  .byte  87                                  // push          %edi
52882  .byte  86                                  // push          %esi
52883  .byte  131,236,108                         // sub           $0x6c,%esp
52884  .byte  232,0,0,0,0                         // call          3558 <_sk_lerp_565_sse2+0xe>
52885  .byte  91                                  // pop           %ebx
52886  .byte  139,85,24                           // mov           0x18(%ebp),%edx
52887  .byte  139,117,20                          // mov           0x14(%ebp),%esi
52888  .byte  139,69,12                           // mov           0xc(%ebp),%eax
52889  .byte  139,8                               // mov           (%eax),%ecx
52890  .byte  139,9                               // mov           (%ecx),%ecx
52891  .byte  133,210                             // test          %edx,%edx
52892  .byte  139,125,16                          // mov           0x10(%ebp),%edi
52893  .byte  15,133,212,0,0,0                    // jne           3645 <_sk_lerp_565_sse2+0xfb>
52894  .byte  243,15,126,52,121                   // movq          (%ecx,%edi,2),%xmm6
52895  .byte  102,15,97,240                       // punpcklwd     %xmm0,%xmm6
52896  .byte  102,15,111,163,56,98,0,0            // movdqa        0x6238(%ebx),%xmm4
52897  .byte  102,15,219,230                      // pand          %xmm6,%xmm4
52898  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
52899  .byte  15,89,163,72,98,0,0                 // mulps         0x6248(%ebx),%xmm4
52900  .byte  102,15,111,187,88,98,0,0            // movdqa        0x6258(%ebx),%xmm7
52901  .byte  102,15,219,254                      // pand          %xmm6,%xmm7
52902  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
52903  .byte  15,89,187,104,98,0,0                // mulps         0x6268(%ebx),%xmm7
52904  .byte  102,15,219,179,120,98,0,0           // pand          0x6278(%ebx),%xmm6
52905  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
52906  .byte  15,89,179,136,98,0,0                // mulps         0x6288(%ebx),%xmm6
52907  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
52908  .byte  15,92,197                           // subps         %xmm5,%xmm0
52909  .byte  15,89,196                           // mulps         %xmm4,%xmm0
52910  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
52911  .byte  15,92,205                           // subps         %xmm5,%xmm1
52912  .byte  15,89,207                           // mulps         %xmm7,%xmm1
52913  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
52914  .byte  15,92,213                           // subps         %xmm5,%xmm2
52915  .byte  15,89,214                           // mulps         %xmm6,%xmm2
52916  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
52917  .byte  15,92,221                           // subps         %xmm5,%xmm3
52918  .byte  15,89,227                           // mulps         %xmm3,%xmm4
52919  .byte  15,89,251                           // mulps         %xmm3,%xmm7
52920  .byte  15,89,222                           // mulps         %xmm6,%xmm3
52921  .byte  15,88,253                           // addps         %xmm5,%xmm7
52922  .byte  15,88,221                           // addps         %xmm5,%xmm3
52923  .byte  15,95,251                           // maxps         %xmm3,%xmm7
52924  .byte  15,88,229                           // addps         %xmm5,%xmm4
52925  .byte  15,95,231                           // maxps         %xmm7,%xmm4
52926  .byte  15,40,93,40                         // movaps        0x28(%ebp),%xmm3
52927  .byte  15,88,195                           // addps         %xmm3,%xmm0
52928  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
52929  .byte  15,88,206                           // addps         %xmm6,%xmm1
52930  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
52931  .byte  15,88,215                           // addps         %xmm7,%xmm2
52932  .byte  141,72,8                            // lea           0x8(%eax),%ecx
52933  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
52934  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
52935  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
52936  .byte  15,41,92,36,32                      // movaps        %xmm3,0x20(%esp)
52937  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
52938  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
52939  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
52940  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
52941  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
52942  .byte  137,12,36                           // mov           %ecx,(%esp)
52943  .byte  15,40,220                           // movaps        %xmm4,%xmm3
52944  .byte  255,80,4                            // call          *0x4(%eax)
52945  .byte  131,196,108                         // add           $0x6c,%esp
52946  .byte  94                                  // pop           %esi
52947  .byte  95                                  // pop           %edi
52948  .byte  91                                  // pop           %ebx
52949  .byte  93                                  // pop           %ebp
52950  .byte  195                                 // ret
52951  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
52952  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
52953  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
52954  .byte  116,58                              // je            368c <_sk_lerp_565_sse2+0x142>
52955  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
52956  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
52957  .byte  139,85,24                           // mov           0x18(%ebp),%edx
52958  .byte  116,27                              // je            367a <_sk_lerp_565_sse2+0x130>
52959  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
52960  .byte  15,133,17,255,255,255               // jne           357a <_sk_lerp_565_sse2+0x30>
52961  .byte  15,183,116,121,4                    // movzwl        0x4(%ecx,%edi,2),%esi
52962  .byte  102,15,110,230                      // movd          %esi,%xmm4
52963  .byte  139,117,20                          // mov           0x14(%ebp),%esi
52964  .byte  102,15,112,244,69                   // pshufd        $0x45,%xmm4,%xmm6
52965  .byte  102,15,110,36,121                   // movd          (%ecx,%edi,2),%xmm4
52966  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
52967  .byte  242,15,16,244                       // movsd         %xmm4,%xmm6
52968  .byte  233,238,254,255,255                 // jmp           357a <_sk_lerp_565_sse2+0x30>
52969  .byte  15,183,12,121                       // movzwl        (%ecx,%edi,2),%ecx
52970  .byte  102,15,110,241                      // movd          %ecx,%xmm6
52971  .byte  139,85,24                           // mov           0x18(%ebp),%edx
52972  .byte  233,222,254,255,255                 // jmp           357a <_sk_lerp_565_sse2+0x30>
52973
52974HIDDEN _sk_load_tables_sse2
52975.globl _sk_load_tables_sse2
52976FUNCTION(_sk_load_tables_sse2)
52977_sk_load_tables_sse2:
52978  .byte  85                                  // push          %ebp
52979  .byte  137,229                             // mov           %esp,%ebp
52980  .byte  83                                  // push          %ebx
52981  .byte  87                                  // push          %edi
52982  .byte  86                                  // push          %esi
52983  .byte  131,236,108                         // sub           $0x6c,%esp
52984  .byte  232,0,0,0,0                         // call          36aa <_sk_load_tables_sse2+0xe>
52985  .byte  94                                  // pop           %esi
52986  .byte  139,69,24                           // mov           0x18(%ebp),%eax
52987  .byte  139,93,16                           // mov           0x10(%ebp),%ebx
52988  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
52989  .byte  133,192                             // test          %eax,%eax
52990  .byte  139,17                              // mov           (%ecx),%edx
52991  .byte  139,58                              // mov           (%edx),%edi
52992  .byte  15,133,75,1,0,0                     // jne           380b <_sk_load_tables_sse2+0x16f>
52993  .byte  243,15,111,28,159                   // movdqu        (%edi,%ebx,4),%xmm3
52994  .byte  102,15,111,150,70,97,0,0            // movdqa        0x6146(%esi),%xmm2
52995  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
52996  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
52997  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
52998  .byte  102,15,112,224,231                  // pshufd        $0xe7,%xmm0,%xmm4
52999  .byte  102,15,126,231                      // movd          %xmm4,%edi
53000  .byte  139,74,4                            // mov           0x4(%edx),%ecx
53001  .byte  243,15,16,36,185                    // movss         (%ecx,%edi,4),%xmm4
53002  .byte  102,15,126,207                      // movd          %xmm1,%edi
53003  .byte  243,15,16,44,185                    // movss         (%ecx,%edi,4),%xmm5
53004  .byte  102,15,126,199                      // movd          %xmm0,%edi
53005  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
53006  .byte  243,15,16,4,185                     // movss         (%ecx,%edi,4),%xmm0
53007  .byte  102,15,126,207                      // movd          %xmm1,%edi
53008  .byte  243,15,16,12,185                    // movss         (%ecx,%edi,4),%xmm1
53009  .byte  139,74,8                            // mov           0x8(%edx),%ecx
53010  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
53011  .byte  15,20,193                           // unpcklps      %xmm1,%xmm0
53012  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
53013  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
53014  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
53015  .byte  102,15,112,225,229                  // pshufd        $0xe5,%xmm1,%xmm4
53016  .byte  102,15,112,241,231                  // pshufd        $0xe7,%xmm1,%xmm6
53017  .byte  102,15,126,247                      // movd          %xmm6,%edi
53018  .byte  243,15,16,52,185                    // movss         (%ecx,%edi,4),%xmm6
53019  .byte  102,15,126,231                      // movd          %xmm4,%edi
53020  .byte  243,15,16,36,185                    // movss         (%ecx,%edi,4),%xmm4
53021  .byte  102,15,126,207                      // movd          %xmm1,%edi
53022  .byte  102,15,112,249,78                   // pshufd        $0x4e,%xmm1,%xmm7
53023  .byte  243,15,16,12,185                    // movss         (%ecx,%edi,4),%xmm1
53024  .byte  102,15,126,255                      // movd          %xmm7,%edi
53025  .byte  243,15,16,60,185                    // movss         (%ecx,%edi,4),%xmm7
53026  .byte  15,20,197                           // unpcklps      %xmm5,%xmm0
53027  .byte  15,20,230                           // unpcklps      %xmm6,%xmm4
53028  .byte  15,20,207                           // unpcklps      %xmm7,%xmm1
53029  .byte  139,74,12                           // mov           0xc(%edx),%ecx
53030  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
53031  .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
53032  .byte  102,15,219,234                      // pand          %xmm2,%xmm5
53033  .byte  102,15,112,213,229                  // pshufd        $0xe5,%xmm5,%xmm2
53034  .byte  102,15,112,245,231                  // pshufd        $0xe7,%xmm5,%xmm6
53035  .byte  102,15,126,242                      // movd          %xmm6,%edx
53036  .byte  243,15,16,52,145                    // movss         (%ecx,%edx,4),%xmm6
53037  .byte  102,15,126,210                      // movd          %xmm2,%edx
53038  .byte  243,15,16,60,145                    // movss         (%ecx,%edx,4),%xmm7
53039  .byte  102,15,126,234                      // movd          %xmm5,%edx
53040  .byte  102,15,112,237,78                   // pshufd        $0x4e,%xmm5,%xmm5
53041  .byte  243,15,16,20,145                    // movss         (%ecx,%edx,4),%xmm2
53042  .byte  102,15,126,234                      // movd          %xmm5,%edx
53043  .byte  243,15,16,44,145                    // movss         (%ecx,%edx,4),%xmm5
53044  .byte  15,20,204                           // unpcklps      %xmm4,%xmm1
53045  .byte  15,20,254                           // unpcklps      %xmm6,%xmm7
53046  .byte  15,20,213                           // unpcklps      %xmm5,%xmm2
53047  .byte  15,20,215                           // unpcklps      %xmm7,%xmm2
53048  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
53049  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
53050  .byte  15,89,158,86,97,0,0                 // mulps         0x6156(%esi),%xmm3
53051  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
53052  .byte  137,206                             // mov           %ecx,%esi
53053  .byte  141,78,8                            // lea           0x8(%esi),%ecx
53054  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
53055  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
53056  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
53057  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
53058  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
53059  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
53060  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
53061  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
53062  .byte  137,68,36,16                        // mov           %eax,0x10(%esp)
53063  .byte  139,85,20                           // mov           0x14(%ebp),%edx
53064  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
53065  .byte  137,92,36,8                         // mov           %ebx,0x8(%esp)
53066  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
53067  .byte  139,69,8                            // mov           0x8(%ebp),%eax
53068  .byte  137,4,36                            // mov           %eax,(%esp)
53069  .byte  255,86,4                            // call          *0x4(%esi)
53070  .byte  131,196,108                         // add           $0x6c,%esp
53071  .byte  94                                  // pop           %esi
53072  .byte  95                                  // pop           %edi
53073  .byte  91                                  // pop           %ebx
53074  .byte  93                                  // pop           %ebp
53075  .byte  195                                 // ret
53076  .byte  137,193                             // mov           %eax,%ecx
53077  .byte  128,225,3                           // and           $0x3,%cl
53078  .byte  128,249,1                           // cmp           $0x1,%cl
53079  .byte  116,39                              // je            383c <_sk_load_tables_sse2+0x1a0>
53080  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
53081  .byte  128,249,2                           // cmp           $0x2,%cl
53082  .byte  116,20                              // je            3832 <_sk_load_tables_sse2+0x196>
53083  .byte  128,249,3                           // cmp           $0x3,%cl
53084  .byte  15,133,158,254,255,255              // jne           36c5 <_sk_load_tables_sse2+0x29>
53085  .byte  102,15,110,68,159,8                 // movd          0x8(%edi,%ebx,4),%xmm0
53086  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
53087  .byte  102,15,18,28,159                    // movlpd        (%edi,%ebx,4),%xmm3
53088  .byte  233,137,254,255,255                 // jmp           36c5 <_sk_load_tables_sse2+0x29>
53089  .byte  102,15,110,28,159                   // movd          (%edi,%ebx,4),%xmm3
53090  .byte  233,127,254,255,255                 // jmp           36c5 <_sk_load_tables_sse2+0x29>
53091
53092HIDDEN _sk_load_tables_u16_be_sse2
53093.globl _sk_load_tables_u16_be_sse2
53094FUNCTION(_sk_load_tables_u16_be_sse2)
53095_sk_load_tables_u16_be_sse2:
53096  .byte  85                                  // push          %ebp
53097  .byte  137,229                             // mov           %esp,%ebp
53098  .byte  83                                  // push          %ebx
53099  .byte  87                                  // push          %edi
53100  .byte  86                                  // push          %esi
53101  .byte  129,236,140,0,0,0                   // sub           $0x8c,%esp
53102  .byte  232,0,0,0,0                         // call          3857 <_sk_load_tables_u16_be_sse2+0x11>
53103  .byte  95                                  // pop           %edi
53104  .byte  139,85,16                           // mov           0x10(%ebp),%edx
53105  .byte  139,69,12                           // mov           0xc(%ebp),%eax
53106  .byte  131,125,24,0                        // cmpl          $0x0,0x18(%ebp)
53107  .byte  139,24                              // mov           (%eax),%ebx
53108  .byte  139,11                              // mov           (%ebx),%ecx
53109  .byte  141,52,149,0,0,0,0                  // lea           0x0(,%edx,4),%esi
53110  .byte  186,255,0,255,0                     // mov           $0xff00ff,%edx
53111  .byte  15,133,229,1,0,0                    // jne           3a5d <_sk_load_tables_u16_be_sse2+0x217>
53112  .byte  102,15,16,4,113                     // movupd        (%ecx,%esi,2),%xmm0
53113  .byte  243,15,111,76,113,16                // movdqu        0x10(%ecx,%esi,2),%xmm1
53114  .byte  102,15,40,216                       // movapd        %xmm0,%xmm3
53115  .byte  102,15,97,217                       // punpcklwd     %xmm1,%xmm3
53116  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
53117  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
53118  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
53119  .byte  102,15,105,216                      // punpckhwd     %xmm0,%xmm3
53120  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
53121  .byte  102,15,126,193                      // movd          %xmm0,%ecx
53122  .byte  102,15,126,214                      // movd          %xmm2,%esi
53123  .byte  102,15,112,202,78                   // pshufd        $0x4e,%xmm2,%xmm1
53124  .byte  102,15,112,234,231                  // pshufd        $0xe7,%xmm2,%xmm5
53125  .byte  33,214                              // and           %edx,%esi
53126  .byte  137,117,216                         // mov           %esi,-0x28(%ebp)
53127  .byte  33,209                              // and           %edx,%ecx
53128  .byte  137,77,220                          // mov           %ecx,-0x24(%ebp)
53129  .byte  243,15,126,69,216                   // movq          -0x28(%ebp),%xmm0
53130  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
53131  .byte  102,15,97,194                       // punpcklwd     %xmm2,%xmm0
53132  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
53133  .byte  102,15,112,208,229                  // pshufd        $0xe5,%xmm0,%xmm2
53134  .byte  102,15,112,240,231                  // pshufd        $0xe7,%xmm0,%xmm6
53135  .byte  102,15,126,241                      // movd          %xmm6,%ecx
53136  .byte  139,115,4                           // mov           0x4(%ebx),%esi
53137  .byte  243,15,16,52,142                    // movss         (%esi,%ecx,4),%xmm6
53138  .byte  102,15,126,209                      // movd          %xmm2,%ecx
53139  .byte  243,15,16,20,142                    // movss         (%esi,%ecx,4),%xmm2
53140  .byte  102,15,126,193                      // movd          %xmm0,%ecx
53141  .byte  102,15,112,248,78                   // pshufd        $0x4e,%xmm0,%xmm7
53142  .byte  243,15,16,4,142                     // movss         (%esi,%ecx,4),%xmm0
53143  .byte  102,15,126,249                      // movd          %xmm7,%ecx
53144  .byte  243,15,16,60,142                    // movss         (%esi,%ecx,4),%xmm7
53145  .byte  102,15,126,233                      // movd          %xmm5,%ecx
53146  .byte  139,115,8                           // mov           0x8(%ebx),%esi
53147  .byte  33,209                              // and           %edx,%ecx
53148  .byte  137,77,228                          // mov           %ecx,-0x1c(%ebp)
53149  .byte  102,15,126,201                      // movd          %xmm1,%ecx
53150  .byte  102,15,112,203,229                  // pshufd        $0xe5,%xmm3,%xmm1
53151  .byte  33,209                              // and           %edx,%ecx
53152  .byte  137,77,224                          // mov           %ecx,-0x20(%ebp)
53153  .byte  102,15,126,201                      // movd          %xmm1,%ecx
53154  .byte  243,15,126,109,224                  // movq          -0x20(%ebp),%xmm5
53155  .byte  102,15,97,236                       // punpcklwd     %xmm4,%xmm5
53156  .byte  102,15,112,205,231                  // pshufd        $0xe7,%xmm5,%xmm1
53157  .byte  102,15,126,200                      // movd          %xmm1,%eax
53158  .byte  243,15,16,36,134                    // movss         (%esi,%eax,4),%xmm4
53159  .byte  15,20,214                           // unpcklps      %xmm6,%xmm2
53160  .byte  102,15,112,205,229                  // pshufd        $0xe5,%xmm5,%xmm1
53161  .byte  102,15,126,200                      // movd          %xmm1,%eax
53162  .byte  243,15,16,52,134                    // movss         (%esi,%eax,4),%xmm6
53163  .byte  15,20,199                           // unpcklps      %xmm7,%xmm0
53164  .byte  102,15,126,232                      // movd          %xmm5,%eax
53165  .byte  243,15,16,12,134                    // movss         (%esi,%eax,4),%xmm1
53166  .byte  102,15,112,237,78                   // pshufd        $0x4e,%xmm5,%xmm5
53167  .byte  102,15,126,232                      // movd          %xmm5,%eax
53168  .byte  243,15,16,44,134                    // movss         (%esi,%eax,4),%xmm5
53169  .byte  102,15,126,216                      // movd          %xmm3,%eax
53170  .byte  139,115,12                          // mov           0xc(%ebx),%esi
53171  .byte  33,208                              // and           %edx,%eax
53172  .byte  137,69,232                          // mov           %eax,-0x18(%ebp)
53173  .byte  33,209                              // and           %edx,%ecx
53174  .byte  15,20,194                           // unpcklps      %xmm2,%xmm0
53175  .byte  15,20,244                           // unpcklps      %xmm4,%xmm6
53176  .byte  15,20,205                           // unpcklps      %xmm5,%xmm1
53177  .byte  15,20,206                           // unpcklps      %xmm6,%xmm1
53178  .byte  137,77,236                          // mov           %ecx,-0x14(%ebp)
53179  .byte  243,15,126,85,232                   // movq          -0x18(%ebp),%xmm2
53180  .byte  15,87,228                           // xorps         %xmm4,%xmm4
53181  .byte  102,15,97,212                       // punpcklwd     %xmm4,%xmm2
53182  .byte  15,87,255                           // xorps         %xmm7,%xmm7
53183  .byte  102,15,112,226,229                  // pshufd        $0xe5,%xmm2,%xmm4
53184  .byte  102,15,112,234,231                  // pshufd        $0xe7,%xmm2,%xmm5
53185  .byte  102,15,126,232                      // movd          %xmm5,%eax
53186  .byte  243,15,16,44,134                    // movss         (%esi,%eax,4),%xmm5
53187  .byte  102,15,126,224                      // movd          %xmm4,%eax
53188  .byte  243,15,16,36,134                    // movss         (%esi,%eax,4),%xmm4
53189  .byte  102,15,126,208                      // movd          %xmm2,%eax
53190  .byte  102,15,112,242,78                   // pshufd        $0x4e,%xmm2,%xmm6
53191  .byte  243,15,16,20,134                    // movss         (%esi,%eax,4),%xmm2
53192  .byte  102,15,126,240                      // movd          %xmm6,%eax
53193  .byte  243,15,16,52,134                    // movss         (%esi,%eax,4),%xmm6
53194  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
53195  .byte  15,20,214                           // unpcklps      %xmm6,%xmm2
53196  .byte  15,20,212                           // unpcklps      %xmm4,%xmm2
53197  .byte  102,15,112,219,78                   // pshufd        $0x4e,%xmm3,%xmm3
53198  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
53199  .byte  102,15,113,244,8                    // psllw         $0x8,%xmm4
53200  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
53201  .byte  102,15,235,220                      // por           %xmm4,%xmm3
53202  .byte  102,15,126,93,208                   // movd          %xmm3,-0x30(%ebp)
53203  .byte  102,15,112,219,229                  // pshufd        $0xe5,%xmm3,%xmm3
53204  .byte  102,15,126,93,212                   // movd          %xmm3,-0x2c(%ebp)
53205  .byte  243,15,126,93,208                   // movq          -0x30(%ebp),%xmm3
53206  .byte  102,15,97,223                       // punpcklwd     %xmm7,%xmm3
53207  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
53208  .byte  15,89,159,185,95,0,0                // mulps         0x5fb9(%edi),%xmm3
53209  .byte  139,69,12                           // mov           0xc(%ebp),%eax
53210  .byte  137,193                             // mov           %eax,%ecx
53211  .byte  141,65,8                            // lea           0x8(%ecx),%eax
53212  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
53213  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
53214  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
53215  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
53216  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
53217  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
53218  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
53219  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
53220  .byte  139,85,24                           // mov           0x18(%ebp),%edx
53221  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
53222  .byte  139,85,20                           // mov           0x14(%ebp),%edx
53223  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
53224  .byte  139,85,16                           // mov           0x10(%ebp),%edx
53225  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
53226  .byte  137,68,36,4                         // mov           %eax,0x4(%esp)
53227  .byte  139,69,8                            // mov           0x8(%ebp),%eax
53228  .byte  137,4,36                            // mov           %eax,(%esp)
53229  .byte  255,81,4                            // call          *0x4(%ecx)
53230  .byte  129,196,140,0,0,0                   // add           $0x8c,%esp
53231  .byte  94                                  // pop           %esi
53232  .byte  95                                  // pop           %edi
53233  .byte  91                                  // pop           %ebx
53234  .byte  93                                  // pop           %ebp
53235  .byte  195                                 // ret
53236  .byte  242,15,16,4,113                     // movsd         (%ecx,%esi,2),%xmm0
53237  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
53238  .byte  139,69,24                           // mov           0x18(%ebp),%eax
53239  .byte  131,248,1                           // cmp           $0x1,%eax
53240  .byte  15,132,17,254,255,255               // je            3883 <_sk_load_tables_u16_be_sse2+0x3d>
53241  .byte  102,15,22,68,113,8                  // movhpd        0x8(%ecx,%esi,2),%xmm0
53242  .byte  131,248,3                           // cmp           $0x3,%eax
53243  .byte  15,130,2,254,255,255                // jb            3883 <_sk_load_tables_u16_be_sse2+0x3d>
53244  .byte  243,15,126,76,113,16                // movq          0x10(%ecx,%esi,2),%xmm1
53245  .byte  233,247,253,255,255                 // jmp           3883 <_sk_load_tables_u16_be_sse2+0x3d>
53246
53247HIDDEN _sk_load_tables_rgb_u16_be_sse2
53248.globl _sk_load_tables_rgb_u16_be_sse2
53249FUNCTION(_sk_load_tables_rgb_u16_be_sse2)
53250_sk_load_tables_rgb_u16_be_sse2:
53251  .byte  85                                  // push          %ebp
53252  .byte  137,229                             // mov           %esp,%ebp
53253  .byte  83                                  // push          %ebx
53254  .byte  87                                  // push          %edi
53255  .byte  86                                  // push          %esi
53256  .byte  131,236,124                         // sub           $0x7c,%esp
53257  .byte  232,0,0,0,0                         // call          3a9a <_sk_load_tables_rgb_u16_be_sse2+0xe>
53258  .byte  88                                  // pop           %eax
53259  .byte  137,69,240                          // mov           %eax,-0x10(%ebp)
53260  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
53261  .byte  139,69,12                           // mov           0xc(%ebp),%eax
53262  .byte  131,125,24,0                        // cmpl          $0x0,0x18(%ebp)
53263  .byte  139,24                              // mov           (%eax),%ebx
53264  .byte  139,19                              // mov           (%ebx),%edx
53265  .byte  141,60,73                           // lea           (%ecx,%ecx,2),%edi
53266  .byte  190,255,0,255,0                     // mov           $0xff00ff,%esi
53267  .byte  15,133,198,1,0,0                    // jne           3c80 <_sk_load_tables_rgb_u16_be_sse2+0x1f4>
53268  .byte  243,15,111,12,122                   // movdqu        (%edx,%edi,2),%xmm1
53269  .byte  243,15,111,92,122,8                 // movdqu        0x8(%edx,%edi,2),%xmm3
53270  .byte  102,15,115,219,4                    // psrldq        $0x4,%xmm3
53271  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
53272  .byte  102,15,115,216,6                    // psrldq        $0x6,%xmm0
53273  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
53274  .byte  102,15,115,218,6                    // psrldq        $0x6,%xmm2
53275  .byte  102,15,97,203                       // punpcklwd     %xmm3,%xmm1
53276  .byte  102,15,97,194                       // punpcklwd     %xmm2,%xmm0
53277  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
53278  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
53279  .byte  102,15,112,218,78                   // pshufd        $0x4e,%xmm2,%xmm3
53280  .byte  102,15,105,200                      // punpckhwd     %xmm0,%xmm1
53281  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
53282  .byte  102,15,126,199                      // movd          %xmm0,%edi
53283  .byte  102,15,126,208                      // movd          %xmm2,%eax
53284  .byte  102,15,112,195,229                  // pshufd        $0xe5,%xmm3,%xmm0
53285  .byte  102,15,126,194                      // movd          %xmm0,%edx
53286  .byte  33,240                              // and           %esi,%eax
53287  .byte  137,69,216                          // mov           %eax,-0x28(%ebp)
53288  .byte  33,247                              // and           %esi,%edi
53289  .byte  137,125,220                         // mov           %edi,-0x24(%ebp)
53290  .byte  243,15,126,69,216                   // movq          -0x28(%ebp),%xmm0
53291  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
53292  .byte  102,15,97,194                       // punpcklwd     %xmm2,%xmm0
53293  .byte  102,15,239,246                      // pxor          %xmm6,%xmm6
53294  .byte  102,15,112,224,229                  // pshufd        $0xe5,%xmm0,%xmm4
53295  .byte  102,15,112,248,231                  // pshufd        $0xe7,%xmm0,%xmm7
53296  .byte  102,15,126,248                      // movd          %xmm7,%eax
53297  .byte  139,123,4                           // mov           0x4(%ebx),%edi
53298  .byte  243,15,16,20,135                    // movss         (%edi,%eax,4),%xmm2
53299  .byte  102,15,126,224                      // movd          %xmm4,%eax
53300  .byte  243,15,16,60,135                    // movss         (%edi,%eax,4),%xmm7
53301  .byte  102,15,126,192                      // movd          %xmm0,%eax
53302  .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
53303  .byte  243,15,16,44,135                    // movss         (%edi,%eax,4),%xmm5
53304  .byte  102,15,126,224                      // movd          %xmm4,%eax
53305  .byte  243,15,16,36,135                    // movss         (%edi,%eax,4),%xmm4
53306  .byte  102,15,126,216                      // movd          %xmm3,%eax
53307  .byte  102,15,112,217,229                  // pshufd        $0xe5,%xmm1,%xmm3
53308  .byte  139,123,8                           // mov           0x8(%ebx),%edi
53309  .byte  33,240                              // and           %esi,%eax
53310  .byte  137,69,224                          // mov           %eax,-0x20(%ebp)
53311  .byte  102,15,126,216                      // movd          %xmm3,%eax
53312  .byte  33,242                              // and           %esi,%edx
53313  .byte  137,85,228                          // mov           %edx,-0x1c(%ebp)
53314  .byte  243,15,126,93,224                   // movq          -0x20(%ebp),%xmm3
53315  .byte  102,15,97,222                       // punpcklwd     %xmm6,%xmm3
53316  .byte  102,15,112,243,231                  // pshufd        $0xe7,%xmm3,%xmm6
53317  .byte  102,15,126,242                      // movd          %xmm6,%edx
53318  .byte  243,15,16,52,151                    // movss         (%edi,%edx,4),%xmm6
53319  .byte  102,15,126,202                      // movd          %xmm1,%edx
53320  .byte  102,15,112,203,229                  // pshufd        $0xe5,%xmm3,%xmm1
53321  .byte  102,15,126,201                      // movd          %xmm1,%ecx
53322  .byte  243,15,16,4,143                     // movss         (%edi,%ecx,4),%xmm0
53323  .byte  15,20,250                           // unpcklps      %xmm2,%xmm7
53324  .byte  102,15,126,217                      // movd          %xmm3,%ecx
53325  .byte  243,15,16,12,143                    // movss         (%edi,%ecx,4),%xmm1
53326  .byte  102,15,112,211,78                   // pshufd        $0x4e,%xmm3,%xmm2
53327  .byte  102,15,126,209                      // movd          %xmm2,%ecx
53328  .byte  243,15,16,28,143                    // movss         (%edi,%ecx,4),%xmm3
53329  .byte  139,75,12                           // mov           0xc(%ebx),%ecx
53330  .byte  33,242                              // and           %esi,%edx
53331  .byte  137,85,232                          // mov           %edx,-0x18(%ebp)
53332  .byte  33,240                              // and           %esi,%eax
53333  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
53334  .byte  15,20,239                           // unpcklps      %xmm7,%xmm5
53335  .byte  15,20,198                           // unpcklps      %xmm6,%xmm0
53336  .byte  137,69,236                          // mov           %eax,-0x14(%ebp)
53337  .byte  243,15,126,85,232                   // movq          -0x18(%ebp),%xmm2
53338  .byte  15,87,228                           // xorps         %xmm4,%xmm4
53339  .byte  102,15,97,212                       // punpcklwd     %xmm4,%xmm2
53340  .byte  102,15,112,226,229                  // pshufd        $0xe5,%xmm2,%xmm4
53341  .byte  102,15,112,242,231                  // pshufd        $0xe7,%xmm2,%xmm6
53342  .byte  102,15,126,240                      // movd          %xmm6,%eax
53343  .byte  243,15,16,52,129                    // movss         (%ecx,%eax,4),%xmm6
53344  .byte  102,15,126,224                      // movd          %xmm4,%eax
53345  .byte  243,15,16,36,129                    // movss         (%ecx,%eax,4),%xmm4
53346  .byte  102,15,126,208                      // movd          %xmm2,%eax
53347  .byte  102,15,112,250,78                   // pshufd        $0x4e,%xmm2,%xmm7
53348  .byte  243,15,16,20,129                    // movss         (%ecx,%eax,4),%xmm2
53349  .byte  102,15,126,248                      // movd          %xmm7,%eax
53350  .byte  243,15,16,60,129                    // movss         (%ecx,%eax,4),%xmm7
53351  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
53352  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
53353  .byte  15,20,230                           // unpcklps      %xmm6,%xmm4
53354  .byte  15,20,215                           // unpcklps      %xmm7,%xmm2
53355  .byte  15,20,212                           // unpcklps      %xmm4,%xmm2
53356  .byte  139,69,12                           // mov           0xc(%ebp),%eax
53357  .byte  137,193                             // mov           %eax,%ecx
53358  .byte  141,65,8                            // lea           0x8(%ecx),%eax
53359  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
53360  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
53361  .byte  15,40,69,72                         // movaps        0x48(%ebp),%xmm0
53362  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
53363  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
53364  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
53365  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
53366  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
53367  .byte  139,85,24                           // mov           0x18(%ebp),%edx
53368  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
53369  .byte  139,85,20                           // mov           0x14(%ebp),%edx
53370  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
53371  .byte  139,85,16                           // mov           0x10(%ebp),%edx
53372  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
53373  .byte  137,68,36,4                         // mov           %eax,0x4(%esp)
53374  .byte  139,69,8                            // mov           0x8(%ebp),%eax
53375  .byte  137,4,36                            // mov           %eax,(%esp)
53376  .byte  139,69,240                          // mov           -0x10(%ebp),%eax
53377  .byte  15,40,152,134,93,0,0                // movaps        0x5d86(%eax),%xmm3
53378  .byte  15,40,197                           // movaps        %xmm5,%xmm0
53379  .byte  255,81,4                            // call          *0x4(%ecx)
53380  .byte  131,196,124                         // add           $0x7c,%esp
53381  .byte  94                                  // pop           %esi
53382  .byte  95                                  // pop           %edi
53383  .byte  91                                  // pop           %ebx
53384  .byte  93                                  // pop           %ebp
53385  .byte  195                                 // ret
53386  .byte  102,15,110,12,122                   // movd          (%edx,%edi,2),%xmm1
53387  .byte  102,15,196,76,122,4,2               // pinsrw        $0x2,0x4(%edx,%edi,2),%xmm1
53388  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
53389  .byte  139,69,24                           // mov           0x18(%ebp),%eax
53390  .byte  131,248,1                           // cmp           $0x1,%eax
53391  .byte  117,13                              // jne           3ca5 <_sk_load_tables_rgb_u16_be_sse2+0x219>
53392  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
53393  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
53394  .byte  233,55,254,255,255                  // jmp           3adc <_sk_load_tables_rgb_u16_be_sse2+0x50>
53395  .byte  102,15,110,68,122,6                 // movd          0x6(%edx,%edi,2),%xmm0
53396  .byte  102,15,196,68,122,10,2              // pinsrw        $0x2,0xa(%edx,%edi,2),%xmm0
53397  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
53398  .byte  131,248,3                           // cmp           $0x3,%eax
53399  .byte  114,18                              // jb            3ccd <_sk_load_tables_rgb_u16_be_sse2+0x241>
53400  .byte  102,15,110,92,122,12                // movd          0xc(%edx,%edi,2),%xmm3
53401  .byte  102,15,196,92,122,16,2              // pinsrw        $0x2,0x10(%edx,%edi,2),%xmm3
53402  .byte  233,15,254,255,255                  // jmp           3adc <_sk_load_tables_rgb_u16_be_sse2+0x50>
53403  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
53404  .byte  233,6,254,255,255                   // jmp           3adc <_sk_load_tables_rgb_u16_be_sse2+0x50>
53405
53406HIDDEN _sk_byte_tables_sse2
53407.globl _sk_byte_tables_sse2
53408FUNCTION(_sk_byte_tables_sse2)
53409_sk_byte_tables_sse2:
53410  .byte  85                                  // push          %ebp
53411  .byte  137,229                             // mov           %esp,%ebp
53412  .byte  83                                  // push          %ebx
53413  .byte  87                                  // push          %edi
53414  .byte  86                                  // push          %esi
53415  .byte  131,236,108                         // sub           $0x6c,%esp
53416  .byte  232,0,0,0,0                         // call          3ce4 <_sk_byte_tables_sse2+0xe>
53417  .byte  90                                  // pop           %edx
53418  .byte  139,69,12                           // mov           0xc(%ebp),%eax
53419  .byte  139,8                               // mov           (%eax),%ecx
53420  .byte  15,40,170,76,91,0,0                 // movaps        0x5b4c(%edx),%xmm5
53421  .byte  15,89,197                           // mulps         %xmm5,%xmm0
53422  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
53423  .byte  102,15,112,224,78                   // pshufd        $0x4e,%xmm0,%xmm4
53424  .byte  102,15,126,230                      // movd          %xmm4,%esi
53425  .byte  102,15,112,224,231                  // pshufd        $0xe7,%xmm0,%xmm4
53426  .byte  139,57                              // mov           (%ecx),%edi
53427  .byte  15,182,52,55                        // movzbl        (%edi,%esi,1),%esi
53428  .byte  102,15,126,227                      // movd          %xmm4,%ebx
53429  .byte  15,182,28,31                        // movzbl        (%edi,%ebx,1),%ebx
53430  .byte  193,227,8                           // shl           $0x8,%ebx
53431  .byte  9,243                               // or            %esi,%ebx
53432  .byte  102,15,112,224,229                  // pshufd        $0xe5,%xmm0,%xmm4
53433  .byte  102,15,126,198                      // movd          %xmm0,%esi
53434  .byte  15,182,52,55                        // movzbl        (%edi,%esi,1),%esi
53435  .byte  102,15,126,224                      // movd          %xmm4,%eax
53436  .byte  15,182,4,7                          // movzbl        (%edi,%eax,1),%eax
53437  .byte  193,224,8                           // shl           $0x8,%eax
53438  .byte  9,240                               // or            %esi,%eax
53439  .byte  102,15,196,192,0                    // pinsrw        $0x0,%eax,%xmm0
53440  .byte  139,65,4                            // mov           0x4(%ecx),%eax
53441  .byte  102,15,196,195,1                    // pinsrw        $0x1,%ebx,%xmm0
53442  .byte  15,40,162,92,91,0,0                 // movaps        0x5b5c(%edx),%xmm4
53443  .byte  15,89,205                           // mulps         %xmm5,%xmm1
53444  .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
53445  .byte  102,15,112,241,78                   // pshufd        $0x4e,%xmm1,%xmm6
53446  .byte  102,15,126,242                      // movd          %xmm6,%edx
53447  .byte  102,15,112,241,231                  // pshufd        $0xe7,%xmm1,%xmm6
53448  .byte  102,15,126,246                      // movd          %xmm6,%esi
53449  .byte  15,182,20,16                        // movzbl        (%eax,%edx,1),%edx
53450  .byte  15,182,52,48                        // movzbl        (%eax,%esi,1),%esi
53451  .byte  193,230,8                           // shl           $0x8,%esi
53452  .byte  9,214                               // or            %edx,%esi
53453  .byte  102,15,126,202                      // movd          %xmm1,%edx
53454  .byte  102,15,112,201,229                  // pshufd        $0xe5,%xmm1,%xmm1
53455  .byte  15,182,20,16                        // movzbl        (%eax,%edx,1),%edx
53456  .byte  102,15,126,207                      // movd          %xmm1,%edi
53457  .byte  15,182,4,56                         // movzbl        (%eax,%edi,1),%eax
53458  .byte  193,224,8                           // shl           $0x8,%eax
53459  .byte  9,208                               // or            %edx,%eax
53460  .byte  102,15,196,200,0                    // pinsrw        $0x0,%eax,%xmm1
53461  .byte  102,15,196,206,1                    // pinsrw        $0x1,%esi,%xmm1
53462  .byte  139,65,8                            // mov           0x8(%ecx),%eax
53463  .byte  15,89,213                           // mulps         %xmm5,%xmm2
53464  .byte  102,15,91,210                       // cvtps2dq      %xmm2,%xmm2
53465  .byte  102,15,112,242,78                   // pshufd        $0x4e,%xmm2,%xmm6
53466  .byte  102,15,126,242                      // movd          %xmm6,%edx
53467  .byte  102,15,112,242,231                  // pshufd        $0xe7,%xmm2,%xmm6
53468  .byte  102,15,126,246                      // movd          %xmm6,%esi
53469  .byte  15,182,20,16                        // movzbl        (%eax,%edx,1),%edx
53470  .byte  15,182,52,48                        // movzbl        (%eax,%esi,1),%esi
53471  .byte  193,230,8                           // shl           $0x8,%esi
53472  .byte  9,214                               // or            %edx,%esi
53473  .byte  102,15,126,210                      // movd          %xmm2,%edx
53474  .byte  102,15,112,210,229                  // pshufd        $0xe5,%xmm2,%xmm2
53475  .byte  15,182,20,16                        // movzbl        (%eax,%edx,1),%edx
53476  .byte  102,15,126,215                      // movd          %xmm2,%edi
53477  .byte  15,182,4,56                         // movzbl        (%eax,%edi,1),%eax
53478  .byte  193,224,8                           // shl           $0x8,%eax
53479  .byte  9,208                               // or            %edx,%eax
53480  .byte  102,15,196,208,0                    // pinsrw        $0x0,%eax,%xmm2
53481  .byte  102,15,196,214,1                    // pinsrw        $0x1,%esi,%xmm2
53482  .byte  139,65,12                           // mov           0xc(%ecx),%eax
53483  .byte  15,89,221                           // mulps         %xmm5,%xmm3
53484  .byte  102,15,91,219                       // cvtps2dq      %xmm3,%xmm3
53485  .byte  102,15,126,217                      // movd          %xmm3,%ecx
53486  .byte  102,15,112,235,229                  // pshufd        $0xe5,%xmm3,%xmm5
53487  .byte  102,15,112,243,78                   // pshufd        $0x4e,%xmm3,%xmm6
53488  .byte  102,15,126,242                      // movd          %xmm6,%edx
53489  .byte  102,15,112,219,231                  // pshufd        $0xe7,%xmm3,%xmm3
53490  .byte  102,15,126,222                      // movd          %xmm3,%esi
53491  .byte  15,182,20,16                        // movzbl        (%eax,%edx,1),%edx
53492  .byte  15,182,52,48                        // movzbl        (%eax,%esi,1),%esi
53493  .byte  193,230,8                           // shl           $0x8,%esi
53494  .byte  9,214                               // or            %edx,%esi
53495  .byte  102,15,126,234                      // movd          %xmm5,%edx
53496  .byte  15,182,12,8                         // movzbl        (%eax,%ecx,1),%ecx
53497  .byte  15,182,4,16                         // movzbl        (%eax,%edx,1),%eax
53498  .byte  139,85,8                            // mov           0x8(%ebp),%edx
53499  .byte  193,224,8                           // shl           $0x8,%eax
53500  .byte  9,200                               // or            %ecx,%eax
53501  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
53502  .byte  102,15,196,216,0                    // pinsrw        $0x0,%eax,%xmm3
53503  .byte  139,69,20                           // mov           0x14(%ebp),%eax
53504  .byte  102,15,196,222,1                    // pinsrw        $0x1,%esi,%xmm3
53505  .byte  139,117,24                          // mov           0x18(%ebp),%esi
53506  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
53507  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
53508  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
53509  .byte  102,15,96,199                       // punpcklbw     %xmm7,%xmm0
53510  .byte  102,15,97,199                       // punpcklwd     %xmm7,%xmm0
53511  .byte  102,15,96,207                       // punpcklbw     %xmm7,%xmm1
53512  .byte  102,15,97,207                       // punpcklwd     %xmm7,%xmm1
53513  .byte  102,15,96,215                       // punpcklbw     %xmm7,%xmm2
53514  .byte  102,15,97,215                       // punpcklwd     %xmm7,%xmm2
53515  .byte  102,15,96,223                       // punpcklbw     %xmm7,%xmm3
53516  .byte  102,15,97,223                       // punpcklwd     %xmm7,%xmm3
53517  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
53518  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
53519  .byte  15,89,196                           // mulps         %xmm4,%xmm0
53520  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
53521  .byte  15,89,204                           // mulps         %xmm4,%xmm1
53522  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
53523  .byte  15,89,212                           // mulps         %xmm4,%xmm2
53524  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
53525  .byte  15,89,220                           // mulps         %xmm4,%xmm3
53526  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
53527  .byte  139,93,12                           // mov           0xc(%ebp),%ebx
53528  .byte  141,123,8                           // lea           0x8(%ebx),%edi
53529  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
53530  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
53531  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
53532  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
53533  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
53534  .byte  137,68,36,12                        // mov           %eax,0xc(%esp)
53535  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
53536  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
53537  .byte  137,20,36                           // mov           %edx,(%esp)
53538  .byte  255,83,4                            // call          *0x4(%ebx)
53539  .byte  131,196,108                         // add           $0x6c,%esp
53540  .byte  94                                  // pop           %esi
53541  .byte  95                                  // pop           %edi
53542  .byte  91                                  // pop           %ebx
53543  .byte  93                                  // pop           %ebp
53544  .byte  195                                 // ret
53545
53546HIDDEN _sk_byte_tables_rgb_sse2
53547.globl _sk_byte_tables_rgb_sse2
53548FUNCTION(_sk_byte_tables_rgb_sse2)
53549_sk_byte_tables_rgb_sse2:
53550  .byte  85                                  // push          %ebp
53551  .byte  137,229                             // mov           %esp,%ebp
53552  .byte  83                                  // push          %ebx
53553  .byte  87                                  // push          %edi
53554  .byte  86                                  // push          %esi
53555  .byte  131,236,108                         // sub           $0x6c,%esp
53556  .byte  139,69,12                           // mov           0xc(%ebp),%eax
53557  .byte  139,8                               // mov           (%eax),%ecx
53558  .byte  139,81,12                           // mov           0xc(%ecx),%edx
53559  .byte  74                                  // dec           %edx
53560  .byte  102,15,110,226                      // movd          %edx,%xmm4
53561  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
53562  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
53563  .byte  15,89,196                           // mulps         %xmm4,%xmm0
53564  .byte  102,15,91,192                       // cvtps2dq      %xmm0,%xmm0
53565  .byte  102,15,112,232,78                   // pshufd        $0x4e,%xmm0,%xmm5
53566  .byte  102,15,126,234                      // movd          %xmm5,%edx
53567  .byte  102,15,112,232,231                  // pshufd        $0xe7,%xmm0,%xmm5
53568  .byte  102,15,126,238                      // movd          %xmm5,%esi
53569  .byte  139,57                              // mov           (%ecx),%edi
53570  .byte  15,182,20,23                        // movzbl        (%edi,%edx,1),%edx
53571  .byte  15,182,52,55                        // movzbl        (%edi,%esi,1),%esi
53572  .byte  193,230,8                           // shl           $0x8,%esi
53573  .byte  9,214                               // or            %edx,%esi
53574  .byte  102,15,126,194                      // movd          %xmm0,%edx
53575  .byte  102,15,112,192,229                  // pshufd        $0xe5,%xmm0,%xmm0
53576  .byte  15,182,20,23                        // movzbl        (%edi,%edx,1),%edx
53577  .byte  102,15,126,195                      // movd          %xmm0,%ebx
53578  .byte  15,182,60,31                        // movzbl        (%edi,%ebx,1),%edi
53579  .byte  193,231,8                           // shl           $0x8,%edi
53580  .byte  9,215                               // or            %edx,%edi
53581  .byte  232,0,0,0,0                         // call          3f20 <_sk_byte_tables_rgb_sse2+0x65>
53582  .byte  90                                  // pop           %edx
53583  .byte  102,15,196,199,0                    // pinsrw        $0x0,%edi,%xmm0
53584  .byte  139,121,4                           // mov           0x4(%ecx),%edi
53585  .byte  102,15,196,198,1                    // pinsrw        $0x1,%esi,%xmm0
53586  .byte  15,40,170,48,89,0,0                 // movaps        0x5930(%edx),%xmm5
53587  .byte  15,89,204                           // mulps         %xmm4,%xmm1
53588  .byte  102,15,91,201                       // cvtps2dq      %xmm1,%xmm1
53589  .byte  102,15,112,241,78                   // pshufd        $0x4e,%xmm1,%xmm6
53590  .byte  102,15,126,242                      // movd          %xmm6,%edx
53591  .byte  102,15,112,241,231                  // pshufd        $0xe7,%xmm1,%xmm6
53592  .byte  102,15,126,246                      // movd          %xmm6,%esi
53593  .byte  15,182,20,23                        // movzbl        (%edi,%edx,1),%edx
53594  .byte  15,182,52,55                        // movzbl        (%edi,%esi,1),%esi
53595  .byte  193,230,8                           // shl           $0x8,%esi
53596  .byte  9,214                               // or            %edx,%esi
53597  .byte  102,15,126,202                      // movd          %xmm1,%edx
53598  .byte  102,15,112,201,229                  // pshufd        $0xe5,%xmm1,%xmm1
53599  .byte  15,182,20,23                        // movzbl        (%edi,%edx,1),%edx
53600  .byte  102,15,126,203                      // movd          %xmm1,%ebx
53601  .byte  15,182,60,31                        // movzbl        (%edi,%ebx,1),%edi
53602  .byte  193,231,8                           // shl           $0x8,%edi
53603  .byte  9,215                               // or            %edx,%edi
53604  .byte  102,15,196,207,0                    // pinsrw        $0x0,%edi,%xmm1
53605  .byte  102,15,196,206,1                    // pinsrw        $0x1,%esi,%xmm1
53606  .byte  139,73,8                            // mov           0x8(%ecx),%ecx
53607  .byte  15,89,212                           // mulps         %xmm4,%xmm2
53608  .byte  102,15,91,210                       // cvtps2dq      %xmm2,%xmm2
53609  .byte  102,15,126,210                      // movd          %xmm2,%edx
53610  .byte  102,15,112,226,229                  // pshufd        $0xe5,%xmm2,%xmm4
53611  .byte  102,15,112,242,78                   // pshufd        $0x4e,%xmm2,%xmm6
53612  .byte  102,15,126,246                      // movd          %xmm6,%esi
53613  .byte  102,15,112,210,231                  // pshufd        $0xe7,%xmm2,%xmm2
53614  .byte  102,15,126,215                      // movd          %xmm2,%edi
53615  .byte  15,182,52,49                        // movzbl        (%ecx,%esi,1),%esi
53616  .byte  15,182,60,57                        // movzbl        (%ecx,%edi,1),%edi
53617  .byte  193,231,8                           // shl           $0x8,%edi
53618  .byte  9,247                               // or            %esi,%edi
53619  .byte  102,15,126,230                      // movd          %xmm4,%esi
53620  .byte  15,182,20,17                        // movzbl        (%ecx,%edx,1),%edx
53621  .byte  15,182,12,49                        // movzbl        (%ecx,%esi,1),%ecx
53622  .byte  139,117,8                           // mov           0x8(%ebp),%esi
53623  .byte  193,225,8                           // shl           $0x8,%ecx
53624  .byte  9,209                               // or            %edx,%ecx
53625  .byte  139,85,16                           // mov           0x10(%ebp),%edx
53626  .byte  102,15,196,209,0                    // pinsrw        $0x0,%ecx,%xmm2
53627  .byte  139,77,20                           // mov           0x14(%ebp),%ecx
53628  .byte  102,15,196,215,1                    // pinsrw        $0x1,%edi,%xmm2
53629  .byte  139,125,24                          // mov           0x18(%ebp),%edi
53630  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
53631  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
53632  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
53633  .byte  102,15,96,199                       // punpcklbw     %xmm7,%xmm0
53634  .byte  102,15,97,199                       // punpcklwd     %xmm7,%xmm0
53635  .byte  102,15,96,207                       // punpcklbw     %xmm7,%xmm1
53636  .byte  102,15,97,207                       // punpcklwd     %xmm7,%xmm1
53637  .byte  102,15,96,215                       // punpcklbw     %xmm7,%xmm2
53638  .byte  102,15,97,215                       // punpcklwd     %xmm7,%xmm2
53639  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
53640  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
53641  .byte  15,89,197                           // mulps         %xmm5,%xmm0
53642  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
53643  .byte  15,89,205                           // mulps         %xmm5,%xmm1
53644  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
53645  .byte  15,89,213                           // mulps         %xmm5,%xmm2
53646  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
53647  .byte  141,88,8                            // lea           0x8(%eax),%ebx
53648  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
53649  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
53650  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
53651  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
53652  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
53653  .byte  137,76,36,12                        // mov           %ecx,0xc(%esp)
53654  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
53655  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
53656  .byte  137,52,36                           // mov           %esi,(%esp)
53657  .byte  255,80,4                            // call          *0x4(%eax)
53658  .byte  131,196,108                         // add           $0x6c,%esp
53659  .byte  94                                  // pop           %esi
53660  .byte  95                                  // pop           %edi
53661  .byte  91                                  // pop           %ebx
53662  .byte  93                                  // pop           %ebp
53663  .byte  195                                 // ret
53664
53665HIDDEN _sk_table_r_sse2
53666.globl _sk_table_r_sse2
53667FUNCTION(_sk_table_r_sse2)
53668_sk_table_r_sse2:
53669  .byte  85                                  // push          %ebp
53670  .byte  137,229                             // mov           %esp,%ebp
53671  .byte  83                                  // push          %ebx
53672  .byte  87                                  // push          %edi
53673  .byte  86                                  // push          %esi
53674  .byte  131,236,108                         // sub           $0x6c,%esp
53675  .byte  139,69,8                            // mov           0x8(%ebp),%eax
53676  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
53677  .byte  139,85,12                           // mov           0xc(%ebp),%edx
53678  .byte  139,50                              // mov           (%edx),%esi
53679  .byte  139,62                              // mov           (%esi),%edi
53680  .byte  139,118,4                           // mov           0x4(%esi),%esi
53681  .byte  78                                  // dec           %esi
53682  .byte  102,15,110,230                      // movd          %esi,%xmm4
53683  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
53684  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
53685  .byte  15,89,224                           // mulps         %xmm0,%xmm4
53686  .byte  102,15,91,196                       // cvtps2dq      %xmm4,%xmm0
53687  .byte  102,15,112,224,229                  // pshufd        $0xe5,%xmm0,%xmm4
53688  .byte  102,15,112,232,231                  // pshufd        $0xe7,%xmm0,%xmm5
53689  .byte  102,15,126,238                      // movd          %xmm5,%esi
53690  .byte  243,15,16,44,183                    // movss         (%edi,%esi,4),%xmm5
53691  .byte  102,15,126,230                      // movd          %xmm4,%esi
53692  .byte  243,15,16,36,183                    // movss         (%edi,%esi,4),%xmm4
53693  .byte  102,15,126,198                      // movd          %xmm0,%esi
53694  .byte  102,15,112,240,78                   // pshufd        $0x4e,%xmm0,%xmm6
53695  .byte  243,15,16,4,183                     // movss         (%edi,%esi,4),%xmm0
53696  .byte  102,15,126,246                      // movd          %xmm6,%esi
53697  .byte  243,15,16,52,183                    // movss         (%edi,%esi,4),%xmm6
53698  .byte  139,117,20                          // mov           0x14(%ebp),%esi
53699  .byte  139,125,24                          // mov           0x18(%ebp),%edi
53700  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
53701  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
53702  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
53703  .byte  15,20,198                           // unpcklps      %xmm6,%xmm0
53704  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
53705  .byte  15,20,196                           // unpcklps      %xmm4,%xmm0
53706  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
53707  .byte  141,90,8                            // lea           0x8(%edx),%ebx
53708  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
53709  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
53710  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
53711  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
53712  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
53713  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
53714  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
53715  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
53716  .byte  137,4,36                            // mov           %eax,(%esp)
53717  .byte  255,82,4                            // call          *0x4(%edx)
53718  .byte  131,196,108                         // add           $0x6c,%esp
53719  .byte  94                                  // pop           %esi
53720  .byte  95                                  // pop           %edi
53721  .byte  91                                  // pop           %ebx
53722  .byte  93                                  // pop           %ebp
53723  .byte  195                                 // ret
53724
53725HIDDEN _sk_table_g_sse2
53726.globl _sk_table_g_sse2
53727FUNCTION(_sk_table_g_sse2)
53728_sk_table_g_sse2:
53729  .byte  85                                  // push          %ebp
53730  .byte  137,229                             // mov           %esp,%ebp
53731  .byte  83                                  // push          %ebx
53732  .byte  87                                  // push          %edi
53733  .byte  86                                  // push          %esi
53734  .byte  131,236,108                         // sub           $0x6c,%esp
53735  .byte  139,69,8                            // mov           0x8(%ebp),%eax
53736  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
53737  .byte  139,85,12                           // mov           0xc(%ebp),%edx
53738  .byte  139,50                              // mov           (%edx),%esi
53739  .byte  139,62                              // mov           (%esi),%edi
53740  .byte  139,118,4                           // mov           0x4(%esi),%esi
53741  .byte  78                                  // dec           %esi
53742  .byte  102,15,110,230                      // movd          %esi,%xmm4
53743  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
53744  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
53745  .byte  15,89,225                           // mulps         %xmm1,%xmm4
53746  .byte  102,15,91,204                       // cvtps2dq      %xmm4,%xmm1
53747  .byte  102,15,112,225,229                  // pshufd        $0xe5,%xmm1,%xmm4
53748  .byte  102,15,112,233,231                  // pshufd        $0xe7,%xmm1,%xmm5
53749  .byte  102,15,126,238                      // movd          %xmm5,%esi
53750  .byte  243,15,16,44,183                    // movss         (%edi,%esi,4),%xmm5
53751  .byte  102,15,126,230                      // movd          %xmm4,%esi
53752  .byte  243,15,16,36,183                    // movss         (%edi,%esi,4),%xmm4
53753  .byte  102,15,126,206                      // movd          %xmm1,%esi
53754  .byte  102,15,112,241,78                   // pshufd        $0x4e,%xmm1,%xmm6
53755  .byte  243,15,16,12,183                    // movss         (%edi,%esi,4),%xmm1
53756  .byte  102,15,126,246                      // movd          %xmm6,%esi
53757  .byte  243,15,16,52,183                    // movss         (%edi,%esi,4),%xmm6
53758  .byte  139,117,20                          // mov           0x14(%ebp),%esi
53759  .byte  139,125,24                          // mov           0x18(%ebp),%edi
53760  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
53761  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
53762  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
53763  .byte  15,20,206                           // unpcklps      %xmm6,%xmm1
53764  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
53765  .byte  15,20,204                           // unpcklps      %xmm4,%xmm1
53766  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
53767  .byte  141,90,8                            // lea           0x8(%edx),%ebx
53768  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
53769  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
53770  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
53771  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
53772  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
53773  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
53774  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
53775  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
53776  .byte  137,4,36                            // mov           %eax,(%esp)
53777  .byte  255,82,4                            // call          *0x4(%edx)
53778  .byte  131,196,108                         // add           $0x6c,%esp
53779  .byte  94                                  // pop           %esi
53780  .byte  95                                  // pop           %edi
53781  .byte  91                                  // pop           %ebx
53782  .byte  93                                  // pop           %ebp
53783  .byte  195                                 // ret
53784
53785HIDDEN _sk_table_b_sse2
53786.globl _sk_table_b_sse2
53787FUNCTION(_sk_table_b_sse2)
53788_sk_table_b_sse2:
53789  .byte  85                                  // push          %ebp
53790  .byte  137,229                             // mov           %esp,%ebp
53791  .byte  83                                  // push          %ebx
53792  .byte  87                                  // push          %edi
53793  .byte  86                                  // push          %esi
53794  .byte  131,236,108                         // sub           $0x6c,%esp
53795  .byte  139,69,8                            // mov           0x8(%ebp),%eax
53796  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
53797  .byte  139,85,12                           // mov           0xc(%ebp),%edx
53798  .byte  139,50                              // mov           (%edx),%esi
53799  .byte  139,62                              // mov           (%esi),%edi
53800  .byte  139,118,4                           // mov           0x4(%esi),%esi
53801  .byte  78                                  // dec           %esi
53802  .byte  102,15,110,230                      // movd          %esi,%xmm4
53803  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
53804  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
53805  .byte  15,89,226                           // mulps         %xmm2,%xmm4
53806  .byte  102,15,91,212                       // cvtps2dq      %xmm4,%xmm2
53807  .byte  102,15,112,226,229                  // pshufd        $0xe5,%xmm2,%xmm4
53808  .byte  102,15,112,234,231                  // pshufd        $0xe7,%xmm2,%xmm5
53809  .byte  102,15,126,238                      // movd          %xmm5,%esi
53810  .byte  243,15,16,44,183                    // movss         (%edi,%esi,4),%xmm5
53811  .byte  102,15,126,230                      // movd          %xmm4,%esi
53812  .byte  243,15,16,36,183                    // movss         (%edi,%esi,4),%xmm4
53813  .byte  102,15,126,214                      // movd          %xmm2,%esi
53814  .byte  102,15,112,242,78                   // pshufd        $0x4e,%xmm2,%xmm6
53815  .byte  243,15,16,20,183                    // movss         (%edi,%esi,4),%xmm2
53816  .byte  102,15,126,246                      // movd          %xmm6,%esi
53817  .byte  243,15,16,52,183                    // movss         (%edi,%esi,4),%xmm6
53818  .byte  139,117,20                          // mov           0x14(%ebp),%esi
53819  .byte  139,125,24                          // mov           0x18(%ebp),%edi
53820  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
53821  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
53822  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
53823  .byte  15,20,214                           // unpcklps      %xmm6,%xmm2
53824  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
53825  .byte  15,20,212                           // unpcklps      %xmm4,%xmm2
53826  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
53827  .byte  141,90,8                            // lea           0x8(%edx),%ebx
53828  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
53829  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
53830  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
53831  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
53832  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
53833  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
53834  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
53835  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
53836  .byte  137,4,36                            // mov           %eax,(%esp)
53837  .byte  255,82,4                            // call          *0x4(%edx)
53838  .byte  131,196,108                         // add           $0x6c,%esp
53839  .byte  94                                  // pop           %esi
53840  .byte  95                                  // pop           %edi
53841  .byte  91                                  // pop           %ebx
53842  .byte  93                                  // pop           %ebp
53843  .byte  195                                 // ret
53844
53845HIDDEN _sk_table_a_sse2
53846.globl _sk_table_a_sse2
53847FUNCTION(_sk_table_a_sse2)
53848_sk_table_a_sse2:
53849  .byte  85                                  // push          %ebp
53850  .byte  137,229                             // mov           %esp,%ebp
53851  .byte  83                                  // push          %ebx
53852  .byte  87                                  // push          %edi
53853  .byte  86                                  // push          %esi
53854  .byte  131,236,108                         // sub           $0x6c,%esp
53855  .byte  139,69,8                            // mov           0x8(%ebp),%eax
53856  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
53857  .byte  139,85,12                           // mov           0xc(%ebp),%edx
53858  .byte  139,50                              // mov           (%edx),%esi
53859  .byte  139,62                              // mov           (%esi),%edi
53860  .byte  139,118,4                           // mov           0x4(%esi),%esi
53861  .byte  78                                  // dec           %esi
53862  .byte  102,15,110,230                      // movd          %esi,%xmm4
53863  .byte  102,15,112,228,0                    // pshufd        $0x0,%xmm4,%xmm4
53864  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
53865  .byte  15,89,227                           // mulps         %xmm3,%xmm4
53866  .byte  102,15,91,220                       // cvtps2dq      %xmm4,%xmm3
53867  .byte  102,15,112,227,229                  // pshufd        $0xe5,%xmm3,%xmm4
53868  .byte  102,15,112,235,231                  // pshufd        $0xe7,%xmm3,%xmm5
53869  .byte  102,15,126,238                      // movd          %xmm5,%esi
53870  .byte  243,15,16,44,183                    // movss         (%edi,%esi,4),%xmm5
53871  .byte  102,15,126,230                      // movd          %xmm4,%esi
53872  .byte  243,15,16,36,183                    // movss         (%edi,%esi,4),%xmm4
53873  .byte  102,15,126,222                      // movd          %xmm3,%esi
53874  .byte  102,15,112,243,78                   // pshufd        $0x4e,%xmm3,%xmm6
53875  .byte  243,15,16,28,183                    // movss         (%edi,%esi,4),%xmm3
53876  .byte  102,15,126,246                      // movd          %xmm6,%esi
53877  .byte  243,15,16,52,183                    // movss         (%edi,%esi,4),%xmm6
53878  .byte  139,117,20                          // mov           0x14(%ebp),%esi
53879  .byte  139,125,24                          // mov           0x18(%ebp),%edi
53880  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
53881  .byte  15,20,229                           // unpcklps      %xmm5,%xmm4
53882  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
53883  .byte  15,20,222                           // unpcklps      %xmm6,%xmm3
53884  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
53885  .byte  15,20,220                           // unpcklps      %xmm4,%xmm3
53886  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
53887  .byte  141,90,8                            // lea           0x8(%edx),%ebx
53888  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
53889  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
53890  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
53891  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
53892  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
53893  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
53894  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
53895  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
53896  .byte  137,4,36                            // mov           %eax,(%esp)
53897  .byte  255,82,4                            // call          *0x4(%edx)
53898  .byte  131,196,108                         // add           $0x6c,%esp
53899  .byte  94                                  // pop           %esi
53900  .byte  95                                  // pop           %edi
53901  .byte  91                                  // pop           %ebx
53902  .byte  93                                  // pop           %ebp
53903  .byte  195                                 // ret
53904
53905HIDDEN _sk_parametric_r_sse2
53906.globl _sk_parametric_r_sse2
53907FUNCTION(_sk_parametric_r_sse2)
53908_sk_parametric_r_sse2:
53909  .byte  85                                  // push          %ebp
53910  .byte  137,229                             // mov           %esp,%ebp
53911  .byte  83                                  // push          %ebx
53912  .byte  87                                  // push          %edi
53913  .byte  86                                  // push          %esi
53914  .byte  131,236,108                         // sub           $0x6c,%esp
53915  .byte  232,0,0,0,0                         // call          4329 <_sk_parametric_r_sse2+0xe>
53916  .byte  94                                  // pop           %esi
53917  .byte  139,69,8                            // mov           0x8(%ebp),%eax
53918  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
53919  .byte  139,85,12                           // mov           0xc(%ebp),%edx
53920  .byte  139,58                              // mov           (%edx),%edi
53921  .byte  243,15,16,47                        // movss         (%edi),%xmm5
53922  .byte  243,15,16,119,4                     // movss         0x4(%edi),%xmm6
53923  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
53924  .byte  243,15,16,103,8                     // movss         0x8(%edi),%xmm4
53925  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
53926  .byte  15,89,240                           // mulps         %xmm0,%xmm6
53927  .byte  15,88,244                           // addps         %xmm4,%xmm6
53928  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
53929  .byte  15,91,230                           // cvtdq2ps      %xmm6,%xmm4
53930  .byte  15,89,166,55,85,0,0                 // mulps         0x5537(%esi),%xmm4
53931  .byte  15,84,182,71,85,0,0                 // andps         0x5547(%esi),%xmm6
53932  .byte  15,86,182,87,85,0,0                 // orps          0x5557(%esi),%xmm6
53933  .byte  15,88,166,103,85,0,0                // addps         0x5567(%esi),%xmm4
53934  .byte  15,40,190,119,85,0,0                // movaps        0x5577(%esi),%xmm7
53935  .byte  15,89,254                           // mulps         %xmm6,%xmm7
53936  .byte  15,92,231                           // subps         %xmm7,%xmm4
53937  .byte  15,88,182,135,85,0,0                // addps         0x5587(%esi),%xmm6
53938  .byte  15,40,190,151,85,0,0                // movaps        0x5597(%esi),%xmm7
53939  .byte  15,94,254                           // divps         %xmm6,%xmm7
53940  .byte  15,92,231                           // subps         %xmm7,%xmm4
53941  .byte  15,89,229                           // mulps         %xmm5,%xmm4
53942  .byte  243,15,91,236                       // cvttps2dq     %xmm4,%xmm5
53943  .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
53944  .byte  15,40,252                           // movaps        %xmm4,%xmm7
53945  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
53946  .byte  15,40,174,167,85,0,0                // movaps        0x55a7(%esi),%xmm5
53947  .byte  15,84,253                           // andps         %xmm5,%xmm7
53948  .byte  15,92,247                           // subps         %xmm7,%xmm6
53949  .byte  15,40,252                           // movaps        %xmm4,%xmm7
53950  .byte  15,92,254                           // subps         %xmm6,%xmm7
53951  .byte  15,88,166,183,85,0,0                // addps         0x55b7(%esi),%xmm4
53952  .byte  15,40,182,199,85,0,0                // movaps        0x55c7(%esi),%xmm6
53953  .byte  15,89,247                           // mulps         %xmm7,%xmm6
53954  .byte  15,92,230                           // subps         %xmm6,%xmm4
53955  .byte  15,40,182,215,85,0,0                // movaps        0x55d7(%esi),%xmm6
53956  .byte  15,92,247                           // subps         %xmm7,%xmm6
53957  .byte  15,40,190,231,85,0,0                // movaps        0x55e7(%esi),%xmm7
53958  .byte  15,94,254                           // divps         %xmm6,%xmm7
53959  .byte  15,88,252                           // addps         %xmm4,%xmm7
53960  .byte  15,89,190,247,85,0,0                // mulps         0x55f7(%esi),%xmm7
53961  .byte  139,117,20                          // mov           0x14(%ebp),%esi
53962  .byte  243,15,16,103,16                    // movss         0x10(%edi),%xmm4
53963  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
53964  .byte  243,15,16,119,12                    // movss         0xc(%edi),%xmm6
53965  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
53966  .byte  15,89,240                           // mulps         %xmm0,%xmm6
53967  .byte  15,194,196,2                        // cmpleps       %xmm4,%xmm0
53968  .byte  243,15,16,103,24                    // movss         0x18(%edi),%xmm4
53969  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
53970  .byte  15,88,244                           // addps         %xmm4,%xmm6
53971  .byte  243,15,16,103,20                    // movss         0x14(%edi),%xmm4
53972  .byte  139,125,24                          // mov           0x18(%ebp),%edi
53973  .byte  102,15,91,255                       // cvtps2dq      %xmm7,%xmm7
53974  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
53975  .byte  15,88,231                           // addps         %xmm7,%xmm4
53976  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
53977  .byte  15,84,240                           // andps         %xmm0,%xmm6
53978  .byte  15,85,196                           // andnps        %xmm4,%xmm0
53979  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
53980  .byte  15,86,198                           // orps          %xmm6,%xmm0
53981  .byte  15,87,246                           // xorps         %xmm6,%xmm6
53982  .byte  15,95,198                           // maxps         %xmm6,%xmm0
53983  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
53984  .byte  15,93,197                           // minps         %xmm5,%xmm0
53985  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
53986  .byte  141,90,8                            // lea           0x8(%edx),%ebx
53987  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
53988  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
53989  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
53990  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
53991  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
53992  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
53993  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
53994  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
53995  .byte  137,4,36                            // mov           %eax,(%esp)
53996  .byte  255,82,4                            // call          *0x4(%edx)
53997  .byte  131,196,108                         // add           $0x6c,%esp
53998  .byte  94                                  // pop           %esi
53999  .byte  95                                  // pop           %edi
54000  .byte  91                                  // pop           %ebx
54001  .byte  93                                  // pop           %ebp
54002  .byte  195                                 // ret
54003
54004HIDDEN _sk_parametric_g_sse2
54005.globl _sk_parametric_g_sse2
54006FUNCTION(_sk_parametric_g_sse2)
54007_sk_parametric_g_sse2:
54008  .byte  85                                  // push          %ebp
54009  .byte  137,229                             // mov           %esp,%ebp
54010  .byte  83                                  // push          %ebx
54011  .byte  87                                  // push          %edi
54012  .byte  86                                  // push          %esi
54013  .byte  131,236,108                         // sub           $0x6c,%esp
54014  .byte  232,0,0,0,0                         // call          448b <_sk_parametric_g_sse2+0xe>
54015  .byte  94                                  // pop           %esi
54016  .byte  139,69,8                            // mov           0x8(%ebp),%eax
54017  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
54018  .byte  139,85,12                           // mov           0xc(%ebp),%edx
54019  .byte  139,58                              // mov           (%edx),%edi
54020  .byte  243,15,16,47                        // movss         (%edi),%xmm5
54021  .byte  243,15,16,119,4                     // movss         0x4(%edi),%xmm6
54022  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
54023  .byte  243,15,16,103,8                     // movss         0x8(%edi),%xmm4
54024  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
54025  .byte  15,89,241                           // mulps         %xmm1,%xmm6
54026  .byte  15,88,244                           // addps         %xmm4,%xmm6
54027  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
54028  .byte  15,91,230                           // cvtdq2ps      %xmm6,%xmm4
54029  .byte  15,89,166,165,84,0,0                // mulps         0x54a5(%esi),%xmm4
54030  .byte  15,84,182,181,84,0,0                // andps         0x54b5(%esi),%xmm6
54031  .byte  15,86,182,197,84,0,0                // orps          0x54c5(%esi),%xmm6
54032  .byte  15,88,166,213,84,0,0                // addps         0x54d5(%esi),%xmm4
54033  .byte  15,40,190,229,84,0,0                // movaps        0x54e5(%esi),%xmm7
54034  .byte  15,89,254                           // mulps         %xmm6,%xmm7
54035  .byte  15,92,231                           // subps         %xmm7,%xmm4
54036  .byte  15,88,182,245,84,0,0                // addps         0x54f5(%esi),%xmm6
54037  .byte  15,40,190,5,85,0,0                  // movaps        0x5505(%esi),%xmm7
54038  .byte  15,94,254                           // divps         %xmm6,%xmm7
54039  .byte  15,92,231                           // subps         %xmm7,%xmm4
54040  .byte  15,89,229                           // mulps         %xmm5,%xmm4
54041  .byte  243,15,91,236                       // cvttps2dq     %xmm4,%xmm5
54042  .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
54043  .byte  15,40,252                           // movaps        %xmm4,%xmm7
54044  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
54045  .byte  15,40,174,21,85,0,0                 // movaps        0x5515(%esi),%xmm5
54046  .byte  15,84,253                           // andps         %xmm5,%xmm7
54047  .byte  15,92,247                           // subps         %xmm7,%xmm6
54048  .byte  15,40,252                           // movaps        %xmm4,%xmm7
54049  .byte  15,92,254                           // subps         %xmm6,%xmm7
54050  .byte  15,88,166,37,85,0,0                 // addps         0x5525(%esi),%xmm4
54051  .byte  15,40,182,53,85,0,0                 // movaps        0x5535(%esi),%xmm6
54052  .byte  15,89,247                           // mulps         %xmm7,%xmm6
54053  .byte  15,92,230                           // subps         %xmm6,%xmm4
54054  .byte  15,40,182,69,85,0,0                 // movaps        0x5545(%esi),%xmm6
54055  .byte  15,92,247                           // subps         %xmm7,%xmm6
54056  .byte  15,40,190,85,85,0,0                 // movaps        0x5555(%esi),%xmm7
54057  .byte  15,94,254                           // divps         %xmm6,%xmm7
54058  .byte  15,88,252                           // addps         %xmm4,%xmm7
54059  .byte  15,89,190,101,85,0,0                // mulps         0x5565(%esi),%xmm7
54060  .byte  139,117,20                          // mov           0x14(%ebp),%esi
54061  .byte  243,15,16,103,16                    // movss         0x10(%edi),%xmm4
54062  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
54063  .byte  243,15,16,119,12                    // movss         0xc(%edi),%xmm6
54064  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
54065  .byte  15,89,241                           // mulps         %xmm1,%xmm6
54066  .byte  15,194,204,2                        // cmpleps       %xmm4,%xmm1
54067  .byte  243,15,16,103,24                    // movss         0x18(%edi),%xmm4
54068  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
54069  .byte  15,88,244                           // addps         %xmm4,%xmm6
54070  .byte  243,15,16,103,20                    // movss         0x14(%edi),%xmm4
54071  .byte  139,125,24                          // mov           0x18(%ebp),%edi
54072  .byte  102,15,91,255                       // cvtps2dq      %xmm7,%xmm7
54073  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
54074  .byte  15,88,231                           // addps         %xmm7,%xmm4
54075  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
54076  .byte  15,84,241                           // andps         %xmm1,%xmm6
54077  .byte  15,85,204                           // andnps        %xmm4,%xmm1
54078  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
54079  .byte  15,86,206                           // orps          %xmm6,%xmm1
54080  .byte  15,87,246                           // xorps         %xmm6,%xmm6
54081  .byte  15,95,206                           // maxps         %xmm6,%xmm1
54082  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
54083  .byte  15,93,205                           // minps         %xmm5,%xmm1
54084  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
54085  .byte  141,90,8                            // lea           0x8(%edx),%ebx
54086  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
54087  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
54088  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
54089  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
54090  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
54091  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
54092  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
54093  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
54094  .byte  137,4,36                            // mov           %eax,(%esp)
54095  .byte  255,82,4                            // call          *0x4(%edx)
54096  .byte  131,196,108                         // add           $0x6c,%esp
54097  .byte  94                                  // pop           %esi
54098  .byte  95                                  // pop           %edi
54099  .byte  91                                  // pop           %ebx
54100  .byte  93                                  // pop           %ebp
54101  .byte  195                                 // ret
54102
54103HIDDEN _sk_parametric_b_sse2
54104.globl _sk_parametric_b_sse2
54105FUNCTION(_sk_parametric_b_sse2)
54106_sk_parametric_b_sse2:
54107  .byte  85                                  // push          %ebp
54108  .byte  137,229                             // mov           %esp,%ebp
54109  .byte  83                                  // push          %ebx
54110  .byte  87                                  // push          %edi
54111  .byte  86                                  // push          %esi
54112  .byte  131,236,108                         // sub           $0x6c,%esp
54113  .byte  232,0,0,0,0                         // call          45ed <_sk_parametric_b_sse2+0xe>
54114  .byte  94                                  // pop           %esi
54115  .byte  139,69,8                            // mov           0x8(%ebp),%eax
54116  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
54117  .byte  139,85,12                           // mov           0xc(%ebp),%edx
54118  .byte  139,58                              // mov           (%edx),%edi
54119  .byte  243,15,16,47                        // movss         (%edi),%xmm5
54120  .byte  243,15,16,119,4                     // movss         0x4(%edi),%xmm6
54121  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
54122  .byte  243,15,16,103,8                     // movss         0x8(%edi),%xmm4
54123  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
54124  .byte  15,89,242                           // mulps         %xmm2,%xmm6
54125  .byte  15,88,244                           // addps         %xmm4,%xmm6
54126  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
54127  .byte  15,91,230                           // cvtdq2ps      %xmm6,%xmm4
54128  .byte  15,89,166,19,84,0,0                 // mulps         0x5413(%esi),%xmm4
54129  .byte  15,84,182,35,84,0,0                 // andps         0x5423(%esi),%xmm6
54130  .byte  15,86,182,51,84,0,0                 // orps          0x5433(%esi),%xmm6
54131  .byte  15,88,166,67,84,0,0                 // addps         0x5443(%esi),%xmm4
54132  .byte  15,40,190,83,84,0,0                 // movaps        0x5453(%esi),%xmm7
54133  .byte  15,89,254                           // mulps         %xmm6,%xmm7
54134  .byte  15,92,231                           // subps         %xmm7,%xmm4
54135  .byte  15,88,182,99,84,0,0                 // addps         0x5463(%esi),%xmm6
54136  .byte  15,40,190,115,84,0,0                // movaps        0x5473(%esi),%xmm7
54137  .byte  15,94,254                           // divps         %xmm6,%xmm7
54138  .byte  15,92,231                           // subps         %xmm7,%xmm4
54139  .byte  15,89,229                           // mulps         %xmm5,%xmm4
54140  .byte  243,15,91,236                       // cvttps2dq     %xmm4,%xmm5
54141  .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
54142  .byte  15,40,252                           // movaps        %xmm4,%xmm7
54143  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
54144  .byte  15,40,174,131,84,0,0                // movaps        0x5483(%esi),%xmm5
54145  .byte  15,84,253                           // andps         %xmm5,%xmm7
54146  .byte  15,92,247                           // subps         %xmm7,%xmm6
54147  .byte  15,40,252                           // movaps        %xmm4,%xmm7
54148  .byte  15,92,254                           // subps         %xmm6,%xmm7
54149  .byte  15,88,166,147,84,0,0                // addps         0x5493(%esi),%xmm4
54150  .byte  15,40,182,163,84,0,0                // movaps        0x54a3(%esi),%xmm6
54151  .byte  15,89,247                           // mulps         %xmm7,%xmm6
54152  .byte  15,92,230                           // subps         %xmm6,%xmm4
54153  .byte  15,40,182,179,84,0,0                // movaps        0x54b3(%esi),%xmm6
54154  .byte  15,92,247                           // subps         %xmm7,%xmm6
54155  .byte  15,40,190,195,84,0,0                // movaps        0x54c3(%esi),%xmm7
54156  .byte  15,94,254                           // divps         %xmm6,%xmm7
54157  .byte  15,88,252                           // addps         %xmm4,%xmm7
54158  .byte  15,89,190,211,84,0,0                // mulps         0x54d3(%esi),%xmm7
54159  .byte  139,117,20                          // mov           0x14(%ebp),%esi
54160  .byte  243,15,16,103,16                    // movss         0x10(%edi),%xmm4
54161  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
54162  .byte  243,15,16,119,12                    // movss         0xc(%edi),%xmm6
54163  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
54164  .byte  15,89,242                           // mulps         %xmm2,%xmm6
54165  .byte  15,194,212,2                        // cmpleps       %xmm4,%xmm2
54166  .byte  243,15,16,103,24                    // movss         0x18(%edi),%xmm4
54167  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
54168  .byte  15,88,244                           // addps         %xmm4,%xmm6
54169  .byte  243,15,16,103,20                    // movss         0x14(%edi),%xmm4
54170  .byte  139,125,24                          // mov           0x18(%ebp),%edi
54171  .byte  102,15,91,255                       // cvtps2dq      %xmm7,%xmm7
54172  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
54173  .byte  15,88,231                           // addps         %xmm7,%xmm4
54174  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
54175  .byte  15,84,242                           // andps         %xmm2,%xmm6
54176  .byte  15,85,212                           // andnps        %xmm4,%xmm2
54177  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
54178  .byte  15,86,214                           // orps          %xmm6,%xmm2
54179  .byte  15,87,246                           // xorps         %xmm6,%xmm6
54180  .byte  15,95,214                           // maxps         %xmm6,%xmm2
54181  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
54182  .byte  15,93,213                           // minps         %xmm5,%xmm2
54183  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
54184  .byte  141,90,8                            // lea           0x8(%edx),%ebx
54185  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
54186  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
54187  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
54188  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
54189  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
54190  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
54191  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
54192  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
54193  .byte  137,4,36                            // mov           %eax,(%esp)
54194  .byte  255,82,4                            // call          *0x4(%edx)
54195  .byte  131,196,108                         // add           $0x6c,%esp
54196  .byte  94                                  // pop           %esi
54197  .byte  95                                  // pop           %edi
54198  .byte  91                                  // pop           %ebx
54199  .byte  93                                  // pop           %ebp
54200  .byte  195                                 // ret
54201
54202HIDDEN _sk_parametric_a_sse2
54203.globl _sk_parametric_a_sse2
54204FUNCTION(_sk_parametric_a_sse2)
54205_sk_parametric_a_sse2:
54206  .byte  85                                  // push          %ebp
54207  .byte  137,229                             // mov           %esp,%ebp
54208  .byte  83                                  // push          %ebx
54209  .byte  87                                  // push          %edi
54210  .byte  86                                  // push          %esi
54211  .byte  131,236,108                         // sub           $0x6c,%esp
54212  .byte  232,0,0,0,0                         // call          474f <_sk_parametric_a_sse2+0xe>
54213  .byte  94                                  // pop           %esi
54214  .byte  139,69,8                            // mov           0x8(%ebp),%eax
54215  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
54216  .byte  139,85,12                           // mov           0xc(%ebp),%edx
54217  .byte  139,58                              // mov           (%edx),%edi
54218  .byte  243,15,16,47                        // movss         (%edi),%xmm5
54219  .byte  243,15,16,119,4                     // movss         0x4(%edi),%xmm6
54220  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
54221  .byte  243,15,16,103,8                     // movss         0x8(%edi),%xmm4
54222  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
54223  .byte  15,89,243                           // mulps         %xmm3,%xmm6
54224  .byte  15,88,244                           // addps         %xmm4,%xmm6
54225  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
54226  .byte  15,91,230                           // cvtdq2ps      %xmm6,%xmm4
54227  .byte  15,89,166,129,83,0,0                // mulps         0x5381(%esi),%xmm4
54228  .byte  15,84,182,145,83,0,0                // andps         0x5391(%esi),%xmm6
54229  .byte  15,86,182,161,83,0,0                // orps          0x53a1(%esi),%xmm6
54230  .byte  15,88,166,177,83,0,0                // addps         0x53b1(%esi),%xmm4
54231  .byte  15,40,190,193,83,0,0                // movaps        0x53c1(%esi),%xmm7
54232  .byte  15,89,254                           // mulps         %xmm6,%xmm7
54233  .byte  15,92,231                           // subps         %xmm7,%xmm4
54234  .byte  15,88,182,209,83,0,0                // addps         0x53d1(%esi),%xmm6
54235  .byte  15,40,190,225,83,0,0                // movaps        0x53e1(%esi),%xmm7
54236  .byte  15,94,254                           // divps         %xmm6,%xmm7
54237  .byte  15,92,231                           // subps         %xmm7,%xmm4
54238  .byte  15,89,229                           // mulps         %xmm5,%xmm4
54239  .byte  243,15,91,236                       // cvttps2dq     %xmm4,%xmm5
54240  .byte  15,91,245                           // cvtdq2ps      %xmm5,%xmm6
54241  .byte  15,40,252                           // movaps        %xmm4,%xmm7
54242  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
54243  .byte  15,40,174,241,83,0,0                // movaps        0x53f1(%esi),%xmm5
54244  .byte  15,84,253                           // andps         %xmm5,%xmm7
54245  .byte  15,92,247                           // subps         %xmm7,%xmm6
54246  .byte  15,40,252                           // movaps        %xmm4,%xmm7
54247  .byte  15,92,254                           // subps         %xmm6,%xmm7
54248  .byte  15,88,166,1,84,0,0                  // addps         0x5401(%esi),%xmm4
54249  .byte  15,40,182,17,84,0,0                 // movaps        0x5411(%esi),%xmm6
54250  .byte  15,89,247                           // mulps         %xmm7,%xmm6
54251  .byte  15,92,230                           // subps         %xmm6,%xmm4
54252  .byte  15,40,182,33,84,0,0                 // movaps        0x5421(%esi),%xmm6
54253  .byte  15,92,247                           // subps         %xmm7,%xmm6
54254  .byte  15,40,190,49,84,0,0                 // movaps        0x5431(%esi),%xmm7
54255  .byte  15,94,254                           // divps         %xmm6,%xmm7
54256  .byte  15,88,252                           // addps         %xmm4,%xmm7
54257  .byte  15,89,190,65,84,0,0                 // mulps         0x5441(%esi),%xmm7
54258  .byte  139,117,20                          // mov           0x14(%ebp),%esi
54259  .byte  243,15,16,103,16                    // movss         0x10(%edi),%xmm4
54260  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
54261  .byte  243,15,16,119,12                    // movss         0xc(%edi),%xmm6
54262  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
54263  .byte  15,89,243                           // mulps         %xmm3,%xmm6
54264  .byte  15,194,220,2                        // cmpleps       %xmm4,%xmm3
54265  .byte  243,15,16,103,24                    // movss         0x18(%edi),%xmm4
54266  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
54267  .byte  15,88,244                           // addps         %xmm4,%xmm6
54268  .byte  243,15,16,103,20                    // movss         0x14(%edi),%xmm4
54269  .byte  139,125,24                          // mov           0x18(%ebp),%edi
54270  .byte  102,15,91,255                       // cvtps2dq      %xmm7,%xmm7
54271  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
54272  .byte  15,88,231                           // addps         %xmm7,%xmm4
54273  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
54274  .byte  15,84,243                           // andps         %xmm3,%xmm6
54275  .byte  15,85,220                           // andnps        %xmm4,%xmm3
54276  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
54277  .byte  15,86,222                           // orps          %xmm6,%xmm3
54278  .byte  15,87,246                           // xorps         %xmm6,%xmm6
54279  .byte  15,95,222                           // maxps         %xmm6,%xmm3
54280  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
54281  .byte  15,93,221                           // minps         %xmm5,%xmm3
54282  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
54283  .byte  141,90,8                            // lea           0x8(%edx),%ebx
54284  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
54285  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
54286  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
54287  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
54288  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
54289  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
54290  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
54291  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
54292  .byte  137,4,36                            // mov           %eax,(%esp)
54293  .byte  255,82,4                            // call          *0x4(%edx)
54294  .byte  131,196,108                         // add           $0x6c,%esp
54295  .byte  94                                  // pop           %esi
54296  .byte  95                                  // pop           %edi
54297  .byte  91                                  // pop           %ebx
54298  .byte  93                                  // pop           %ebp
54299  .byte  195                                 // ret
54300
54301HIDDEN _sk_lab_to_xyz_sse2
54302.globl _sk_lab_to_xyz_sse2
54303FUNCTION(_sk_lab_to_xyz_sse2)
54304_sk_lab_to_xyz_sse2:
54305  .byte  85                                  // push          %ebp
54306  .byte  137,229                             // mov           %esp,%ebp
54307  .byte  83                                  // push          %ebx
54308  .byte  87                                  // push          %edi
54309  .byte  86                                  // push          %esi
54310  .byte  131,236,124                         // sub           $0x7c,%esp
54311  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
54312  .byte  15,40,218                           // movaps        %xmm2,%xmm3
54313  .byte  15,40,208                           // movaps        %xmm0,%xmm2
54314  .byte  232,0,0,0,0                         // call          48bb <_sk_lab_to_xyz_sse2+0x18>
54315  .byte  88                                  // pop           %eax
54316  .byte  15,89,144,229,82,0,0                // mulps         0x52e5(%eax),%xmm2
54317  .byte  15,40,160,245,82,0,0                // movaps        0x52f5(%eax),%xmm4
54318  .byte  15,89,204                           // mulps         %xmm4,%xmm1
54319  .byte  15,40,168,5,83,0,0                  // movaps        0x5305(%eax),%xmm5
54320  .byte  15,88,205                           // addps         %xmm5,%xmm1
54321  .byte  15,89,220                           // mulps         %xmm4,%xmm3
54322  .byte  15,88,221                           // addps         %xmm5,%xmm3
54323  .byte  15,88,144,21,83,0,0                 // addps         0x5315(%eax),%xmm2
54324  .byte  15,89,144,37,83,0,0                 // mulps         0x5325(%eax),%xmm2
54325  .byte  15,89,136,53,83,0,0                 // mulps         0x5335(%eax),%xmm1
54326  .byte  15,88,202                           // addps         %xmm2,%xmm1
54327  .byte  15,89,152,69,83,0,0                 // mulps         0x5345(%eax),%xmm3
54328  .byte  15,40,234                           // movaps        %xmm2,%xmm5
54329  .byte  15,92,235                           // subps         %xmm3,%xmm5
54330  .byte  15,40,193                           // movaps        %xmm1,%xmm0
54331  .byte  15,89,192                           // mulps         %xmm0,%xmm0
54332  .byte  15,89,193                           // mulps         %xmm1,%xmm0
54333  .byte  15,40,152,85,83,0,0                 // movaps        0x5355(%eax),%xmm3
54334  .byte  15,40,227                           // movaps        %xmm3,%xmm4
54335  .byte  15,194,224,1                        // cmpltps       %xmm0,%xmm4
54336  .byte  15,40,176,101,83,0,0                // movaps        0x5365(%eax),%xmm6
54337  .byte  15,88,206                           // addps         %xmm6,%xmm1
54338  .byte  15,40,184,117,83,0,0                // movaps        0x5375(%eax),%xmm7
54339  .byte  15,89,207                           // mulps         %xmm7,%xmm1
54340  .byte  15,84,196                           // andps         %xmm4,%xmm0
54341  .byte  15,85,225                           // andnps        %xmm1,%xmm4
54342  .byte  15,86,224                           // orps          %xmm0,%xmm4
54343  .byte  15,40,194                           // movaps        %xmm2,%xmm0
54344  .byte  15,89,192                           // mulps         %xmm0,%xmm0
54345  .byte  15,89,194                           // mulps         %xmm2,%xmm0
54346  .byte  15,40,203                           // movaps        %xmm3,%xmm1
54347  .byte  15,194,200,1                        // cmpltps       %xmm0,%xmm1
54348  .byte  15,88,214                           // addps         %xmm6,%xmm2
54349  .byte  15,89,215                           // mulps         %xmm7,%xmm2
54350  .byte  15,84,193                           // andps         %xmm1,%xmm0
54351  .byte  15,85,202                           // andnps        %xmm2,%xmm1
54352  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
54353  .byte  139,85,16                           // mov           0x10(%ebp),%edx
54354  .byte  139,117,20                          // mov           0x14(%ebp),%esi
54355  .byte  139,125,24                          // mov           0x18(%ebp),%edi
54356  .byte  15,86,200                           // orps          %xmm0,%xmm1
54357  .byte  15,40,197                           // movaps        %xmm5,%xmm0
54358  .byte  15,89,192                           // mulps         %xmm0,%xmm0
54359  .byte  15,89,197                           // mulps         %xmm5,%xmm0
54360  .byte  15,88,238                           // addps         %xmm6,%xmm5
54361  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
54362  .byte  15,89,239                           // mulps         %xmm7,%xmm5
54363  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
54364  .byte  15,194,216,1                        // cmpltps       %xmm0,%xmm3
54365  .byte  15,84,195                           // andps         %xmm3,%xmm0
54366  .byte  15,85,221                           // andnps        %xmm5,%xmm3
54367  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
54368  .byte  15,86,216                           // orps          %xmm0,%xmm3
54369  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
54370  .byte  15,89,160,133,83,0,0                // mulps         0x5385(%eax),%xmm4
54371  .byte  15,89,152,149,83,0,0                // mulps         0x5395(%eax),%xmm3
54372  .byte  139,69,12                           // mov           0xc(%ebp),%eax
54373  .byte  141,88,4                            // lea           0x4(%eax),%ebx
54374  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
54375  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
54376  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
54377  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
54378  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
54379  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
54380  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
54381  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
54382  .byte  137,12,36                           // mov           %ecx,(%esp)
54383  .byte  15,40,196                           // movaps        %xmm4,%xmm0
54384  .byte  15,40,211                           // movaps        %xmm3,%xmm2
54385  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
54386  .byte  255,16                              // call          *(%eax)
54387  .byte  131,196,124                         // add           $0x7c,%esp
54388  .byte  94                                  // pop           %esi
54389  .byte  95                                  // pop           %edi
54390  .byte  91                                  // pop           %ebx
54391  .byte  93                                  // pop           %ebp
54392  .byte  195                                 // ret
54393
54394HIDDEN _sk_load_a8_sse2
54395.globl _sk_load_a8_sse2
54396FUNCTION(_sk_load_a8_sse2)
54397_sk_load_a8_sse2:
54398  .byte  85                                  // push          %ebp
54399  .byte  137,229                             // mov           %esp,%ebp
54400  .byte  83                                  // push          %ebx
54401  .byte  87                                  // push          %edi
54402  .byte  86                                  // push          %esi
54403  .byte  131,236,108                         // sub           $0x6c,%esp
54404  .byte  232,0,0,0,0                         // call          49ea <_sk_load_a8_sse2+0xe>
54405  .byte  94                                  // pop           %esi
54406  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
54407  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
54408  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
54409  .byte  102,15,111,69,40                    // movdqa        0x28(%ebp),%xmm0
54410  .byte  139,85,24                           // mov           0x18(%ebp),%edx
54411  .byte  139,125,20                          // mov           0x14(%ebp),%edi
54412  .byte  139,69,12                           // mov           0xc(%ebp),%eax
54413  .byte  139,8                               // mov           (%eax),%ecx
54414  .byte  139,9                               // mov           (%ecx),%ecx
54415  .byte  133,210                             // test          %edx,%edx
54416  .byte  139,93,16                           // mov           0x10(%ebp),%ebx
54417  .byte  117,98                              // jne           4a72 <_sk_load_a8_sse2+0x96>
54418  .byte  102,15,110,28,25                    // movd          (%ecx,%ebx,1),%xmm3
54419  .byte  102,15,96,216                       // punpcklbw     %xmm0,%xmm3
54420  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
54421  .byte  102,15,219,158,118,82,0,0           // pand          0x5276(%esi),%xmm3
54422  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
54423  .byte  15,89,158,134,82,0,0                // mulps         0x5286(%esi),%xmm3
54424  .byte  141,72,8                            // lea           0x8(%eax),%ecx
54425  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
54426  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
54427  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
54428  .byte  102,15,127,68,36,32                 // movdqa        %xmm0,0x20(%esp)
54429  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
54430  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
54431  .byte  137,92,36,8                         // mov           %ebx,0x8(%esp)
54432  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
54433  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
54434  .byte  137,12,36                           // mov           %ecx,(%esp)
54435  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
54436  .byte  15,87,201                           // xorps         %xmm1,%xmm1
54437  .byte  15,87,210                           // xorps         %xmm2,%xmm2
54438  .byte  255,80,4                            // call          *0x4(%eax)
54439  .byte  131,196,108                         // add           $0x6c,%esp
54440  .byte  94                                  // pop           %esi
54441  .byte  95                                  // pop           %edi
54442  .byte  91                                  // pop           %ebx
54443  .byte  93                                  // pop           %ebp
54444  .byte  195                                 // ret
54445  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
54446  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
54447  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
54448  .byte  116,61                              // je            4abc <_sk_load_a8_sse2+0xe0>
54449  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
54450  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
54451  .byte  139,85,24                           // mov           0x18(%ebp),%edx
54452  .byte  116,23                              // je            4aa3 <_sk_load_a8_sse2+0xc7>
54453  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
54454  .byte  117,139                             // jne           4a1d <_sk_load_a8_sse2+0x41>
54455  .byte  15,182,124,25,2                     // movzbl        0x2(%ecx,%ebx,1),%edi
54456  .byte  102,15,110,223                      // movd          %edi,%xmm3
54457  .byte  139,125,20                          // mov           0x14(%ebp),%edi
54458  .byte  102,15,112,219,69                   // pshufd        $0x45,%xmm3,%xmm3
54459  .byte  15,183,12,25                        // movzwl        (%ecx,%ebx,1),%ecx
54460  .byte  102,15,110,233                      // movd          %ecx,%xmm5
54461  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
54462  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
54463  .byte  242,15,16,221                       // movsd         %xmm5,%xmm3
54464  .byte  233,97,255,255,255                  // jmp           4a1d <_sk_load_a8_sse2+0x41>
54465  .byte  15,182,12,25                        // movzbl        (%ecx,%ebx,1),%ecx
54466  .byte  102,15,110,217                      // movd          %ecx,%xmm3
54467  .byte  139,85,24                           // mov           0x18(%ebp),%edx
54468  .byte  233,81,255,255,255                  // jmp           4a1d <_sk_load_a8_sse2+0x41>
54469
54470HIDDEN _sk_load_a8_dst_sse2
54471.globl _sk_load_a8_dst_sse2
54472FUNCTION(_sk_load_a8_dst_sse2)
54473_sk_load_a8_dst_sse2:
54474  .byte  85                                  // push          %ebp
54475  .byte  137,229                             // mov           %esp,%ebp
54476  .byte  83                                  // push          %ebx
54477  .byte  87                                  // push          %edi
54478  .byte  86                                  // push          %esi
54479  .byte  131,236,108                         // sub           $0x6c,%esp
54480  .byte  232,0,0,0,0                         // call          4ada <_sk_load_a8_dst_sse2+0xe>
54481  .byte  91                                  // pop           %ebx
54482  .byte  139,85,24                           // mov           0x18(%ebp),%edx
54483  .byte  139,117,20                          // mov           0x14(%ebp),%esi
54484  .byte  139,69,12                           // mov           0xc(%ebp),%eax
54485  .byte  139,8                               // mov           (%eax),%ecx
54486  .byte  139,9                               // mov           (%ecx),%ecx
54487  .byte  133,210                             // test          %edx,%edx
54488  .byte  139,125,16                          // mov           0x10(%ebp),%edi
54489  .byte  117,94                              // jne           4b4d <_sk_load_a8_dst_sse2+0x81>
54490  .byte  102,15,110,36,57                    // movd          (%ecx,%edi,1),%xmm4
54491  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
54492  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
54493  .byte  102,15,219,163,166,81,0,0           // pand          0x51a6(%ebx),%xmm4
54494  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
54495  .byte  102,15,87,237                       // xorpd         %xmm5,%xmm5
54496  .byte  15,89,163,182,81,0,0                // mulps         0x51b6(%ebx),%xmm4
54497  .byte  141,72,8                            // lea           0x8(%eax),%ecx
54498  .byte  102,15,41,108,36,64                 // movapd        %xmm5,0x40(%esp)
54499  .byte  102,15,41,108,36,48                 // movapd        %xmm5,0x30(%esp)
54500  .byte  102,15,41,108,36,32                 // movapd        %xmm5,0x20(%esp)
54501  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
54502  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
54503  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
54504  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
54505  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
54506  .byte  137,12,36                           // mov           %ecx,(%esp)
54507  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
54508  .byte  255,80,4                            // call          *0x4(%eax)
54509  .byte  131,196,108                         // add           $0x6c,%esp
54510  .byte  94                                  // pop           %esi
54511  .byte  95                                  // pop           %edi
54512  .byte  91                                  // pop           %ebx
54513  .byte  93                                  // pop           %ebp
54514  .byte  195                                 // ret
54515  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
54516  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
54517  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
54518  .byte  116,61                              // je            4b97 <_sk_load_a8_dst_sse2+0xcb>
54519  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
54520  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
54521  .byte  139,85,24                           // mov           0x18(%ebp),%edx
54522  .byte  116,23                              // je            4b7e <_sk_load_a8_dst_sse2+0xb2>
54523  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
54524  .byte  117,143                             // jne           4afc <_sk_load_a8_dst_sse2+0x30>
54525  .byte  15,182,116,57,2                     // movzbl        0x2(%ecx,%edi,1),%esi
54526  .byte  102,15,110,230                      // movd          %esi,%xmm4
54527  .byte  139,117,20                          // mov           0x14(%ebp),%esi
54528  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
54529  .byte  15,183,12,57                        // movzwl        (%ecx,%edi,1),%ecx
54530  .byte  102,15,110,233                      // movd          %ecx,%xmm5
54531  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
54532  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
54533  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
54534  .byte  233,101,255,255,255                 // jmp           4afc <_sk_load_a8_dst_sse2+0x30>
54535  .byte  15,182,12,57                        // movzbl        (%ecx,%edi,1),%ecx
54536  .byte  102,15,110,225                      // movd          %ecx,%xmm4
54537  .byte  139,85,24                           // mov           0x18(%ebp),%edx
54538  .byte  233,85,255,255,255                  // jmp           4afc <_sk_load_a8_dst_sse2+0x30>
54539
54540HIDDEN _sk_gather_a8_sse2
54541.globl _sk_gather_a8_sse2
54542FUNCTION(_sk_gather_a8_sse2)
54543_sk_gather_a8_sse2:
54544  .byte  85                                  // push          %ebp
54545  .byte  137,229                             // mov           %esp,%ebp
54546  .byte  83                                  // push          %ebx
54547  .byte  87                                  // push          %edi
54548  .byte  86                                  // push          %esi
54549  .byte  131,236,108                         // sub           $0x6c,%esp
54550  .byte  139,69,12                           // mov           0xc(%ebp),%eax
54551  .byte  139,8                               // mov           (%eax),%ecx
54552  .byte  139,17                              // mov           (%ecx),%edx
54553  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
54554  .byte  102,15,110,81,4                     // movd          0x4(%ecx),%xmm2
54555  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
54556  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
54557  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
54558  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
54559  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
54560  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
54561  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
54562  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
54563  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
54564  .byte  102,15,126,193                      // movd          %xmm0,%ecx
54565  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
54566  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
54567  .byte  102,15,126,214                      // movd          %xmm2,%esi
54568  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
54569  .byte  102,15,126,199                      // movd          %xmm0,%edi
54570  .byte  15,182,52,50                        // movzbl        (%edx,%esi,1),%esi
54571  .byte  15,182,60,58                        // movzbl        (%edx,%edi,1),%edi
54572  .byte  193,231,8                           // shl           $0x8,%edi
54573  .byte  9,247                               // or            %esi,%edi
54574  .byte  102,15,126,206                      // movd          %xmm1,%esi
54575  .byte  15,182,12,10                        // movzbl        (%edx,%ecx,1),%ecx
54576  .byte  15,182,20,50                        // movzbl        (%edx,%esi,1),%edx
54577  .byte  232,0,0,0,0                         // call          4c21 <_sk_gather_a8_sse2+0x7a>
54578  .byte  94                                  // pop           %esi
54579  .byte  193,226,8                           // shl           $0x8,%edx
54580  .byte  9,202                               // or            %ecx,%edx
54581  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
54582  .byte  102,15,196,194,0                    // pinsrw        $0x0,%edx,%xmm0
54583  .byte  139,85,16                           // mov           0x10(%ebp),%edx
54584  .byte  102,15,196,199,1                    // pinsrw        $0x1,%edi,%xmm0
54585  .byte  139,125,20                          // mov           0x14(%ebp),%edi
54586  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
54587  .byte  102,15,96,193                       // punpcklbw     %xmm1,%xmm0
54588  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
54589  .byte  15,91,216                           // cvtdq2ps      %xmm0,%xmm3
54590  .byte  15,89,158,127,80,0,0                // mulps         0x507f(%esi),%xmm3
54591  .byte  139,117,24                          // mov           0x18(%ebp),%esi
54592  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
54593  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
54594  .byte  15,40,85,72                         // movaps        0x48(%ebp),%xmm2
54595  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
54596  .byte  141,88,8                            // lea           0x8(%eax),%ebx
54597  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
54598  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
54599  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
54600  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
54601  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
54602  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
54603  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
54604  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
54605  .byte  137,12,36                           // mov           %ecx,(%esp)
54606  .byte  15,87,192                           // xorps         %xmm0,%xmm0
54607  .byte  15,87,201                           // xorps         %xmm1,%xmm1
54608  .byte  15,87,210                           // xorps         %xmm2,%xmm2
54609  .byte  255,80,4                            // call          *0x4(%eax)
54610  .byte  131,196,108                         // add           $0x6c,%esp
54611  .byte  94                                  // pop           %esi
54612  .byte  95                                  // pop           %edi
54613  .byte  91                                  // pop           %ebx
54614  .byte  93                                  // pop           %ebp
54615  .byte  195                                 // ret
54616
54617HIDDEN _sk_store_a8_sse2
54618.globl _sk_store_a8_sse2
54619FUNCTION(_sk_store_a8_sse2)
54620_sk_store_a8_sse2:
54621  .byte  85                                  // push          %ebp
54622  .byte  137,229                             // mov           %esp,%ebp
54623  .byte  83                                  // push          %ebx
54624  .byte  87                                  // push          %edi
54625  .byte  86                                  // push          %esi
54626  .byte  129,236,156,0,0,0                   // sub           $0x9c,%esp
54627  .byte  232,0,0,0,0                         // call          4cb2 <_sk_store_a8_sse2+0x11>
54628  .byte  89                                  // pop           %ecx
54629  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
54630  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
54631  .byte  139,125,24                          // mov           0x18(%ebp),%edi
54632  .byte  139,85,20                           // mov           0x14(%ebp),%edx
54633  .byte  139,69,12                           // mov           0xc(%ebp),%eax
54634  .byte  139,48                              // mov           (%eax),%esi
54635  .byte  139,30                              // mov           (%esi),%ebx
54636  .byte  15,40,161,254,79,0,0                // movaps        0x4ffe(%ecx),%xmm4
54637  .byte  15,89,227                           // mulps         %xmm3,%xmm4
54638  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
54639  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
54640  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
54641  .byte  102,15,107,228                      // packssdw      %xmm4,%xmm4
54642  .byte  102,15,103,228                      // packuswb      %xmm4,%xmm4
54643  .byte  137,254                             // mov           %edi,%esi
54644  .byte  133,255                             // test          %edi,%edi
54645  .byte  139,125,16                          // mov           0x10(%ebp),%edi
54646  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
54647  .byte  117,70                              // jne           4d3b <_sk_store_a8_sse2+0x9a>
54648  .byte  102,15,126,225                      // movd          %xmm4,%ecx
54649  .byte  137,12,59                           // mov           %ecx,(%ebx,%edi,1)
54650  .byte  141,72,8                            // lea           0x8(%eax),%ecx
54651  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
54652  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
54653  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
54654  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
54655  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
54656  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
54657  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
54658  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
54659  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
54660  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
54661  .byte  137,12,36                           // mov           %ecx,(%esp)
54662  .byte  255,80,4                            // call          *0x4(%eax)
54663  .byte  129,196,156,0,0,0                   // add           $0x9c,%esp
54664  .byte  94                                  // pop           %esi
54665  .byte  95                                  // pop           %edi
54666  .byte  91                                  // pop           %ebx
54667  .byte  93                                  // pop           %ebp
54668  .byte  195                                 // ret
54669  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
54670  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
54671  .byte  137,240                             // mov           %esi,%eax
54672  .byte  36,3                                // and           $0x3,%al
54673  .byte  60,1                                // cmp           $0x1,%al
54674  .byte  116,69                              // je            4d90 <_sk_store_a8_sse2+0xef>
54675  .byte  136,69,243                          // mov           %al,-0xd(%ebp)
54676  .byte  60,2                                // cmp           $0x2,%al
54677  .byte  139,69,12                           // mov           0xc(%ebp),%eax
54678  .byte  116,21                              // je            4d6a <_sk_store_a8_sse2+0xc9>
54679  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
54680  .byte  117,161                             // jne           4cfc <_sk_store_a8_sse2+0x5b>
54681  .byte  102,15,127,101,200                  // movdqa        %xmm4,-0x38(%ebp)
54682  .byte  138,85,208                          // mov           -0x30(%ebp),%dl
54683  .byte  136,84,59,2                         // mov           %dl,0x2(%ebx,%edi,1)
54684  .byte  139,85,20                           // mov           0x14(%ebp),%edx
54685  .byte  102,15,112,228,212                  // pshufd        $0xd4,%xmm4,%xmm4
54686  .byte  102,15,219,161,14,80,0,0            // pand          0x500e(%ecx),%xmm4
54687  .byte  102,15,103,228                      // packuswb      %xmm4,%xmm4
54688  .byte  102,15,103,228                      // packuswb      %xmm4,%xmm4
54689  .byte  102,15,103,228                      // packuswb      %xmm4,%xmm4
54690  .byte  102,15,126,225                      // movd          %xmm4,%ecx
54691  .byte  102,137,12,59                       // mov           %cx,(%ebx,%edi,1)
54692  .byte  233,108,255,255,255                 // jmp           4cfc <_sk_store_a8_sse2+0x5b>
54693  .byte  102,15,127,101,216                  // movdqa        %xmm4,-0x28(%ebp)
54694  .byte  138,77,216                          // mov           -0x28(%ebp),%cl
54695  .byte  136,12,59                           // mov           %cl,(%ebx,%edi,1)
54696  .byte  139,69,12                           // mov           0xc(%ebp),%eax
54697  .byte  233,89,255,255,255                  // jmp           4cfc <_sk_store_a8_sse2+0x5b>
54698
54699HIDDEN _sk_load_g8_sse2
54700.globl _sk_load_g8_sse2
54701FUNCTION(_sk_load_g8_sse2)
54702_sk_load_g8_sse2:
54703  .byte  85                                  // push          %ebp
54704  .byte  137,229                             // mov           %esp,%ebp
54705  .byte  83                                  // push          %ebx
54706  .byte  87                                  // push          %edi
54707  .byte  86                                  // push          %esi
54708  .byte  131,236,108                         // sub           $0x6c,%esp
54709  .byte  232,0,0,0,0                         // call          4db1 <_sk_load_g8_sse2+0xe>
54710  .byte  88                                  // pop           %eax
54711  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
54712  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
54713  .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
54714  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
54715  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
54716  .byte  139,117,20                          // mov           0x14(%ebp),%esi
54717  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
54718  .byte  139,17                              // mov           (%ecx),%edx
54719  .byte  139,18                              // mov           (%edx),%edx
54720  .byte  133,219                             // test          %ebx,%ebx
54721  .byte  139,125,16                          // mov           0x10(%ebp),%edi
54722  .byte  117,100                             // jne           4e3a <_sk_load_g8_sse2+0x97>
54723  .byte  102,15,110,4,58                     // movd          (%edx,%edi,1),%xmm0
54724  .byte  102,15,96,192                       // punpcklbw     %xmm0,%xmm0
54725  .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
54726  .byte  102,15,219,128,31,79,0,0            // pand          0x4f1f(%eax),%xmm0
54727  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
54728  .byte  15,89,128,47,79,0,0                 // mulps         0x4f2f(%eax),%xmm0
54729  .byte  141,81,8                            // lea           0x8(%ecx),%edx
54730  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
54731  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
54732  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
54733  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
54734  .byte  137,92,36,16                        // mov           %ebx,0x10(%esp)
54735  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
54736  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
54737  .byte  137,84,36,4                         // mov           %edx,0x4(%esp)
54738  .byte  139,85,8                            // mov           0x8(%ebp),%edx
54739  .byte  137,20,36                           // mov           %edx,(%esp)
54740  .byte  15,40,152,63,79,0,0                 // movaps        0x4f3f(%eax),%xmm3
54741  .byte  15,40,200                           // movaps        %xmm0,%xmm1
54742  .byte  15,40,208                           // movaps        %xmm0,%xmm2
54743  .byte  255,81,4                            // call          *0x4(%ecx)
54744  .byte  131,196,108                         // add           $0x6c,%esp
54745  .byte  94                                  // pop           %esi
54746  .byte  95                                  // pop           %edi
54747  .byte  91                                  // pop           %ebx
54748  .byte  93                                  // pop           %ebp
54749  .byte  195                                 // ret
54750  .byte  136,93,243                          // mov           %bl,-0xd(%ebp)
54751  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
54752  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
54753  .byte  116,61                              // je            4e84 <_sk_load_g8_sse2+0xe1>
54754  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
54755  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
54756  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
54757  .byte  116,23                              // je            4e6b <_sk_load_g8_sse2+0xc8>
54758  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
54759  .byte  117,137                             // jne           4de3 <_sk_load_g8_sse2+0x40>
54760  .byte  15,182,116,58,2                     // movzbl        0x2(%edx,%edi,1),%esi
54761  .byte  102,15,110,198                      // movd          %esi,%xmm0
54762  .byte  139,117,20                          // mov           0x14(%ebp),%esi
54763  .byte  102,15,112,192,69                   // pshufd        $0x45,%xmm0,%xmm0
54764  .byte  15,183,20,58                        // movzwl        (%edx,%edi,1),%edx
54765  .byte  102,15,110,234                      // movd          %edx,%xmm5
54766  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
54767  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
54768  .byte  242,15,16,197                       // movsd         %xmm5,%xmm0
54769  .byte  233,95,255,255,255                  // jmp           4de3 <_sk_load_g8_sse2+0x40>
54770  .byte  15,182,20,58                        // movzbl        (%edx,%edi,1),%edx
54771  .byte  102,15,110,194                      // movd          %edx,%xmm0
54772  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
54773  .byte  233,79,255,255,255                  // jmp           4de3 <_sk_load_g8_sse2+0x40>
54774
54775HIDDEN _sk_load_g8_dst_sse2
54776.globl _sk_load_g8_dst_sse2
54777FUNCTION(_sk_load_g8_dst_sse2)
54778_sk_load_g8_dst_sse2:
54779  .byte  85                                  // push          %ebp
54780  .byte  137,229                             // mov           %esp,%ebp
54781  .byte  83                                  // push          %ebx
54782  .byte  87                                  // push          %edi
54783  .byte  86                                  // push          %esi
54784  .byte  131,236,108                         // sub           $0x6c,%esp
54785  .byte  232,0,0,0,0                         // call          4ea2 <_sk_load_g8_dst_sse2+0xe>
54786  .byte  94                                  // pop           %esi
54787  .byte  139,85,24                           // mov           0x18(%ebp),%edx
54788  .byte  139,125,20                          // mov           0x14(%ebp),%edi
54789  .byte  139,69,12                           // mov           0xc(%ebp),%eax
54790  .byte  139,8                               // mov           (%eax),%ecx
54791  .byte  139,9                               // mov           (%ecx),%ecx
54792  .byte  133,210                             // test          %edx,%edx
54793  .byte  139,93,16                           // mov           0x10(%ebp),%ebx
54794  .byte  117,94                              // jne           4f15 <_sk_load_g8_dst_sse2+0x81>
54795  .byte  102,15,110,36,25                    // movd          (%ecx,%ebx,1),%xmm4
54796  .byte  102,15,96,224                       // punpcklbw     %xmm0,%xmm4
54797  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
54798  .byte  102,15,219,166,94,78,0,0            // pand          0x4e5e(%esi),%xmm4
54799  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
54800  .byte  15,89,166,110,78,0,0                // mulps         0x4e6e(%esi),%xmm4
54801  .byte  141,72,8                            // lea           0x8(%eax),%ecx
54802  .byte  15,40,174,126,78,0,0                // movaps        0x4e7e(%esi),%xmm5
54803  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
54804  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
54805  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
54806  .byte  137,92,36,8                         // mov           %ebx,0x8(%esp)
54807  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
54808  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
54809  .byte  137,12,36                           // mov           %ecx,(%esp)
54810  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
54811  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
54812  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
54813  .byte  255,80,4                            // call          *0x4(%eax)
54814  .byte  131,196,108                         // add           $0x6c,%esp
54815  .byte  94                                  // pop           %esi
54816  .byte  95                                  // pop           %edi
54817  .byte  91                                  // pop           %ebx
54818  .byte  93                                  // pop           %ebp
54819  .byte  195                                 // ret
54820  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
54821  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
54822  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
54823  .byte  116,61                              // je            4f5f <_sk_load_g8_dst_sse2+0xcb>
54824  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
54825  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
54826  .byte  139,85,24                           // mov           0x18(%ebp),%edx
54827  .byte  116,23                              // je            4f46 <_sk_load_g8_dst_sse2+0xb2>
54828  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
54829  .byte  117,143                             // jne           4ec4 <_sk_load_g8_dst_sse2+0x30>
54830  .byte  15,182,124,25,2                     // movzbl        0x2(%ecx,%ebx,1),%edi
54831  .byte  102,15,110,231                      // movd          %edi,%xmm4
54832  .byte  139,125,20                          // mov           0x14(%ebp),%edi
54833  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
54834  .byte  15,183,12,25                        // movzwl        (%ecx,%ebx,1),%ecx
54835  .byte  102,15,110,233                      // movd          %ecx,%xmm5
54836  .byte  102,15,96,232                       // punpcklbw     %xmm0,%xmm5
54837  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
54838  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
54839  .byte  233,101,255,255,255                 // jmp           4ec4 <_sk_load_g8_dst_sse2+0x30>
54840  .byte  15,182,12,25                        // movzbl        (%ecx,%ebx,1),%ecx
54841  .byte  102,15,110,225                      // movd          %ecx,%xmm4
54842  .byte  139,85,24                           // mov           0x18(%ebp),%edx
54843  .byte  233,85,255,255,255                  // jmp           4ec4 <_sk_load_g8_dst_sse2+0x30>
54844
54845HIDDEN _sk_gather_g8_sse2
54846.globl _sk_gather_g8_sse2
54847FUNCTION(_sk_gather_g8_sse2)
54848_sk_gather_g8_sse2:
54849  .byte  85                                  // push          %ebp
54850  .byte  137,229                             // mov           %esp,%ebp
54851  .byte  83                                  // push          %ebx
54852  .byte  87                                  // push          %edi
54853  .byte  86                                  // push          %esi
54854  .byte  131,236,108                         // sub           $0x6c,%esp
54855  .byte  139,69,12                           // mov           0xc(%ebp),%eax
54856  .byte  139,8                               // mov           (%eax),%ecx
54857  .byte  139,17                              // mov           (%ecx),%edx
54858  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
54859  .byte  102,15,110,81,4                     // movd          0x4(%ecx),%xmm2
54860  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
54861  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
54862  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
54863  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
54864  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
54865  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
54866  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
54867  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
54868  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
54869  .byte  102,15,126,193                      // movd          %xmm0,%ecx
54870  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
54871  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
54872  .byte  102,15,126,214                      // movd          %xmm2,%esi
54873  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
54874  .byte  102,15,126,199                      // movd          %xmm0,%edi
54875  .byte  15,182,52,50                        // movzbl        (%edx,%esi,1),%esi
54876  .byte  15,182,60,58                        // movzbl        (%edx,%edi,1),%edi
54877  .byte  193,231,8                           // shl           $0x8,%edi
54878  .byte  9,247                               // or            %esi,%edi
54879  .byte  102,15,126,206                      // movd          %xmm1,%esi
54880  .byte  15,182,12,10                        // movzbl        (%edx,%ecx,1),%ecx
54881  .byte  15,182,20,50                        // movzbl        (%edx,%esi,1),%edx
54882  .byte  232,0,0,0,0                         // call          4fe9 <_sk_gather_g8_sse2+0x7a>
54883  .byte  94                                  // pop           %esi
54884  .byte  193,226,8                           // shl           $0x8,%edx
54885  .byte  9,202                               // or            %ecx,%edx
54886  .byte  102,15,196,194,0                    // pinsrw        $0x0,%edx,%xmm0
54887  .byte  139,85,16                           // mov           0x10(%ebp),%edx
54888  .byte  102,15,196,199,1                    // pinsrw        $0x1,%edi,%xmm0
54889  .byte  139,125,20                          // mov           0x14(%ebp),%edi
54890  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
54891  .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
54892  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
54893  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
54894  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
54895  .byte  102,15,96,197                       // punpcklbw     %xmm5,%xmm0
54896  .byte  102,15,97,197                       // punpcklwd     %xmm5,%xmm0
54897  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
54898  .byte  15,89,134,71,77,0,0                 // mulps         0x4d47(%esi),%xmm0
54899  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
54900  .byte  137,193                             // mov           %eax,%ecx
54901  .byte  141,65,8                            // lea           0x8(%ecx),%eax
54902  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
54903  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
54904  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
54905  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
54906  .byte  137,92,36,16                        // mov           %ebx,0x10(%esp)
54907  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
54908  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
54909  .byte  137,68,36,4                         // mov           %eax,0x4(%esp)
54910  .byte  139,69,8                            // mov           0x8(%ebp),%eax
54911  .byte  137,4,36                            // mov           %eax,(%esp)
54912  .byte  15,40,158,87,77,0,0                 // movaps        0x4d57(%esi),%xmm3
54913  .byte  15,40,200                           // movaps        %xmm0,%xmm1
54914  .byte  15,40,208                           // movaps        %xmm0,%xmm2
54915  .byte  255,81,4                            // call          *0x4(%ecx)
54916  .byte  131,196,108                         // add           $0x6c,%esp
54917  .byte  94                                  // pop           %esi
54918  .byte  95                                  // pop           %edi
54919  .byte  91                                  // pop           %ebx
54920  .byte  93                                  // pop           %ebp
54921  .byte  195                                 // ret
54922
54923HIDDEN _sk_load_565_sse2
54924.globl _sk_load_565_sse2
54925FUNCTION(_sk_load_565_sse2)
54926_sk_load_565_sse2:
54927  .byte  85                                  // push          %ebp
54928  .byte  137,229                             // mov           %esp,%ebp
54929  .byte  83                                  // push          %ebx
54930  .byte  87                                  // push          %edi
54931  .byte  86                                  // push          %esi
54932  .byte  131,236,108                         // sub           $0x6c,%esp
54933  .byte  232,0,0,0,0                         // call          507d <_sk_load_565_sse2+0xe>
54934  .byte  88                                  // pop           %eax
54935  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
54936  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
54937  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
54938  .byte  15,40,93,40                         // movaps        0x28(%ebp),%xmm3
54939  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
54940  .byte  139,117,20                          // mov           0x14(%ebp),%esi
54941  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
54942  .byte  139,17                              // mov           (%ecx),%edx
54943  .byte  139,18                              // mov           (%edx),%edx
54944  .byte  133,219                             // test          %ebx,%ebx
54945  .byte  139,125,16                          // mov           0x10(%ebp),%edi
54946  .byte  15,133,134,0,0,0                    // jne           512c <_sk_load_565_sse2+0xbd>
54947  .byte  243,15,126,20,122                   // movq          (%edx,%edi,2),%xmm2
54948  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
54949  .byte  102,15,111,128,211,76,0,0           // movdqa        0x4cd3(%eax),%xmm0
54950  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
54951  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
54952  .byte  15,89,128,227,76,0,0                // mulps         0x4ce3(%eax),%xmm0
54953  .byte  102,15,111,136,243,76,0,0           // movdqa        0x4cf3(%eax),%xmm1
54954  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
54955  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
54956  .byte  15,89,136,3,77,0,0                  // mulps         0x4d03(%eax),%xmm1
54957  .byte  102,15,219,144,19,77,0,0            // pand          0x4d13(%eax),%xmm2
54958  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
54959  .byte  15,89,144,35,77,0,0                 // mulps         0x4d23(%eax),%xmm2
54960  .byte  141,81,8                            // lea           0x8(%ecx),%edx
54961  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
54962  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
54963  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
54964  .byte  15,41,92,36,32                      // movaps        %xmm3,0x20(%esp)
54965  .byte  137,92,36,16                        // mov           %ebx,0x10(%esp)
54966  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
54967  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
54968  .byte  137,84,36,4                         // mov           %edx,0x4(%esp)
54969  .byte  139,85,8                            // mov           0x8(%ebp),%edx
54970  .byte  137,20,36                           // mov           %edx,(%esp)
54971  .byte  15,40,152,51,77,0,0                 // movaps        0x4d33(%eax),%xmm3
54972  .byte  255,81,4                            // call          *0x4(%ecx)
54973  .byte  131,196,108                         // add           $0x6c,%esp
54974  .byte  94                                  // pop           %esi
54975  .byte  95                                  // pop           %edi
54976  .byte  91                                  // pop           %ebx
54977  .byte  93                                  // pop           %ebp
54978  .byte  195                                 // ret
54979  .byte  136,93,243                          // mov           %bl,-0xd(%ebp)
54980  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
54981  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
54982  .byte  116,58                              // je            5173 <_sk_load_565_sse2+0x104>
54983  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
54984  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
54985  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
54986  .byte  116,27                              // je            5161 <_sk_load_565_sse2+0xf2>
54987  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
54988  .byte  15,133,95,255,255,255               // jne           50af <_sk_load_565_sse2+0x40>
54989  .byte  15,183,116,122,4                    // movzwl        0x4(%edx,%edi,2),%esi
54990  .byte  102,15,110,198                      // movd          %esi,%xmm0
54991  .byte  139,117,20                          // mov           0x14(%ebp),%esi
54992  .byte  102,15,112,208,69                   // pshufd        $0x45,%xmm0,%xmm2
54993  .byte  102,15,110,4,122                    // movd          (%edx,%edi,2),%xmm0
54994  .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
54995  .byte  242,15,16,208                       // movsd         %xmm0,%xmm2
54996  .byte  233,60,255,255,255                  // jmp           50af <_sk_load_565_sse2+0x40>
54997  .byte  15,183,20,122                       // movzwl        (%edx,%edi,2),%edx
54998  .byte  102,15,110,210                      // movd          %edx,%xmm2
54999  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
55000  .byte  233,44,255,255,255                  // jmp           50af <_sk_load_565_sse2+0x40>
55001
55002HIDDEN _sk_load_565_dst_sse2
55003.globl _sk_load_565_dst_sse2
55004FUNCTION(_sk_load_565_dst_sse2)
55005_sk_load_565_dst_sse2:
55006  .byte  85                                  // push          %ebp
55007  .byte  137,229                             // mov           %esp,%ebp
55008  .byte  83                                  // push          %ebx
55009  .byte  87                                  // push          %edi
55010  .byte  86                                  // push          %esi
55011  .byte  131,236,108                         // sub           $0x6c,%esp
55012  .byte  232,0,0,0,0                         // call          5191 <_sk_load_565_dst_sse2+0xe>
55013  .byte  94                                  // pop           %esi
55014  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55015  .byte  139,125,20                          // mov           0x14(%ebp),%edi
55016  .byte  139,69,12                           // mov           0xc(%ebp),%eax
55017  .byte  139,8                               // mov           (%eax),%ecx
55018  .byte  139,9                               // mov           (%ecx),%ecx
55019  .byte  133,210                             // test          %edx,%edx
55020  .byte  139,93,16                           // mov           0x10(%ebp),%ebx
55021  .byte  15,133,134,0,0,0                    // jne           5230 <_sk_load_565_dst_sse2+0xad>
55022  .byte  243,15,126,36,89                    // movq          (%ecx,%ebx,2),%xmm4
55023  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
55024  .byte  102,15,111,174,47,76,0,0            // movdqa        0x4c2f(%esi),%xmm5
55025  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
55026  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
55027  .byte  15,89,174,63,76,0,0                 // mulps         0x4c3f(%esi),%xmm5
55028  .byte  102,15,111,182,79,76,0,0            // movdqa        0x4c4f(%esi),%xmm6
55029  .byte  102,15,219,244                      // pand          %xmm4,%xmm6
55030  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
55031  .byte  15,89,182,95,76,0,0                 // mulps         0x4c5f(%esi),%xmm6
55032  .byte  102,15,219,166,111,76,0,0           // pand          0x4c6f(%esi),%xmm4
55033  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
55034  .byte  15,89,166,127,76,0,0                // mulps         0x4c7f(%esi),%xmm4
55035  .byte  141,72,8                            // lea           0x8(%eax),%ecx
55036  .byte  15,40,190,143,76,0,0                // movaps        0x4c8f(%esi),%xmm7
55037  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
55038  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
55039  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
55040  .byte  137,92,36,8                         // mov           %ebx,0x8(%esp)
55041  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
55042  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
55043  .byte  137,12,36                           // mov           %ecx,(%esp)
55044  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
55045  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
55046  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
55047  .byte  255,80,4                            // call          *0x4(%eax)
55048  .byte  131,196,108                         // add           $0x6c,%esp
55049  .byte  94                                  // pop           %esi
55050  .byte  95                                  // pop           %edi
55051  .byte  91                                  // pop           %ebx
55052  .byte  93                                  // pop           %ebp
55053  .byte  195                                 // ret
55054  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
55055  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
55056  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
55057  .byte  116,58                              // je            5277 <_sk_load_565_dst_sse2+0xf4>
55058  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
55059  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
55060  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55061  .byte  116,27                              // je            5265 <_sk_load_565_dst_sse2+0xe2>
55062  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
55063  .byte  15,133,95,255,255,255               // jne           51b3 <_sk_load_565_dst_sse2+0x30>
55064  .byte  15,183,124,89,4                     // movzwl        0x4(%ecx,%ebx,2),%edi
55065  .byte  102,15,110,231                      // movd          %edi,%xmm4
55066  .byte  139,125,20                          // mov           0x14(%ebp),%edi
55067  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
55068  .byte  102,15,110,44,89                    // movd          (%ecx,%ebx,2),%xmm5
55069  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
55070  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
55071  .byte  233,60,255,255,255                  // jmp           51b3 <_sk_load_565_dst_sse2+0x30>
55072  .byte  15,183,12,89                        // movzwl        (%ecx,%ebx,2),%ecx
55073  .byte  102,15,110,225                      // movd          %ecx,%xmm4
55074  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55075  .byte  233,44,255,255,255                  // jmp           51b3 <_sk_load_565_dst_sse2+0x30>
55076
55077HIDDEN _sk_gather_565_sse2
55078.globl _sk_gather_565_sse2
55079FUNCTION(_sk_gather_565_sse2)
55080_sk_gather_565_sse2:
55081  .byte  85                                  // push          %ebp
55082  .byte  137,229                             // mov           %esp,%ebp
55083  .byte  83                                  // push          %ebx
55084  .byte  87                                  // push          %edi
55085  .byte  86                                  // push          %esi
55086  .byte  131,236,108                         // sub           $0x6c,%esp
55087  .byte  232,0,0,0,0                         // call          5295 <_sk_gather_565_sse2+0xe>
55088  .byte  88                                  // pop           %eax
55089  .byte  139,85,12                           // mov           0xc(%ebp),%edx
55090  .byte  139,50                              // mov           (%edx),%esi
55091  .byte  139,62                              // mov           (%esi),%edi
55092  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
55093  .byte  102,15,110,86,4                     // movd          0x4(%esi),%xmm2
55094  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
55095  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
55096  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
55097  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
55098  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
55099  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
55100  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
55101  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
55102  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
55103  .byte  102,15,126,198                      // movd          %xmm0,%esi
55104  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
55105  .byte  102,15,196,20,119,0                 // pinsrw        $0x0,(%edi,%esi,2),%xmm2
55106  .byte  102,15,126,206                      // movd          %xmm1,%esi
55107  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
55108  .byte  102,15,196,20,119,1                 // pinsrw        $0x1,(%edi,%esi,2),%xmm2
55109  .byte  102,15,126,206                      // movd          %xmm1,%esi
55110  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
55111  .byte  15,183,52,119                       // movzwl        (%edi,%esi,2),%esi
55112  .byte  102,15,196,214,2                    // pinsrw        $0x2,%esi,%xmm2
55113  .byte  102,15,126,198                      // movd          %xmm0,%esi
55114  .byte  15,183,52,119                       // movzwl        (%edi,%esi,2),%esi
55115  .byte  139,125,16                          // mov           0x10(%ebp),%edi
55116  .byte  102,15,196,214,3                    // pinsrw        $0x3,%esi,%xmm2
55117  .byte  139,117,20                          // mov           0x14(%ebp),%esi
55118  .byte  15,40,93,40                         // movaps        0x28(%ebp),%xmm3
55119  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
55120  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
55121  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
55122  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
55123  .byte  102,15,97,208                       // punpcklwd     %xmm0,%xmm2
55124  .byte  102,15,111,128,155,75,0,0           // movdqa        0x4b9b(%eax),%xmm0
55125  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
55126  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
55127  .byte  15,89,128,171,75,0,0                // mulps         0x4bab(%eax),%xmm0
55128  .byte  102,15,111,136,187,75,0,0           // movdqa        0x4bbb(%eax),%xmm1
55129  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
55130  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
55131  .byte  15,89,136,203,75,0,0                // mulps         0x4bcb(%eax),%xmm1
55132  .byte  102,15,219,144,219,75,0,0           // pand          0x4bdb(%eax),%xmm2
55133  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
55134  .byte  15,89,144,235,75,0,0                // mulps         0x4beb(%eax),%xmm2
55135  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
55136  .byte  141,74,8                            // lea           0x8(%edx),%ecx
55137  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
55138  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
55139  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
55140  .byte  15,41,92,36,32                      // movaps        %xmm3,0x20(%esp)
55141  .byte  137,92,36,16                        // mov           %ebx,0x10(%esp)
55142  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
55143  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
55144  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
55145  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
55146  .byte  137,12,36                           // mov           %ecx,(%esp)
55147  .byte  15,40,152,251,75,0,0                // movaps        0x4bfb(%eax),%xmm3
55148  .byte  255,82,4                            // call          *0x4(%edx)
55149  .byte  131,196,108                         // add           $0x6c,%esp
55150  .byte  94                                  // pop           %esi
55151  .byte  95                                  // pop           %edi
55152  .byte  91                                  // pop           %ebx
55153  .byte  93                                  // pop           %ebp
55154  .byte  195                                 // ret
55155
55156HIDDEN _sk_store_565_sse2
55157.globl _sk_store_565_sse2
55158FUNCTION(_sk_store_565_sse2)
55159_sk_store_565_sse2:
55160  .byte  85                                  // push          %ebp
55161  .byte  137,229                             // mov           %esp,%ebp
55162  .byte  83                                  // push          %ebx
55163  .byte  87                                  // push          %edi
55164  .byte  86                                  // push          %esi
55165  .byte  131,236,108                         // sub           $0x6c,%esp
55166  .byte  232,0,0,0,0                         // call          53b7 <_sk_store_565_sse2+0xe>
55167  .byte  88                                  // pop           %eax
55168  .byte  15,40,160,233,74,0,0                // movaps        0x4ae9(%eax),%xmm4
55169  .byte  15,40,232                           // movaps        %xmm0,%xmm5
55170  .byte  15,89,236                           // mulps         %xmm4,%xmm5
55171  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
55172  .byte  102,15,114,245,11                   // pslld         $0xb,%xmm5
55173  .byte  15,40,176,249,74,0,0                // movaps        0x4af9(%eax),%xmm6
55174  .byte  15,89,241                           // mulps         %xmm1,%xmm6
55175  .byte  102,15,91,246                       // cvtps2dq      %xmm6,%xmm6
55176  .byte  102,15,114,246,5                    // pslld         $0x5,%xmm6
55177  .byte  102,15,235,245                      // por           %xmm5,%xmm6
55178  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
55179  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
55180  .byte  139,69,12                           // mov           0xc(%ebp),%eax
55181  .byte  139,48                              // mov           (%eax),%esi
55182  .byte  139,62                              // mov           (%esi),%edi
55183  .byte  15,89,226                           // mulps         %xmm2,%xmm4
55184  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
55185  .byte  102,15,86,230                       // orpd          %xmm6,%xmm4
55186  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
55187  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
55188  .byte  102,15,107,228                      // packssdw      %xmm4,%xmm4
55189  .byte  102,15,126,101,232                  // movd          %xmm4,-0x18(%ebp)
55190  .byte  102,15,112,236,229                  // pshufd        $0xe5,%xmm4,%xmm5
55191  .byte  102,15,126,109,236                  // movd          %xmm5,-0x14(%ebp)
55192  .byte  133,219                             // test          %ebx,%ebx
55193  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
55194  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
55195  .byte  117,82                              // jne           5478 <_sk_store_565_sse2+0xcf>
55196  .byte  102,15,126,226                      // movd          %xmm4,%edx
55197  .byte  102,15,126,238                      // movd          %xmm5,%esi
55198  .byte  137,20,79                           // mov           %edx,(%edi,%ecx,2)
55199  .byte  137,116,79,4                        // mov           %esi,0x4(%edi,%ecx,2)
55200  .byte  141,80,8                            // lea           0x8(%eax),%edx
55201  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
55202  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
55203  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
55204  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
55205  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
55206  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
55207  .byte  137,92,36,16                        // mov           %ebx,0x10(%esp)
55208  .byte  139,117,20                          // mov           0x14(%ebp),%esi
55209  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
55210  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
55211  .byte  137,84,36,4                         // mov           %edx,0x4(%esp)
55212  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
55213  .byte  137,12,36                           // mov           %ecx,(%esp)
55214  .byte  255,80,4                            // call          *0x4(%eax)
55215  .byte  131,196,108                         // add           $0x6c,%esp
55216  .byte  94                                  // pop           %esi
55217  .byte  95                                  // pop           %edi
55218  .byte  91                                  // pop           %ebx
55219  .byte  93                                  // pop           %ebp
55220  .byte  195                                 // ret
55221  .byte  243,15,126,101,232                  // movq          -0x18(%ebp),%xmm4
55222  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
55223  .byte  137,218                             // mov           %ebx,%edx
55224  .byte  128,226,3                           // and           $0x3,%dl
55225  .byte  128,250,1                           // cmp           $0x1,%dl
55226  .byte  116,37                              // je            54b0 <_sk_store_565_sse2+0x107>
55227  .byte  128,250,2                           // cmp           $0x2,%dl
55228  .byte  116,15                              // je            549f <_sk_store_565_sse2+0xf6>
55229  .byte  128,250,3                           // cmp           $0x3,%dl
55230  .byte  117,160                             // jne           5435 <_sk_store_565_sse2+0x8c>
55231  .byte  102,15,197,212,4                    // pextrw        $0x4,%xmm4,%edx
55232  .byte  102,137,84,79,4                     // mov           %dx,0x4(%edi,%ecx,2)
55233  .byte  102,15,112,228,212                  // pshufd        $0xd4,%xmm4,%xmm4
55234  .byte  242,15,112,228,232                  // pshuflw       $0xe8,%xmm4,%xmm4
55235  .byte  102,15,126,36,79                    // movd          %xmm4,(%edi,%ecx,2)
55236  .byte  235,133                             // jmp           5435 <_sk_store_565_sse2+0x8c>
55237  .byte  102,15,126,226                      // movd          %xmm4,%edx
55238  .byte  102,137,20,79                       // mov           %dx,(%edi,%ecx,2)
55239  .byte  233,120,255,255,255                 // jmp           5435 <_sk_store_565_sse2+0x8c>
55240
55241HIDDEN _sk_load_4444_sse2
55242.globl _sk_load_4444_sse2
55243FUNCTION(_sk_load_4444_sse2)
55244_sk_load_4444_sse2:
55245  .byte  85                                  // push          %ebp
55246  .byte  137,229                             // mov           %esp,%ebp
55247  .byte  83                                  // push          %ebx
55248  .byte  87                                  // push          %edi
55249  .byte  86                                  // push          %esi
55250  .byte  131,236,108                         // sub           $0x6c,%esp
55251  .byte  232,0,0,0,0                         // call          54cb <_sk_load_4444_sse2+0xe>
55252  .byte  94                                  // pop           %esi
55253  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
55254  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
55255  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
55256  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
55257  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55258  .byte  139,125,20                          // mov           0x14(%ebp),%edi
55259  .byte  139,69,12                           // mov           0xc(%ebp),%eax
55260  .byte  139,8                               // mov           (%eax),%ecx
55261  .byte  139,9                               // mov           (%ecx),%ecx
55262  .byte  133,210                             // test          %edx,%edx
55263  .byte  139,93,16                           // mov           0x10(%ebp),%ebx
55264  .byte  15,133,149,0,0,0                    // jne           5589 <_sk_load_4444_sse2+0xcc>
55265  .byte  243,15,126,28,89                    // movq          (%ecx,%ebx,2),%xmm3
55266  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
55267  .byte  102,15,111,134,245,73,0,0           // movdqa        0x49f5(%esi),%xmm0
55268  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
55269  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
55270  .byte  15,89,134,5,74,0,0                  // mulps         0x4a05(%esi),%xmm0
55271  .byte  102,15,111,142,21,74,0,0            // movdqa        0x4a15(%esi),%xmm1
55272  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
55273  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
55274  .byte  15,89,142,37,74,0,0                 // mulps         0x4a25(%esi),%xmm1
55275  .byte  102,15,111,150,53,74,0,0            // movdqa        0x4a35(%esi),%xmm2
55276  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
55277  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
55278  .byte  15,89,150,69,74,0,0                 // mulps         0x4a45(%esi),%xmm2
55279  .byte  102,15,219,158,85,74,0,0            // pand          0x4a55(%esi),%xmm3
55280  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
55281  .byte  15,89,158,101,74,0,0                // mulps         0x4a65(%esi),%xmm3
55282  .byte  141,72,8                            // lea           0x8(%eax),%ecx
55283  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
55284  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
55285  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
55286  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
55287  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
55288  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
55289  .byte  137,92,36,8                         // mov           %ebx,0x8(%esp)
55290  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
55291  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
55292  .byte  137,12,36                           // mov           %ecx,(%esp)
55293  .byte  255,80,4                            // call          *0x4(%eax)
55294  .byte  131,196,108                         // add           $0x6c,%esp
55295  .byte  94                                  // pop           %esi
55296  .byte  95                                  // pop           %edi
55297  .byte  91                                  // pop           %ebx
55298  .byte  93                                  // pop           %ebp
55299  .byte  195                                 // ret
55300  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
55301  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
55302  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
55303  .byte  116,58                              // je            55d0 <_sk_load_4444_sse2+0x113>
55304  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
55305  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
55306  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55307  .byte  116,27                              // je            55be <_sk_load_4444_sse2+0x101>
55308  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
55309  .byte  15,133,80,255,255,255               // jne           54fd <_sk_load_4444_sse2+0x40>
55310  .byte  15,183,124,89,4                     // movzwl        0x4(%ecx,%ebx,2),%edi
55311  .byte  102,15,110,199                      // movd          %edi,%xmm0
55312  .byte  139,125,20                          // mov           0x14(%ebp),%edi
55313  .byte  102,15,112,216,69                   // pshufd        $0x45,%xmm0,%xmm3
55314  .byte  102,15,110,4,89                     // movd          (%ecx,%ebx,2),%xmm0
55315  .byte  102,15,97,192                       // punpcklwd     %xmm0,%xmm0
55316  .byte  242,15,16,216                       // movsd         %xmm0,%xmm3
55317  .byte  233,45,255,255,255                  // jmp           54fd <_sk_load_4444_sse2+0x40>
55318  .byte  15,183,12,89                        // movzwl        (%ecx,%ebx,2),%ecx
55319  .byte  102,15,110,217                      // movd          %ecx,%xmm3
55320  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55321  .byte  233,29,255,255,255                  // jmp           54fd <_sk_load_4444_sse2+0x40>
55322
55323HIDDEN _sk_load_4444_dst_sse2
55324.globl _sk_load_4444_dst_sse2
55325FUNCTION(_sk_load_4444_dst_sse2)
55326_sk_load_4444_dst_sse2:
55327  .byte  85                                  // push          %ebp
55328  .byte  137,229                             // mov           %esp,%ebp
55329  .byte  83                                  // push          %ebx
55330  .byte  87                                  // push          %edi
55331  .byte  86                                  // push          %esi
55332  .byte  131,236,108                         // sub           $0x6c,%esp
55333  .byte  232,0,0,0,0                         // call          55ee <_sk_load_4444_dst_sse2+0xe>
55334  .byte  95                                  // pop           %edi
55335  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55336  .byte  139,117,20                          // mov           0x14(%ebp),%esi
55337  .byte  139,69,12                           // mov           0xc(%ebp),%eax
55338  .byte  139,8                               // mov           (%eax),%ecx
55339  .byte  139,9                               // mov           (%ecx),%ecx
55340  .byte  133,210                             // test          %edx,%edx
55341  .byte  139,93,16                           // mov           0x10(%ebp),%ebx
55342  .byte  15,133,149,0,0,0                    // jne           569c <_sk_load_4444_dst_sse2+0xbc>
55343  .byte  243,15,126,36,89                    // movq          (%ecx,%ebx,2),%xmm4
55344  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
55345  .byte  102,15,111,175,82,73,0,0            // movdqa        0x4952(%edi),%xmm5
55346  .byte  102,15,219,236                      // pand          %xmm4,%xmm5
55347  .byte  15,91,237                           // cvtdq2ps      %xmm5,%xmm5
55348  .byte  15,89,175,98,73,0,0                 // mulps         0x4962(%edi),%xmm5
55349  .byte  102,15,111,183,114,73,0,0           // movdqa        0x4972(%edi),%xmm6
55350  .byte  102,15,219,244                      // pand          %xmm4,%xmm6
55351  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
55352  .byte  15,89,183,130,73,0,0                // mulps         0x4982(%edi),%xmm6
55353  .byte  102,15,111,191,146,73,0,0           // movdqa        0x4992(%edi),%xmm7
55354  .byte  102,15,219,252                      // pand          %xmm4,%xmm7
55355  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
55356  .byte  15,89,191,162,73,0,0                // mulps         0x49a2(%edi),%xmm7
55357  .byte  102,15,219,167,178,73,0,0           // pand          0x49b2(%edi),%xmm4
55358  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
55359  .byte  15,89,167,194,73,0,0                // mulps         0x49c2(%edi),%xmm4
55360  .byte  141,72,8                            // lea           0x8(%eax),%ecx
55361  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
55362  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
55363  .byte  137,92,36,8                         // mov           %ebx,0x8(%esp)
55364  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
55365  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
55366  .byte  137,12,36                           // mov           %ecx,(%esp)
55367  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
55368  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
55369  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
55370  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
55371  .byte  255,80,4                            // call          *0x4(%eax)
55372  .byte  131,196,108                         // add           $0x6c,%esp
55373  .byte  94                                  // pop           %esi
55374  .byte  95                                  // pop           %edi
55375  .byte  91                                  // pop           %ebx
55376  .byte  93                                  // pop           %ebp
55377  .byte  195                                 // ret
55378  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
55379  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
55380  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
55381  .byte  116,58                              // je            56e3 <_sk_load_4444_dst_sse2+0x103>
55382  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
55383  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
55384  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55385  .byte  116,27                              // je            56d1 <_sk_load_4444_dst_sse2+0xf1>
55386  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
55387  .byte  15,133,80,255,255,255               // jne           5610 <_sk_load_4444_dst_sse2+0x30>
55388  .byte  15,183,116,89,4                     // movzwl        0x4(%ecx,%ebx,2),%esi
55389  .byte  102,15,110,230                      // movd          %esi,%xmm4
55390  .byte  139,117,20                          // mov           0x14(%ebp),%esi
55391  .byte  102,15,112,228,69                   // pshufd        $0x45,%xmm4,%xmm4
55392  .byte  102,15,110,44,89                    // movd          (%ecx,%ebx,2),%xmm5
55393  .byte  102,15,97,232                       // punpcklwd     %xmm0,%xmm5
55394  .byte  242,15,16,229                       // movsd         %xmm5,%xmm4
55395  .byte  233,45,255,255,255                  // jmp           5610 <_sk_load_4444_dst_sse2+0x30>
55396  .byte  15,183,12,89                        // movzwl        (%ecx,%ebx,2),%ecx
55397  .byte  102,15,110,225                      // movd          %ecx,%xmm4
55398  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55399  .byte  233,29,255,255,255                  // jmp           5610 <_sk_load_4444_dst_sse2+0x30>
55400
55401HIDDEN _sk_gather_4444_sse2
55402.globl _sk_gather_4444_sse2
55403FUNCTION(_sk_gather_4444_sse2)
55404_sk_gather_4444_sse2:
55405  .byte  85                                  // push          %ebp
55406  .byte  137,229                             // mov           %esp,%ebp
55407  .byte  83                                  // push          %ebx
55408  .byte  87                                  // push          %edi
55409  .byte  86                                  // push          %esi
55410  .byte  131,236,108                         // sub           $0x6c,%esp
55411  .byte  232,0,0,0,0                         // call          5701 <_sk_gather_4444_sse2+0xe>
55412  .byte  90                                  // pop           %edx
55413  .byte  139,69,8                            // mov           0x8(%ebp),%eax
55414  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
55415  .byte  139,49                              // mov           (%ecx),%esi
55416  .byte  139,62                              // mov           (%esi),%edi
55417  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
55418  .byte  102,15,110,86,4                     // movd          0x4(%esi),%xmm2
55419  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
55420  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
55421  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
55422  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
55423  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
55424  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
55425  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
55426  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
55427  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
55428  .byte  102,15,126,198                      // movd          %xmm0,%esi
55429  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
55430  .byte  102,15,196,28,119,0                 // pinsrw        $0x0,(%edi,%esi,2),%xmm3
55431  .byte  102,15,126,206                      // movd          %xmm1,%esi
55432  .byte  102,15,112,200,78                   // pshufd        $0x4e,%xmm0,%xmm1
55433  .byte  102,15,196,28,119,1                 // pinsrw        $0x1,(%edi,%esi,2),%xmm3
55434  .byte  102,15,126,206                      // movd          %xmm1,%esi
55435  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
55436  .byte  15,183,52,119                       // movzwl        (%edi,%esi,2),%esi
55437  .byte  102,15,196,222,2                    // pinsrw        $0x2,%esi,%xmm3
55438  .byte  102,15,126,198                      // movd          %xmm0,%esi
55439  .byte  15,183,60,119                       // movzwl        (%edi,%esi,2),%edi
55440  .byte  139,117,16                          // mov           0x10(%ebp),%esi
55441  .byte  102,15,196,223,3                    // pinsrw        $0x3,%edi,%xmm3
55442  .byte  139,125,20                          // mov           0x14(%ebp),%edi
55443  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
55444  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
55445  .byte  102,15,111,130,191,72,0,0           // movdqa        0x48bf(%edx),%xmm0
55446  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
55447  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
55448  .byte  15,89,130,207,72,0,0                // mulps         0x48cf(%edx),%xmm0
55449  .byte  102,15,111,138,223,72,0,0           // movdqa        0x48df(%edx),%xmm1
55450  .byte  102,15,219,203                      // pand          %xmm3,%xmm1
55451  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
55452  .byte  15,89,138,239,72,0,0                // mulps         0x48ef(%edx),%xmm1
55453  .byte  102,15,111,146,255,72,0,0           // movdqa        0x48ff(%edx),%xmm2
55454  .byte  102,15,219,211                      // pand          %xmm3,%xmm2
55455  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
55456  .byte  15,89,146,15,73,0,0                 // mulps         0x490f(%edx),%xmm2
55457  .byte  102,15,219,154,31,73,0,0            // pand          0x491f(%edx),%xmm3
55458  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
55459  .byte  15,89,154,47,73,0,0                 // mulps         0x492f(%edx),%xmm3
55460  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55461  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
55462  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
55463  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
55464  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
55465  .byte  141,89,8                            // lea           0x8(%ecx),%ebx
55466  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
55467  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
55468  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
55469  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
55470  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
55471  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
55472  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
55473  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
55474  .byte  137,4,36                            // mov           %eax,(%esp)
55475  .byte  255,81,4                            // call          *0x4(%ecx)
55476  .byte  131,196,108                         // add           $0x6c,%esp
55477  .byte  94                                  // pop           %esi
55478  .byte  95                                  // pop           %edi
55479  .byte  91                                  // pop           %ebx
55480  .byte  93                                  // pop           %ebp
55481  .byte  195                                 // ret
55482
55483HIDDEN _sk_store_4444_sse2
55484.globl _sk_store_4444_sse2
55485FUNCTION(_sk_store_4444_sse2)
55486_sk_store_4444_sse2:
55487  .byte  85                                  // push          %ebp
55488  .byte  137,229                             // mov           %esp,%ebp
55489  .byte  83                                  // push          %ebx
55490  .byte  87                                  // push          %edi
55491  .byte  86                                  // push          %esi
55492  .byte  131,236,108                         // sub           $0x6c,%esp
55493  .byte  232,0,0,0,0                         // call          5832 <_sk_store_4444_sse2+0xe>
55494  .byte  88                                  // pop           %eax
55495  .byte  15,40,160,14,72,0,0                 // movaps        0x480e(%eax),%xmm4
55496  .byte  15,40,232                           // movaps        %xmm0,%xmm5
55497  .byte  15,89,236                           // mulps         %xmm4,%xmm5
55498  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
55499  .byte  102,15,114,245,12                   // pslld         $0xc,%xmm5
55500  .byte  15,40,241                           // movaps        %xmm1,%xmm6
55501  .byte  15,89,244                           // mulps         %xmm4,%xmm6
55502  .byte  102,15,91,246                       // cvtps2dq      %xmm6,%xmm6
55503  .byte  102,15,114,246,8                    // pslld         $0x8,%xmm6
55504  .byte  102,15,235,245                      // por           %xmm5,%xmm6
55505  .byte  15,40,234                           // movaps        %xmm2,%xmm5
55506  .byte  15,89,236                           // mulps         %xmm4,%xmm5
55507  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
55508  .byte  102,15,114,245,4                    // pslld         $0x4,%xmm5
55509  .byte  15,89,227                           // mulps         %xmm3,%xmm4
55510  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
55511  .byte  102,15,86,229                       // orpd          %xmm5,%xmm4
55512  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
55513  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
55514  .byte  139,69,12                           // mov           0xc(%ebp),%eax
55515  .byte  139,48                              // mov           (%eax),%esi
55516  .byte  139,62                              // mov           (%esi),%edi
55517  .byte  102,15,86,230                       // orpd          %xmm6,%xmm4
55518  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
55519  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
55520  .byte  102,15,107,228                      // packssdw      %xmm4,%xmm4
55521  .byte  102,15,126,101,232                  // movd          %xmm4,-0x18(%ebp)
55522  .byte  102,15,112,236,229                  // pshufd        $0xe5,%xmm4,%xmm5
55523  .byte  102,15,126,109,236                  // movd          %xmm5,-0x14(%ebp)
55524  .byte  133,219                             // test          %ebx,%ebx
55525  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
55526  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
55527  .byte  117,82                              // jne           5902 <_sk_store_4444_sse2+0xde>
55528  .byte  102,15,126,226                      // movd          %xmm4,%edx
55529  .byte  102,15,126,238                      // movd          %xmm5,%esi
55530  .byte  137,20,79                           // mov           %edx,(%edi,%ecx,2)
55531  .byte  137,116,79,4                        // mov           %esi,0x4(%edi,%ecx,2)
55532  .byte  141,80,8                            // lea           0x8(%eax),%edx
55533  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
55534  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
55535  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
55536  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
55537  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
55538  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
55539  .byte  137,92,36,16                        // mov           %ebx,0x10(%esp)
55540  .byte  139,117,20                          // mov           0x14(%ebp),%esi
55541  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
55542  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
55543  .byte  137,84,36,4                         // mov           %edx,0x4(%esp)
55544  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
55545  .byte  137,12,36                           // mov           %ecx,(%esp)
55546  .byte  255,80,4                            // call          *0x4(%eax)
55547  .byte  131,196,108                         // add           $0x6c,%esp
55548  .byte  94                                  // pop           %esi
55549  .byte  95                                  // pop           %edi
55550  .byte  91                                  // pop           %ebx
55551  .byte  93                                  // pop           %ebp
55552  .byte  195                                 // ret
55553  .byte  243,15,126,101,232                  // movq          -0x18(%ebp),%xmm4
55554  .byte  102,15,97,224                       // punpcklwd     %xmm0,%xmm4
55555  .byte  137,218                             // mov           %ebx,%edx
55556  .byte  128,226,3                           // and           $0x3,%dl
55557  .byte  128,250,1                           // cmp           $0x1,%dl
55558  .byte  116,37                              // je            593a <_sk_store_4444_sse2+0x116>
55559  .byte  128,250,2                           // cmp           $0x2,%dl
55560  .byte  116,15                              // je            5929 <_sk_store_4444_sse2+0x105>
55561  .byte  128,250,3                           // cmp           $0x3,%dl
55562  .byte  117,160                             // jne           58bf <_sk_store_4444_sse2+0x9b>
55563  .byte  102,15,197,212,4                    // pextrw        $0x4,%xmm4,%edx
55564  .byte  102,137,84,79,4                     // mov           %dx,0x4(%edi,%ecx,2)
55565  .byte  102,15,112,228,212                  // pshufd        $0xd4,%xmm4,%xmm4
55566  .byte  242,15,112,228,232                  // pshuflw       $0xe8,%xmm4,%xmm4
55567  .byte  102,15,126,36,79                    // movd          %xmm4,(%edi,%ecx,2)
55568  .byte  235,133                             // jmp           58bf <_sk_store_4444_sse2+0x9b>
55569  .byte  102,15,126,226                      // movd          %xmm4,%edx
55570  .byte  102,137,20,79                       // mov           %dx,(%edi,%ecx,2)
55571  .byte  233,120,255,255,255                 // jmp           58bf <_sk_store_4444_sse2+0x9b>
55572
55573HIDDEN _sk_load_8888_sse2
55574.globl _sk_load_8888_sse2
55575FUNCTION(_sk_load_8888_sse2)
55576_sk_load_8888_sse2:
55577  .byte  85                                  // push          %ebp
55578  .byte  137,229                             // mov           %esp,%ebp
55579  .byte  83                                  // push          %ebx
55580  .byte  87                                  // push          %edi
55581  .byte  86                                  // push          %esi
55582  .byte  131,236,108                         // sub           $0x6c,%esp
55583  .byte  232,0,0,0,0                         // call          5955 <_sk_load_8888_sse2+0xe>
55584  .byte  91                                  // pop           %ebx
55585  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
55586  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
55587  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55588  .byte  139,69,12                           // mov           0xc(%ebp),%eax
55589  .byte  139,8                               // mov           (%eax),%ecx
55590  .byte  139,9                               // mov           (%ecx),%ecx
55591  .byte  133,210                             // test          %edx,%edx
55592  .byte  139,125,16                          // mov           0x10(%ebp),%edi
55593  .byte  139,117,8                           // mov           0x8(%ebp),%esi
55594  .byte  15,133,147,0,0,0                    // jne           5a09 <_sk_load_8888_sse2+0xc2>
55595  .byte  243,15,111,44,185                   // movdqu        (%ecx,%edi,4),%xmm5
55596  .byte  102,15,111,147,251,70,0,0           // movdqa        0x46fb(%ebx),%xmm2
55597  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
55598  .byte  102,15,219,194                      // pand          %xmm2,%xmm0
55599  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
55600  .byte  15,40,163,11,71,0,0                 // movaps        0x470b(%ebx),%xmm4
55601  .byte  15,89,196                           // mulps         %xmm4,%xmm0
55602  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
55603  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
55604  .byte  102,15,219,202                      // pand          %xmm2,%xmm1
55605  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
55606  .byte  15,89,204                           // mulps         %xmm4,%xmm1
55607  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
55608  .byte  102,15,114,211,16                   // psrld         $0x10,%xmm3
55609  .byte  102,15,219,218                      // pand          %xmm2,%xmm3
55610  .byte  15,91,211                           // cvtdq2ps      %xmm3,%xmm2
55611  .byte  15,89,212                           // mulps         %xmm4,%xmm2
55612  .byte  102,15,114,213,24                   // psrld         $0x18,%xmm5
55613  .byte  15,91,221                           // cvtdq2ps      %xmm5,%xmm3
55614  .byte  15,89,220                           // mulps         %xmm4,%xmm3
55615  .byte  141,72,8                            // lea           0x8(%eax),%ecx
55616  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
55617  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
55618  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
55619  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
55620  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
55621  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
55622  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
55623  .byte  139,85,20                           // mov           0x14(%ebp),%edx
55624  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
55625  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
55626  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
55627  .byte  137,52,36                           // mov           %esi,(%esp)
55628  .byte  255,80,4                            // call          *0x4(%eax)
55629  .byte  131,196,108                         // add           $0x6c,%esp
55630  .byte  94                                  // pop           %esi
55631  .byte  95                                  // pop           %edi
55632  .byte  91                                  // pop           %ebx
55633  .byte  93                                  // pop           %ebp
55634  .byte  195                                 // ret
55635  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
55636  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
55637  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
55638  .byte  116,44                              // je            5a42 <_sk_load_8888_sse2+0xfb>
55639  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
55640  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
55641  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55642  .byte  116,21                              // je            5a38 <_sk_load_8888_sse2+0xf1>
55643  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
55644  .byte  15,133,78,255,255,255               // jne           597b <_sk_load_8888_sse2+0x34>
55645  .byte  102,15,110,68,185,8                 // movd          0x8(%ecx,%edi,4),%xmm0
55646  .byte  102,15,112,232,69                   // pshufd        $0x45,%xmm0,%xmm5
55647  .byte  102,15,18,44,185                    // movlpd        (%ecx,%edi,4),%xmm5
55648  .byte  233,57,255,255,255                  // jmp           597b <_sk_load_8888_sse2+0x34>
55649  .byte  102,15,110,44,185                   // movd          (%ecx,%edi,4),%xmm5
55650  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55651  .byte  233,44,255,255,255                  // jmp           597b <_sk_load_8888_sse2+0x34>
55652
55653HIDDEN _sk_load_8888_dst_sse2
55654.globl _sk_load_8888_dst_sse2
55655FUNCTION(_sk_load_8888_dst_sse2)
55656_sk_load_8888_dst_sse2:
55657  .byte  85                                  // push          %ebp
55658  .byte  137,229                             // mov           %esp,%ebp
55659  .byte  83                                  // push          %ebx
55660  .byte  87                                  // push          %edi
55661  .byte  86                                  // push          %esi
55662  .byte  129,236,140,0,0,0                   // sub           $0x8c,%esp
55663  .byte  102,15,127,93,200                   // movdqa        %xmm3,-0x38(%ebp)
55664  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
55665  .byte  232,0,0,0,0                         // call          5a69 <_sk_load_8888_dst_sse2+0x1a>
55666  .byte  91                                  // pop           %ebx
55667  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55668  .byte  139,69,12                           // mov           0xc(%ebp),%eax
55669  .byte  139,8                               // mov           (%eax),%ecx
55670  .byte  139,9                               // mov           (%ecx),%ecx
55671  .byte  133,210                             // test          %edx,%edx
55672  .byte  139,125,16                          // mov           0x10(%ebp),%edi
55673  .byte  139,117,8                           // mov           0x8(%ebp),%esi
55674  .byte  15,133,150,0,0,0                    // jne           5b18 <_sk_load_8888_dst_sse2+0xc9>
55675  .byte  243,15,111,28,185                   // movdqu        (%ecx,%edi,4),%xmm3
55676  .byte  102,15,111,147,7,70,0,0             // movdqa        0x4607(%ebx),%xmm2
55677  .byte  102,15,111,243                      // movdqa        %xmm3,%xmm6
55678  .byte  102,15,219,242                      // pand          %xmm2,%xmm6
55679  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
55680  .byte  15,40,187,23,70,0,0                 // movaps        0x4617(%ebx),%xmm7
55681  .byte  15,89,247                           // mulps         %xmm7,%xmm6
55682  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
55683  .byte  102,15,114,212,8                    // psrld         $0x8,%xmm4
55684  .byte  102,15,219,226                      // pand          %xmm2,%xmm4
55685  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
55686  .byte  15,89,231                           // mulps         %xmm7,%xmm4
55687  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
55688  .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
55689  .byte  102,15,219,234                      // pand          %xmm2,%xmm5
55690  .byte  15,91,213                           // cvtdq2ps      %xmm5,%xmm2
55691  .byte  15,89,215                           // mulps         %xmm7,%xmm2
55692  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
55693  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
55694  .byte  15,89,223                           // mulps         %xmm7,%xmm3
55695  .byte  141,72,8                            // lea           0x8(%eax),%ecx
55696  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
55697  .byte  139,85,20                           // mov           0x14(%ebp),%edx
55698  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
55699  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
55700  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
55701  .byte  137,52,36                           // mov           %esi,(%esp)
55702  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
55703  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
55704  .byte  15,41,84,36,64                      // movaps        %xmm2,0x40(%esp)
55705  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
55706  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
55707  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
55708  .byte  255,80,4                            // call          *0x4(%eax)
55709  .byte  129,196,140,0,0,0                   // add           $0x8c,%esp
55710  .byte  94                                  // pop           %esi
55711  .byte  95                                  // pop           %edi
55712  .byte  91                                  // pop           %ebx
55713  .byte  93                                  // pop           %ebp
55714  .byte  195                                 // ret
55715  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
55716  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
55717  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
55718  .byte  116,44                              // je            5b51 <_sk_load_8888_dst_sse2+0x102>
55719  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
55720  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
55721  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55722  .byte  116,21                              // je            5b47 <_sk_load_8888_dst_sse2+0xf8>
55723  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
55724  .byte  15,133,75,255,255,255               // jne           5a87 <_sk_load_8888_dst_sse2+0x38>
55725  .byte  102,15,110,100,185,8                // movd          0x8(%ecx,%edi,4),%xmm4
55726  .byte  102,15,112,220,69                   // pshufd        $0x45,%xmm4,%xmm3
55727  .byte  102,15,18,28,185                    // movlpd        (%ecx,%edi,4),%xmm3
55728  .byte  233,54,255,255,255                  // jmp           5a87 <_sk_load_8888_dst_sse2+0x38>
55729  .byte  102,15,110,28,185                   // movd          (%ecx,%edi,4),%xmm3
55730  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55731  .byte  233,41,255,255,255                  // jmp           5a87 <_sk_load_8888_dst_sse2+0x38>
55732
55733HIDDEN _sk_gather_8888_sse2
55734.globl _sk_gather_8888_sse2
55735FUNCTION(_sk_gather_8888_sse2)
55736_sk_gather_8888_sse2:
55737  .byte  85                                  // push          %ebp
55738  .byte  137,229                             // mov           %esp,%ebp
55739  .byte  83                                  // push          %ebx
55740  .byte  87                                  // push          %edi
55741  .byte  86                                  // push          %esi
55742  .byte  131,236,108                         // sub           $0x6c,%esp
55743  .byte  232,0,0,0,0                         // call          5b6c <_sk_gather_8888_sse2+0xe>
55744  .byte  90                                  // pop           %edx
55745  .byte  139,69,8                            // mov           0x8(%ebp),%eax
55746  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
55747  .byte  139,49                              // mov           (%ecx),%esi
55748  .byte  139,62                              // mov           (%esi),%edi
55749  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
55750  .byte  102,15,110,86,4                     // movd          0x4(%esi),%xmm2
55751  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
55752  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
55753  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
55754  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
55755  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
55756  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
55757  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
55758  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
55759  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
55760  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
55761  .byte  102,15,112,208,231                  // pshufd        $0xe7,%xmm0,%xmm2
55762  .byte  102,15,126,214                      // movd          %xmm2,%esi
55763  .byte  102,15,110,20,183                   // movd          (%edi,%esi,4),%xmm2
55764  .byte  102,15,126,206                      // movd          %xmm1,%esi
55765  .byte  102,15,110,12,183                   // movd          (%edi,%esi,4),%xmm1
55766  .byte  102,15,126,198                      // movd          %xmm0,%esi
55767  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
55768  .byte  102,15,110,28,183                   // movd          (%edi,%esi,4),%xmm3
55769  .byte  102,15,126,198                      // movd          %xmm0,%esi
55770  .byte  102,15,110,4,183                    // movd          (%edi,%esi,4),%xmm0
55771  .byte  139,117,16                          // mov           0x10(%ebp),%esi
55772  .byte  139,125,20                          // mov           0x14(%ebp),%edi
55773  .byte  102,15,111,162,36,69,0,0            // movdqa        0x4524(%edx),%xmm4
55774  .byte  15,40,170,52,69,0,0                 // movaps        0x4534(%edx),%xmm5
55775  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55776  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
55777  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
55778  .byte  102,15,98,202                       // punpckldq     %xmm2,%xmm1
55779  .byte  102,15,98,216                       // punpckldq     %xmm0,%xmm3
55780  .byte  102,15,98,217                       // punpckldq     %xmm1,%xmm3
55781  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
55782  .byte  102,15,219,196                      // pand          %xmm4,%xmm0
55783  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
55784  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
55785  .byte  102,15,219,204                      // pand          %xmm4,%xmm1
55786  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
55787  .byte  102,15,114,210,16                   // psrld         $0x10,%xmm2
55788  .byte  102,15,219,212                      // pand          %xmm4,%xmm2
55789  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
55790  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
55791  .byte  15,89,197                           // mulps         %xmm5,%xmm0
55792  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
55793  .byte  15,89,205                           // mulps         %xmm5,%xmm1
55794  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
55795  .byte  15,89,213                           // mulps         %xmm5,%xmm2
55796  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
55797  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
55798  .byte  15,89,221                           // mulps         %xmm5,%xmm3
55799  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
55800  .byte  141,89,8                            // lea           0x8(%ecx),%ebx
55801  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
55802  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
55803  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
55804  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
55805  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
55806  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
55807  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
55808  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
55809  .byte  137,4,36                            // mov           %eax,(%esp)
55810  .byte  255,81,4                            // call          *0x4(%ecx)
55811  .byte  131,196,108                         // add           $0x6c,%esp
55812  .byte  94                                  // pop           %esi
55813  .byte  95                                  // pop           %edi
55814  .byte  91                                  // pop           %ebx
55815  .byte  93                                  // pop           %ebp
55816  .byte  195                                 // ret
55817
55818HIDDEN _sk_store_8888_sse2
55819.globl _sk_store_8888_sse2
55820FUNCTION(_sk_store_8888_sse2)
55821_sk_store_8888_sse2:
55822  .byte  85                                  // push          %ebp
55823  .byte  137,229                             // mov           %esp,%ebp
55824  .byte  83                                  // push          %ebx
55825  .byte  87                                  // push          %edi
55826  .byte  86                                  // push          %esi
55827  .byte  131,236,108                         // sub           $0x6c,%esp
55828  .byte  232,0,0,0,0                         // call          5c91 <_sk_store_8888_sse2+0xe>
55829  .byte  88                                  // pop           %eax
55830  .byte  15,40,160,31,68,0,0                 // movaps        0x441f(%eax),%xmm4
55831  .byte  15,40,232                           // movaps        %xmm0,%xmm5
55832  .byte  15,89,236                           // mulps         %xmm4,%xmm5
55833  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
55834  .byte  15,40,241                           // movaps        %xmm1,%xmm6
55835  .byte  15,89,244                           // mulps         %xmm4,%xmm6
55836  .byte  102,15,91,246                       // cvtps2dq      %xmm6,%xmm6
55837  .byte  102,15,114,246,8                    // pslld         $0x8,%xmm6
55838  .byte  102,15,235,245                      // por           %xmm5,%xmm6
55839  .byte  15,40,234                           // movaps        %xmm2,%xmm5
55840  .byte  15,89,236                           // mulps         %xmm4,%xmm5
55841  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
55842  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
55843  .byte  15,89,227                           // mulps         %xmm3,%xmm4
55844  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
55845  .byte  102,15,114,244,24                   // pslld         $0x18,%xmm4
55846  .byte  102,15,235,229                      // por           %xmm5,%xmm4
55847  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
55848  .byte  102,15,235,230                      // por           %xmm6,%xmm4
55849  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
55850  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
55851  .byte  139,117,20                          // mov           0x14(%ebp),%esi
55852  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
55853  .byte  139,69,12                           // mov           0xc(%ebp),%eax
55854  .byte  139,16                              // mov           (%eax),%edx
55855  .byte  139,58                              // mov           (%edx),%edi
55856  .byte  133,219                             // test          %ebx,%ebx
55857  .byte  139,85,8                            // mov           0x8(%ebp),%edx
55858  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
55859  .byte  117,62                              // jne           5d3a <_sk_store_8888_sse2+0xb7>
55860  .byte  243,15,127,36,143                   // movdqu        %xmm4,(%edi,%ecx,4)
55861  .byte  141,120,8                           // lea           0x8(%eax),%edi
55862  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
55863  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
55864  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
55865  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
55866  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
55867  .byte  137,92,36,16                        // mov           %ebx,0x10(%esp)
55868  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
55869  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
55870  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
55871  .byte  137,20,36                           // mov           %edx,(%esp)
55872  .byte  255,80,4                            // call          *0x4(%eax)
55873  .byte  131,196,108                         // add           $0x6c,%esp
55874  .byte  94                                  // pop           %esi
55875  .byte  95                                  // pop           %edi
55876  .byte  91                                  // pop           %ebx
55877  .byte  93                                  // pop           %ebp
55878  .byte  195                                 // ret
55879  .byte  137,218                             // mov           %ebx,%edx
55880  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
55881  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
55882  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
55883  .byte  116,37                              // je            5d6e <_sk_store_8888_sse2+0xeb>
55884  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
55885  .byte  139,85,8                            // mov           0x8(%ebp),%edx
55886  .byte  116,21                              // je            5d67 <_sk_store_8888_sse2+0xe4>
55887  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
55888  .byte  117,169                             // jne           5d01 <_sk_store_8888_sse2+0x7e>
55889  .byte  102,15,112,236,78                   // pshufd        $0x4e,%xmm4,%xmm5
55890  .byte  102,15,126,108,143,8                // movd          %xmm5,0x8(%edi,%ecx,4)
55891  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
55892  .byte  102,15,214,36,143                   // movq          %xmm4,(%edi,%ecx,4)
55893  .byte  235,147                             // jmp           5d01 <_sk_store_8888_sse2+0x7e>
55894  .byte  102,15,126,36,143                   // movd          %xmm4,(%edi,%ecx,4)
55895  .byte  139,85,8                            // mov           0x8(%ebp),%edx
55896  .byte  235,137                             // jmp           5d01 <_sk_store_8888_sse2+0x7e>
55897
55898HIDDEN _sk_store_8888_2d_sse2
55899.globl _sk_store_8888_2d_sse2
55900FUNCTION(_sk_store_8888_2d_sse2)
55901_sk_store_8888_2d_sse2:
55902  .byte  85                                  // push          %ebp
55903  .byte  137,229                             // mov           %esp,%ebp
55904  .byte  83                                  // push          %ebx
55905  .byte  87                                  // push          %edi
55906  .byte  86                                  // push          %esi
55907  .byte  131,236,108                         // sub           $0x6c,%esp
55908  .byte  232,0,0,0,0                         // call          5d86 <_sk_store_8888_2d_sse2+0xe>
55909  .byte  88                                  // pop           %eax
55910  .byte  15,40,160,58,67,0,0                 // movaps        0x433a(%eax),%xmm4
55911  .byte  15,40,232                           // movaps        %xmm0,%xmm5
55912  .byte  15,89,236                           // mulps         %xmm4,%xmm5
55913  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
55914  .byte  15,40,241                           // movaps        %xmm1,%xmm6
55915  .byte  15,89,244                           // mulps         %xmm4,%xmm6
55916  .byte  102,15,91,246                       // cvtps2dq      %xmm6,%xmm6
55917  .byte  102,15,114,246,8                    // pslld         $0x8,%xmm6
55918  .byte  102,15,235,245                      // por           %xmm5,%xmm6
55919  .byte  15,40,234                           // movaps        %xmm2,%xmm5
55920  .byte  15,89,236                           // mulps         %xmm4,%xmm5
55921  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
55922  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
55923  .byte  15,89,227                           // mulps         %xmm3,%xmm4
55924  .byte  102,15,91,252                       // cvtps2dq      %xmm4,%xmm7
55925  .byte  102,15,114,247,24                   // pslld         $0x18,%xmm7
55926  .byte  102,15,235,253                      // por           %xmm5,%xmm7
55927  .byte  102,15,235,254                      // por           %xmm6,%xmm7
55928  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
55929  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55930  .byte  139,77,20                           // mov           0x14(%ebp),%ecx
55931  .byte  139,69,12                           // mov           0xc(%ebp),%eax
55932  .byte  139,48                              // mov           (%eax),%esi
55933  .byte  139,94,4                            // mov           0x4(%esi),%ebx
55934  .byte  15,175,217                          // imul          %ecx,%ebx
55935  .byte  193,227,2                           // shl           $0x2,%ebx
55936  .byte  3,30                                // add           (%esi),%ebx
55937  .byte  139,125,16                          // mov           0x10(%ebp),%edi
55938  .byte  133,210                             // test          %edx,%edx
55939  .byte  139,117,8                           // mov           0x8(%ebp),%esi
55940  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
55941  .byte  117,66                              // jne           5e38 <_sk_store_8888_2d_sse2+0xc0>
55942  .byte  243,15,127,60,187                   // movdqu        %xmm7,(%ebx,%edi,4)
55943  .byte  141,88,8                            // lea           0x8(%eax),%ebx
55944  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
55945  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
55946  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
55947  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
55948  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
55949  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
55950  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
55951  .byte  137,76,36,12                        // mov           %ecx,0xc(%esp)
55952  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
55953  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
55954  .byte  137,52,36                           // mov           %esi,(%esp)
55955  .byte  255,80,4                            // call          *0x4(%eax)
55956  .byte  131,196,108                         // add           $0x6c,%esp
55957  .byte  94                                  // pop           %esi
55958  .byte  95                                  // pop           %edi
55959  .byte  91                                  // pop           %ebx
55960  .byte  93                                  // pop           %ebp
55961  .byte  195                                 // ret
55962  .byte  137,209                             // mov           %edx,%ecx
55963  .byte  136,77,243                          // mov           %cl,-0xd(%ebp)
55964  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
55965  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
55966  .byte  116,33                              // je            5e68 <_sk_store_8888_2d_sse2+0xf0>
55967  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
55968  .byte  139,77,20                           // mov           0x14(%ebp),%ecx
55969  .byte  116,17                              // je            5e61 <_sk_store_8888_2d_sse2+0xe9>
55970  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
55971  .byte  117,165                             // jne           5dfb <_sk_store_8888_2d_sse2+0x83>
55972  .byte  102,15,112,239,78                   // pshufd        $0x4e,%xmm7,%xmm5
55973  .byte  102,15,126,108,187,8                // movd          %xmm5,0x8(%ebx,%edi,4)
55974  .byte  102,15,214,60,187                   // movq          %xmm7,(%ebx,%edi,4)
55975  .byte  235,147                             // jmp           5dfb <_sk_store_8888_2d_sse2+0x83>
55976  .byte  102,15,126,60,187                   // movd          %xmm7,(%ebx,%edi,4)
55977  .byte  139,77,20                           // mov           0x14(%ebp),%ecx
55978  .byte  235,137                             // jmp           5dfb <_sk_store_8888_2d_sse2+0x83>
55979
55980HIDDEN _sk_load_bgra_sse2
55981.globl _sk_load_bgra_sse2
55982FUNCTION(_sk_load_bgra_sse2)
55983_sk_load_bgra_sse2:
55984  .byte  85                                  // push          %ebp
55985  .byte  137,229                             // mov           %esp,%ebp
55986  .byte  83                                  // push          %ebx
55987  .byte  87                                  // push          %edi
55988  .byte  86                                  // push          %esi
55989  .byte  131,236,108                         // sub           $0x6c,%esp
55990  .byte  232,0,0,0,0                         // call          5e80 <_sk_load_bgra_sse2+0xe>
55991  .byte  91                                  // pop           %ebx
55992  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
55993  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
55994  .byte  139,85,24                           // mov           0x18(%ebp),%edx
55995  .byte  139,69,12                           // mov           0xc(%ebp),%eax
55996  .byte  139,8                               // mov           (%eax),%ecx
55997  .byte  139,9                               // mov           (%ecx),%ecx
55998  .byte  133,210                             // test          %edx,%edx
55999  .byte  139,125,16                          // mov           0x10(%ebp),%edi
56000  .byte  139,117,8                           // mov           0x8(%ebp),%esi
56001  .byte  15,133,147,0,0,0                    // jne           5f34 <_sk_load_bgra_sse2+0xc2>
56002  .byte  243,15,111,44,185                   // movdqu        (%ecx,%edi,4),%xmm5
56003  .byte  102,15,111,131,80,66,0,0            // movdqa        0x4250(%ebx),%xmm0
56004  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
56005  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
56006  .byte  15,91,209                           // cvtdq2ps      %xmm1,%xmm2
56007  .byte  15,40,163,96,66,0,0                 // movaps        0x4260(%ebx),%xmm4
56008  .byte  15,89,212                           // mulps         %xmm4,%xmm2
56009  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
56010  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
56011  .byte  102,15,219,200                      // pand          %xmm0,%xmm1
56012  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
56013  .byte  15,89,204                           // mulps         %xmm4,%xmm1
56014  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
56015  .byte  102,15,114,211,16                   // psrld         $0x10,%xmm3
56016  .byte  102,15,219,216                      // pand          %xmm0,%xmm3
56017  .byte  15,91,195                           // cvtdq2ps      %xmm3,%xmm0
56018  .byte  15,89,196                           // mulps         %xmm4,%xmm0
56019  .byte  102,15,114,213,24                   // psrld         $0x18,%xmm5
56020  .byte  15,91,221                           // cvtdq2ps      %xmm5,%xmm3
56021  .byte  15,89,220                           // mulps         %xmm4,%xmm3
56022  .byte  141,72,8                            // lea           0x8(%eax),%ecx
56023  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
56024  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
56025  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
56026  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
56027  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
56028  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
56029  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
56030  .byte  139,85,20                           // mov           0x14(%ebp),%edx
56031  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
56032  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
56033  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
56034  .byte  137,52,36                           // mov           %esi,(%esp)
56035  .byte  255,80,4                            // call          *0x4(%eax)
56036  .byte  131,196,108                         // add           $0x6c,%esp
56037  .byte  94                                  // pop           %esi
56038  .byte  95                                  // pop           %edi
56039  .byte  91                                  // pop           %ebx
56040  .byte  93                                  // pop           %ebp
56041  .byte  195                                 // ret
56042  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
56043  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
56044  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
56045  .byte  116,44                              // je            5f6d <_sk_load_bgra_sse2+0xfb>
56046  .byte  102,15,239,237                      // pxor          %xmm5,%xmm5
56047  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
56048  .byte  139,85,24                           // mov           0x18(%ebp),%edx
56049  .byte  116,21                              // je            5f63 <_sk_load_bgra_sse2+0xf1>
56050  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
56051  .byte  15,133,78,255,255,255               // jne           5ea6 <_sk_load_bgra_sse2+0x34>
56052  .byte  102,15,110,68,185,8                 // movd          0x8(%ecx,%edi,4),%xmm0
56053  .byte  102,15,112,232,69                   // pshufd        $0x45,%xmm0,%xmm5
56054  .byte  102,15,18,44,185                    // movlpd        (%ecx,%edi,4),%xmm5
56055  .byte  233,57,255,255,255                  // jmp           5ea6 <_sk_load_bgra_sse2+0x34>
56056  .byte  102,15,110,44,185                   // movd          (%ecx,%edi,4),%xmm5
56057  .byte  139,85,24                           // mov           0x18(%ebp),%edx
56058  .byte  233,44,255,255,255                  // jmp           5ea6 <_sk_load_bgra_sse2+0x34>
56059
56060HIDDEN _sk_load_bgra_dst_sse2
56061.globl _sk_load_bgra_dst_sse2
56062FUNCTION(_sk_load_bgra_dst_sse2)
56063_sk_load_bgra_dst_sse2:
56064  .byte  85                                  // push          %ebp
56065  .byte  137,229                             // mov           %esp,%ebp
56066  .byte  83                                  // push          %ebx
56067  .byte  87                                  // push          %edi
56068  .byte  86                                  // push          %esi
56069  .byte  129,236,140,0,0,0                   // sub           $0x8c,%esp
56070  .byte  102,15,127,93,200                   // movdqa        %xmm3,-0x38(%ebp)
56071  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
56072  .byte  232,0,0,0,0                         // call          5f94 <_sk_load_bgra_dst_sse2+0x1a>
56073  .byte  91                                  // pop           %ebx
56074  .byte  139,85,24                           // mov           0x18(%ebp),%edx
56075  .byte  139,69,12                           // mov           0xc(%ebp),%eax
56076  .byte  139,8                               // mov           (%eax),%ecx
56077  .byte  139,9                               // mov           (%ecx),%ecx
56078  .byte  133,210                             // test          %edx,%edx
56079  .byte  139,125,16                          // mov           0x10(%ebp),%edi
56080  .byte  139,117,8                           // mov           0x8(%ebp),%esi
56081  .byte  15,133,150,0,0,0                    // jne           6043 <_sk_load_bgra_dst_sse2+0xc9>
56082  .byte  243,15,111,28,185                   // movdqu        (%ecx,%edi,4),%xmm3
56083  .byte  102,15,111,147,92,65,0,0            // movdqa        0x415c(%ebx),%xmm2
56084  .byte  102,15,111,243                      // movdqa        %xmm3,%xmm6
56085  .byte  102,15,219,242                      // pand          %xmm2,%xmm6
56086  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
56087  .byte  15,40,187,108,65,0,0                // movaps        0x416c(%ebx),%xmm7
56088  .byte  15,89,247                           // mulps         %xmm7,%xmm6
56089  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
56090  .byte  102,15,114,212,8                    // psrld         $0x8,%xmm4
56091  .byte  102,15,219,226                      // pand          %xmm2,%xmm4
56092  .byte  15,91,228                           // cvtdq2ps      %xmm4,%xmm4
56093  .byte  15,89,231                           // mulps         %xmm7,%xmm4
56094  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
56095  .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
56096  .byte  102,15,219,234                      // pand          %xmm2,%xmm5
56097  .byte  15,91,213                           // cvtdq2ps      %xmm5,%xmm2
56098  .byte  15,89,215                           // mulps         %xmm7,%xmm2
56099  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
56100  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
56101  .byte  15,89,223                           // mulps         %xmm7,%xmm3
56102  .byte  141,72,8                            // lea           0x8(%eax),%ecx
56103  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
56104  .byte  139,85,20                           // mov           0x14(%ebp),%edx
56105  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
56106  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
56107  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
56108  .byte  137,52,36                           // mov           %esi,(%esp)
56109  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
56110  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
56111  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
56112  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
56113  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
56114  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
56115  .byte  255,80,4                            // call          *0x4(%eax)
56116  .byte  129,196,140,0,0,0                   // add           $0x8c,%esp
56117  .byte  94                                  // pop           %esi
56118  .byte  95                                  // pop           %edi
56119  .byte  91                                  // pop           %ebx
56120  .byte  93                                  // pop           %ebp
56121  .byte  195                                 // ret
56122  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
56123  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
56124  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
56125  .byte  116,44                              // je            607c <_sk_load_bgra_dst_sse2+0x102>
56126  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
56127  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
56128  .byte  139,85,24                           // mov           0x18(%ebp),%edx
56129  .byte  116,21                              // je            6072 <_sk_load_bgra_dst_sse2+0xf8>
56130  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
56131  .byte  15,133,75,255,255,255               // jne           5fb2 <_sk_load_bgra_dst_sse2+0x38>
56132  .byte  102,15,110,100,185,8                // movd          0x8(%ecx,%edi,4),%xmm4
56133  .byte  102,15,112,220,69                   // pshufd        $0x45,%xmm4,%xmm3
56134  .byte  102,15,18,28,185                    // movlpd        (%ecx,%edi,4),%xmm3
56135  .byte  233,54,255,255,255                  // jmp           5fb2 <_sk_load_bgra_dst_sse2+0x38>
56136  .byte  102,15,110,28,185                   // movd          (%ecx,%edi,4),%xmm3
56137  .byte  139,85,24                           // mov           0x18(%ebp),%edx
56138  .byte  233,41,255,255,255                  // jmp           5fb2 <_sk_load_bgra_dst_sse2+0x38>
56139
56140HIDDEN _sk_gather_bgra_sse2
56141.globl _sk_gather_bgra_sse2
56142FUNCTION(_sk_gather_bgra_sse2)
56143_sk_gather_bgra_sse2:
56144  .byte  85                                  // push          %ebp
56145  .byte  137,229                             // mov           %esp,%ebp
56146  .byte  83                                  // push          %ebx
56147  .byte  87                                  // push          %edi
56148  .byte  86                                  // push          %esi
56149  .byte  131,236,108                         // sub           $0x6c,%esp
56150  .byte  232,0,0,0,0                         // call          6097 <_sk_gather_bgra_sse2+0xe>
56151  .byte  90                                  // pop           %edx
56152  .byte  139,69,8                            // mov           0x8(%ebp),%eax
56153  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
56154  .byte  139,49                              // mov           (%ecx),%esi
56155  .byte  139,62                              // mov           (%esi),%edi
56156  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
56157  .byte  102,15,110,86,4                     // movd          0x4(%esi),%xmm2
56158  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
56159  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
56160  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
56161  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
56162  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
56163  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
56164  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
56165  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
56166  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
56167  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
56168  .byte  102,15,112,208,231                  // pshufd        $0xe7,%xmm0,%xmm2
56169  .byte  102,15,126,214                      // movd          %xmm2,%esi
56170  .byte  102,15,110,20,183                   // movd          (%edi,%esi,4),%xmm2
56171  .byte  102,15,126,206                      // movd          %xmm1,%esi
56172  .byte  102,15,110,12,183                   // movd          (%edi,%esi,4),%xmm1
56173  .byte  102,15,126,198                      // movd          %xmm0,%esi
56174  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
56175  .byte  102,15,110,28,183                   // movd          (%edi,%esi,4),%xmm3
56176  .byte  102,15,126,198                      // movd          %xmm0,%esi
56177  .byte  102,15,110,4,183                    // movd          (%edi,%esi,4),%xmm0
56178  .byte  139,117,16                          // mov           0x10(%ebp),%esi
56179  .byte  139,125,20                          // mov           0x14(%ebp),%edi
56180  .byte  102,15,111,162,121,64,0,0           // movdqa        0x4079(%edx),%xmm4
56181  .byte  15,40,170,137,64,0,0                // movaps        0x4089(%edx),%xmm5
56182  .byte  139,85,24                           // mov           0x18(%ebp),%edx
56183  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
56184  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
56185  .byte  102,15,98,202                       // punpckldq     %xmm2,%xmm1
56186  .byte  102,15,98,216                       // punpckldq     %xmm0,%xmm3
56187  .byte  102,15,98,217                       // punpckldq     %xmm1,%xmm3
56188  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
56189  .byte  102,15,219,212                      // pand          %xmm4,%xmm2
56190  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
56191  .byte  102,15,114,209,8                    // psrld         $0x8,%xmm1
56192  .byte  102,15,219,204                      // pand          %xmm4,%xmm1
56193  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
56194  .byte  102,15,114,208,16                   // psrld         $0x10,%xmm0
56195  .byte  102,15,219,196                      // pand          %xmm4,%xmm0
56196  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
56197  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
56198  .byte  15,89,213                           // mulps         %xmm5,%xmm2
56199  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
56200  .byte  15,89,205                           // mulps         %xmm5,%xmm1
56201  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
56202  .byte  15,89,197                           // mulps         %xmm5,%xmm0
56203  .byte  102,15,114,211,24                   // psrld         $0x18,%xmm3
56204  .byte  15,91,219                           // cvtdq2ps      %xmm3,%xmm3
56205  .byte  15,89,221                           // mulps         %xmm5,%xmm3
56206  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
56207  .byte  141,89,8                            // lea           0x8(%ecx),%ebx
56208  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
56209  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
56210  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
56211  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
56212  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
56213  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
56214  .byte  137,116,36,8                        // mov           %esi,0x8(%esp)
56215  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
56216  .byte  137,4,36                            // mov           %eax,(%esp)
56217  .byte  255,81,4                            // call          *0x4(%ecx)
56218  .byte  131,196,108                         // add           $0x6c,%esp
56219  .byte  94                                  // pop           %esi
56220  .byte  95                                  // pop           %edi
56221  .byte  91                                  // pop           %ebx
56222  .byte  93                                  // pop           %ebp
56223  .byte  195                                 // ret
56224
56225HIDDEN _sk_store_bgra_sse2
56226.globl _sk_store_bgra_sse2
56227FUNCTION(_sk_store_bgra_sse2)
56228_sk_store_bgra_sse2:
56229  .byte  85                                  // push          %ebp
56230  .byte  137,229                             // mov           %esp,%ebp
56231  .byte  83                                  // push          %ebx
56232  .byte  87                                  // push          %edi
56233  .byte  86                                  // push          %esi
56234  .byte  131,236,108                         // sub           $0x6c,%esp
56235  .byte  232,0,0,0,0                         // call          61bc <_sk_store_bgra_sse2+0xe>
56236  .byte  88                                  // pop           %eax
56237  .byte  15,40,160,116,63,0,0                // movaps        0x3f74(%eax),%xmm4
56238  .byte  15,40,234                           // movaps        %xmm2,%xmm5
56239  .byte  15,89,236                           // mulps         %xmm4,%xmm5
56240  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
56241  .byte  15,40,241                           // movaps        %xmm1,%xmm6
56242  .byte  15,89,244                           // mulps         %xmm4,%xmm6
56243  .byte  102,15,91,246                       // cvtps2dq      %xmm6,%xmm6
56244  .byte  102,15,114,246,8                    // pslld         $0x8,%xmm6
56245  .byte  102,15,235,245                      // por           %xmm5,%xmm6
56246  .byte  15,40,232                           // movaps        %xmm0,%xmm5
56247  .byte  15,89,236                           // mulps         %xmm4,%xmm5
56248  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
56249  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
56250  .byte  15,89,227                           // mulps         %xmm3,%xmm4
56251  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
56252  .byte  102,15,114,244,24                   // pslld         $0x18,%xmm4
56253  .byte  102,15,235,229                      // por           %xmm5,%xmm4
56254  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
56255  .byte  102,15,235,230                      // por           %xmm6,%xmm4
56256  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
56257  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
56258  .byte  139,117,20                          // mov           0x14(%ebp),%esi
56259  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
56260  .byte  139,69,12                           // mov           0xc(%ebp),%eax
56261  .byte  139,16                              // mov           (%eax),%edx
56262  .byte  139,58                              // mov           (%edx),%edi
56263  .byte  133,219                             // test          %ebx,%ebx
56264  .byte  139,85,8                            // mov           0x8(%ebp),%edx
56265  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
56266  .byte  117,62                              // jne           6265 <_sk_store_bgra_sse2+0xb7>
56267  .byte  243,15,127,36,143                   // movdqu        %xmm4,(%edi,%ecx,4)
56268  .byte  141,120,8                           // lea           0x8(%eax),%edi
56269  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
56270  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
56271  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
56272  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
56273  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
56274  .byte  137,92,36,16                        // mov           %ebx,0x10(%esp)
56275  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
56276  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
56277  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
56278  .byte  137,20,36                           // mov           %edx,(%esp)
56279  .byte  255,80,4                            // call          *0x4(%eax)
56280  .byte  131,196,108                         // add           $0x6c,%esp
56281  .byte  94                                  // pop           %esi
56282  .byte  95                                  // pop           %edi
56283  .byte  91                                  // pop           %ebx
56284  .byte  93                                  // pop           %ebp
56285  .byte  195                                 // ret
56286  .byte  137,218                             // mov           %ebx,%edx
56287  .byte  136,85,243                          // mov           %dl,-0xd(%ebp)
56288  .byte  128,101,243,3                       // andb          $0x3,-0xd(%ebp)
56289  .byte  128,125,243,1                       // cmpb          $0x1,-0xd(%ebp)
56290  .byte  116,37                              // je            6299 <_sk_store_bgra_sse2+0xeb>
56291  .byte  128,125,243,2                       // cmpb          $0x2,-0xd(%ebp)
56292  .byte  139,85,8                            // mov           0x8(%ebp),%edx
56293  .byte  116,21                              // je            6292 <_sk_store_bgra_sse2+0xe4>
56294  .byte  128,125,243,3                       // cmpb          $0x3,-0xd(%ebp)
56295  .byte  117,169                             // jne           622c <_sk_store_bgra_sse2+0x7e>
56296  .byte  102,15,112,236,78                   // pshufd        $0x4e,%xmm4,%xmm5
56297  .byte  102,15,126,108,143,8                // movd          %xmm5,0x8(%edi,%ecx,4)
56298  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
56299  .byte  102,15,214,36,143                   // movq          %xmm4,(%edi,%ecx,4)
56300  .byte  235,147                             // jmp           622c <_sk_store_bgra_sse2+0x7e>
56301  .byte  102,15,126,36,143                   // movd          %xmm4,(%edi,%ecx,4)
56302  .byte  139,85,8                            // mov           0x8(%ebp),%edx
56303  .byte  235,137                             // jmp           622c <_sk_store_bgra_sse2+0x7e>
56304
56305HIDDEN _sk_load_f16_sse2
56306.globl _sk_load_f16_sse2
56307FUNCTION(_sk_load_f16_sse2)
56308_sk_load_f16_sse2:
56309  .byte  85                                  // push          %ebp
56310  .byte  137,229                             // mov           %esp,%ebp
56311  .byte  83                                  // push          %ebx
56312  .byte  87                                  // push          %edi
56313  .byte  86                                  // push          %esi
56314  .byte  129,236,188,0,0,0                   // sub           $0xbc,%esp
56315  .byte  232,0,0,0,0                         // call          62b4 <_sk_load_f16_sse2+0x11>
56316  .byte  91                                  // pop           %ebx
56317  .byte  139,85,24                           // mov           0x18(%ebp),%edx
56318  .byte  139,69,12                           // mov           0xc(%ebp),%eax
56319  .byte  139,8                               // mov           (%eax),%ecx
56320  .byte  139,9                               // mov           (%ecx),%ecx
56321  .byte  133,210                             // test          %edx,%edx
56322  .byte  139,125,16                          // mov           0x10(%ebp),%edi
56323  .byte  139,117,8                           // mov           0x8(%ebp),%esi
56324  .byte  15,133,220,1,0,0                    // jne           64a9 <_sk_load_f16_sse2+0x206>
56325  .byte  102,15,16,4,249                     // movupd        (%ecx,%edi,8),%xmm0
56326  .byte  243,15,111,76,249,16                // movdqu        0x10(%ecx,%edi,8),%xmm1
56327  .byte  102,15,40,208                       // movapd        %xmm0,%xmm2
56328  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
56329  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
56330  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
56331  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
56332  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
56333  .byte  102,15,126,77,208                   // movd          %xmm1,-0x30(%ebp)
56334  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
56335  .byte  102,15,126,69,212                   // movd          %xmm0,-0x2c(%ebp)
56336  .byte  243,15,126,117,208                  // movq          -0x30(%ebp),%xmm6
56337  .byte  102,15,112,193,231                  // pshufd        $0xe7,%xmm1,%xmm0
56338  .byte  102,15,126,69,220                   // movd          %xmm0,-0x24(%ebp)
56339  .byte  102,15,112,193,78                   // pshufd        $0x4e,%xmm1,%xmm0
56340  .byte  102,15,126,69,216                   // movd          %xmm0,-0x28(%ebp)
56341  .byte  243,15,126,101,216                  // movq          -0x28(%ebp),%xmm4
56342  .byte  102,15,126,85,224                   // movd          %xmm2,-0x20(%ebp)
56343  .byte  102,15,112,194,229                  // pshufd        $0xe5,%xmm2,%xmm0
56344  .byte  102,15,126,69,228                   // movd          %xmm0,-0x1c(%ebp)
56345  .byte  243,15,126,125,224                  // movq          -0x20(%ebp),%xmm7
56346  .byte  102,15,112,194,231                  // pshufd        $0xe7,%xmm2,%xmm0
56347  .byte  102,15,126,69,236                   // movd          %xmm0,-0x14(%ebp)
56348  .byte  102,15,112,194,78                   // pshufd        $0x4e,%xmm2,%xmm0
56349  .byte  102,15,126,69,232                   // movd          %xmm0,-0x18(%ebp)
56350  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
56351  .byte  102,15,97,243                       // punpcklwd     %xmm3,%xmm6
56352  .byte  102,15,111,171,140,62,0,0           // movdqa        0x3e8c(%ebx),%xmm5
56353  .byte  102,15,111,214                      // movdqa        %xmm6,%xmm2
56354  .byte  102,15,219,213                      // pand          %xmm5,%xmm2
56355  .byte  102,15,239,242                      // pxor          %xmm2,%xmm6
56356  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
56357  .byte  102,15,111,206                      // movdqa        %xmm6,%xmm1
56358  .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
56359  .byte  102,15,235,202                      // por           %xmm2,%xmm1
56360  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
56361  .byte  102,15,97,211                       // punpcklwd     %xmm3,%xmm2
56362  .byte  102,15,111,226                      // movdqa        %xmm2,%xmm4
56363  .byte  102,15,219,229                      // pand          %xmm5,%xmm4
56364  .byte  102,15,239,212                      // pxor          %xmm4,%xmm2
56365  .byte  102,15,127,85,152                   // movdqa        %xmm2,-0x68(%ebp)
56366  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
56367  .byte  102,15,114,242,13                   // pslld         $0xd,%xmm2
56368  .byte  102,15,235,212                      // por           %xmm4,%xmm2
56369  .byte  102,15,111,231                      // movdqa        %xmm7,%xmm4
56370  .byte  102,15,97,227                       // punpcklwd     %xmm3,%xmm4
56371  .byte  102,15,111,252                      // movdqa        %xmm4,%xmm7
56372  .byte  102,15,219,253                      // pand          %xmm5,%xmm7
56373  .byte  102,15,239,231                      // pxor          %xmm7,%xmm4
56374  .byte  102,15,127,101,168                  // movdqa        %xmm4,-0x58(%ebp)
56375  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
56376  .byte  102,15,114,244,13                   // pslld         $0xd,%xmm4
56377  .byte  102,15,235,231                      // por           %xmm7,%xmm4
56378  .byte  243,15,126,125,232                  // movq          -0x18(%ebp),%xmm7
56379  .byte  102,15,97,251                       // punpcklwd     %xmm3,%xmm7
56380  .byte  102,15,219,239                      // pand          %xmm7,%xmm5
56381  .byte  102,15,239,253                      // pxor          %xmm5,%xmm7
56382  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
56383  .byte  102,15,111,199                      // movdqa        %xmm7,%xmm0
56384  .byte  102,15,114,240,13                   // pslld         $0xd,%xmm0
56385  .byte  102,15,235,197                      // por           %xmm5,%xmm0
56386  .byte  102,15,111,155,156,62,0,0           // movdqa        0x3e9c(%ebx),%xmm3
56387  .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
56388  .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
56389  .byte  102,15,254,227                      // paddd         %xmm3,%xmm4
56390  .byte  102,15,254,195                      // paddd         %xmm3,%xmm0
56391  .byte  102,15,111,155,172,62,0,0           // movdqa        0x3eac(%ebx),%xmm3
56392  .byte  102,15,127,93,184                   // movdqa        %xmm3,-0x48(%ebp)
56393  .byte  102,15,239,243                      // pxor          %xmm3,%xmm6
56394  .byte  102,15,111,155,188,62,0,0           // movdqa        0x3ebc(%ebx),%xmm3
56395  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
56396  .byte  102,15,102,238                      // pcmpgtd       %xmm6,%xmm5
56397  .byte  102,15,223,233                      // pandn         %xmm1,%xmm5
56398  .byte  102,15,111,117,152                  // movdqa        -0x68(%ebp),%xmm6
56399  .byte  102,15,239,117,184                  // pxor          -0x48(%ebp),%xmm6
56400  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
56401  .byte  102,15,102,206                      // pcmpgtd       %xmm6,%xmm1
56402  .byte  102,15,223,202                      // pandn         %xmm2,%xmm1
56403  .byte  102,15,111,117,168                  // movdqa        -0x58(%ebp),%xmm6
56404  .byte  102,15,239,117,184                  // pxor          -0x48(%ebp),%xmm6
56405  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
56406  .byte  102,15,102,214                      // pcmpgtd       %xmm6,%xmm2
56407  .byte  102,15,223,212                      // pandn         %xmm4,%xmm2
56408  .byte  102,15,239,125,184                  // pxor          -0x48(%ebp),%xmm7
56409  .byte  102,15,102,223                      // pcmpgtd       %xmm7,%xmm3
56410  .byte  102,15,223,216                      // pandn         %xmm0,%xmm3
56411  .byte  141,72,8                            // lea           0x8(%eax),%ecx
56412  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
56413  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
56414  .byte  15,40,69,72                         // movaps        0x48(%ebp),%xmm0
56415  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
56416  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
56417  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
56418  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
56419  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
56420  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
56421  .byte  139,85,20                           // mov           0x14(%ebp),%edx
56422  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
56423  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
56424  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
56425  .byte  137,52,36                           // mov           %esi,(%esp)
56426  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
56427  .byte  255,80,4                            // call          *0x4(%eax)
56428  .byte  129,196,188,0,0,0                   // add           $0xbc,%esp
56429  .byte  94                                  // pop           %esi
56430  .byte  95                                  // pop           %edi
56431  .byte  91                                  // pop           %ebx
56432  .byte  93                                  // pop           %ebp
56433  .byte  195                                 // ret
56434  .byte  242,15,16,4,249                     // movsd         (%ecx,%edi,8),%xmm0
56435  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
56436  .byte  131,250,1                           // cmp           $0x1,%edx
56437  .byte  15,132,29,254,255,255               // je            62d8 <_sk_load_f16_sse2+0x35>
56438  .byte  102,15,22,68,249,8                  // movhpd        0x8(%ecx,%edi,8),%xmm0
56439  .byte  131,250,3                           // cmp           $0x3,%edx
56440  .byte  15,130,14,254,255,255               // jb            62d8 <_sk_load_f16_sse2+0x35>
56441  .byte  243,15,126,76,249,16                // movq          0x10(%ecx,%edi,8),%xmm1
56442  .byte  233,3,254,255,255                   // jmp           62d8 <_sk_load_f16_sse2+0x35>
56443
56444HIDDEN _sk_load_f16_dst_sse2
56445.globl _sk_load_f16_dst_sse2
56446FUNCTION(_sk_load_f16_dst_sse2)
56447_sk_load_f16_dst_sse2:
56448  .byte  85                                  // push          %ebp
56449  .byte  137,229                             // mov           %esp,%ebp
56450  .byte  83                                  // push          %ebx
56451  .byte  87                                  // push          %edi
56452  .byte  86                                  // push          %esi
56453  .byte  129,236,252,0,0,0                   // sub           $0xfc,%esp
56454  .byte  15,41,157,88,255,255,255            // movaps        %xmm3,-0xa8(%ebp)
56455  .byte  102,15,127,149,104,255,255,255      // movdqa        %xmm2,-0x98(%ebp)
56456  .byte  15,41,141,120,255,255,255           // movaps        %xmm1,-0x88(%ebp)
56457  .byte  102,15,127,69,136                   // movdqa        %xmm0,-0x78(%ebp)
56458  .byte  232,0,0,0,0                         // call          6501 <_sk_load_f16_dst_sse2+0x2c>
56459  .byte  91                                  // pop           %ebx
56460  .byte  139,85,24                           // mov           0x18(%ebp),%edx
56461  .byte  139,69,12                           // mov           0xc(%ebp),%eax
56462  .byte  139,8                               // mov           (%eax),%ecx
56463  .byte  139,9                               // mov           (%ecx),%ecx
56464  .byte  133,210                             // test          %edx,%edx
56465  .byte  139,125,16                          // mov           0x10(%ebp),%edi
56466  .byte  139,117,8                           // mov           0x8(%ebp),%esi
56467  .byte  15,133,233,1,0,0                    // jne           6703 <_sk_load_f16_dst_sse2+0x22e>
56468  .byte  102,15,16,12,249                    // movupd        (%ecx,%edi,8),%xmm1
56469  .byte  243,15,111,68,249,16                // movdqu        0x10(%ecx,%edi,8),%xmm0
56470  .byte  102,15,40,217                       // movapd        %xmm1,%xmm3
56471  .byte  102,15,97,216                       // punpcklwd     %xmm0,%xmm3
56472  .byte  102,15,105,200                      // punpckhwd     %xmm0,%xmm1
56473  .byte  102,15,111,195                      // movdqa        %xmm3,%xmm0
56474  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
56475  .byte  102,15,105,217                      // punpckhwd     %xmm1,%xmm3
56476  .byte  102,15,126,69,208                   // movd          %xmm0,-0x30(%ebp)
56477  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
56478  .byte  102,15,126,77,212                   // movd          %xmm1,-0x2c(%ebp)
56479  .byte  243,15,126,117,208                  // movq          -0x30(%ebp),%xmm6
56480  .byte  102,15,112,200,231                  // pshufd        $0xe7,%xmm0,%xmm1
56481  .byte  102,15,126,77,220                   // movd          %xmm1,-0x24(%ebp)
56482  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
56483  .byte  102,15,126,69,216                   // movd          %xmm0,-0x28(%ebp)
56484  .byte  243,15,126,109,216                  // movq          -0x28(%ebp),%xmm5
56485  .byte  102,15,126,93,224                   // movd          %xmm3,-0x20(%ebp)
56486  .byte  102,15,112,195,229                  // pshufd        $0xe5,%xmm3,%xmm0
56487  .byte  102,15,126,69,228                   // movd          %xmm0,-0x1c(%ebp)
56488  .byte  243,15,126,77,224                   // movq          -0x20(%ebp),%xmm1
56489  .byte  102,15,112,195,231                  // pshufd        $0xe7,%xmm3,%xmm0
56490  .byte  102,15,126,69,236                   // movd          %xmm0,-0x14(%ebp)
56491  .byte  102,15,112,195,78                   // pshufd        $0x4e,%xmm3,%xmm0
56492  .byte  102,15,126,69,232                   // movd          %xmm0,-0x18(%ebp)
56493  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
56494  .byte  102,15,97,240                       // punpcklwd     %xmm0,%xmm6
56495  .byte  102,15,239,228                      // pxor          %xmm4,%xmm4
56496  .byte  102,15,111,155,127,60,0,0           // movdqa        0x3c7f(%ebx),%xmm3
56497  .byte  102,15,111,198                      // movdqa        %xmm6,%xmm0
56498  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
56499  .byte  102,15,239,240                      // pxor          %xmm0,%xmm6
56500  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
56501  .byte  102,15,111,254                      // movdqa        %xmm6,%xmm7
56502  .byte  102,15,114,247,13                   // pslld         $0xd,%xmm7
56503  .byte  102,15,235,248                      // por           %xmm0,%xmm7
56504  .byte  102,15,97,236                       // punpcklwd     %xmm4,%xmm5
56505  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
56506  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
56507  .byte  102,15,239,232                      // pxor          %xmm0,%xmm5
56508  .byte  102,15,127,109,152                  // movdqa        %xmm5,-0x68(%ebp)
56509  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
56510  .byte  102,15,114,245,13                   // pslld         $0xd,%xmm5
56511  .byte  102,15,235,232                      // por           %xmm0,%xmm5
56512  .byte  102,15,239,210                      // pxor          %xmm2,%xmm2
56513  .byte  102,15,97,202                       // punpcklwd     %xmm2,%xmm1
56514  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
56515  .byte  102,15,219,195                      // pand          %xmm3,%xmm0
56516  .byte  102,15,239,200                      // pxor          %xmm0,%xmm1
56517  .byte  102,15,127,77,168                   // movdqa        %xmm1,-0x58(%ebp)
56518  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
56519  .byte  102,15,111,225                      // movdqa        %xmm1,%xmm4
56520  .byte  102,15,114,244,13                   // pslld         $0xd,%xmm4
56521  .byte  102,15,235,224                      // por           %xmm0,%xmm4
56522  .byte  243,15,126,77,232                   // movq          -0x18(%ebp),%xmm1
56523  .byte  102,15,97,202                       // punpcklwd     %xmm2,%xmm1
56524  .byte  102,15,219,217                      // pand          %xmm1,%xmm3
56525  .byte  102,15,239,203                      // pxor          %xmm3,%xmm1
56526  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
56527  .byte  102,15,111,209                      // movdqa        %xmm1,%xmm2
56528  .byte  102,15,114,242,13                   // pslld         $0xd,%xmm2
56529  .byte  102,15,235,211                      // por           %xmm3,%xmm2
56530  .byte  102,15,111,155,143,60,0,0           // movdqa        0x3c8f(%ebx),%xmm3
56531  .byte  102,15,254,251                      // paddd         %xmm3,%xmm7
56532  .byte  102,15,254,235                      // paddd         %xmm3,%xmm5
56533  .byte  102,15,254,227                      // paddd         %xmm3,%xmm4
56534  .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
56535  .byte  102,15,111,131,159,60,0,0           // movdqa        0x3c9f(%ebx),%xmm0
56536  .byte  102,15,127,69,184                   // movdqa        %xmm0,-0x48(%ebp)
56537  .byte  102,15,239,240                      // pxor          %xmm0,%xmm6
56538  .byte  102,15,111,131,175,60,0,0           // movdqa        0x3caf(%ebx),%xmm0
56539  .byte  102,15,111,216                      // movdqa        %xmm0,%xmm3
56540  .byte  102,15,102,222                      // pcmpgtd       %xmm6,%xmm3
56541  .byte  102,15,223,223                      // pandn         %xmm7,%xmm3
56542  .byte  102,15,111,125,152                  // movdqa        -0x68(%ebp),%xmm7
56543  .byte  102,15,239,125,184                  // pxor          -0x48(%ebp),%xmm7
56544  .byte  102,15,111,240                      // movdqa        %xmm0,%xmm6
56545  .byte  102,15,102,247                      // pcmpgtd       %xmm7,%xmm6
56546  .byte  102,15,223,245                      // pandn         %xmm5,%xmm6
56547  .byte  102,15,111,125,168                  // movdqa        -0x58(%ebp),%xmm7
56548  .byte  102,15,239,125,184                  // pxor          -0x48(%ebp),%xmm7
56549  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
56550  .byte  102,15,102,239                      // pcmpgtd       %xmm7,%xmm5
56551  .byte  102,15,223,236                      // pandn         %xmm4,%xmm5
56552  .byte  102,15,239,77,184                   // pxor          -0x48(%ebp),%xmm1
56553  .byte  102,15,102,193                      // pcmpgtd       %xmm1,%xmm0
56554  .byte  102,15,223,194                      // pandn         %xmm2,%xmm0
56555  .byte  141,72,8                            // lea           0x8(%eax),%ecx
56556  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
56557  .byte  139,85,20                           // mov           0x14(%ebp),%edx
56558  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
56559  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
56560  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
56561  .byte  137,52,36                           // mov           %esi,(%esp)
56562  .byte  102,15,127,68,36,80                 // movdqa        %xmm0,0x50(%esp)
56563  .byte  102,15,127,108,36,64                // movdqa        %xmm5,0x40(%esp)
56564  .byte  102,15,127,116,36,48                // movdqa        %xmm6,0x30(%esp)
56565  .byte  102,15,127,92,36,32                 // movdqa        %xmm3,0x20(%esp)
56566  .byte  15,40,69,136                        // movaps        -0x78(%ebp),%xmm0
56567  .byte  15,40,141,120,255,255,255           // movaps        -0x88(%ebp),%xmm1
56568  .byte  15,40,149,104,255,255,255           // movaps        -0x98(%ebp),%xmm2
56569  .byte  15,40,157,88,255,255,255            // movaps        -0xa8(%ebp),%xmm3
56570  .byte  255,80,4                            // call          *0x4(%eax)
56571  .byte  129,196,252,0,0,0                   // add           $0xfc,%esp
56572  .byte  94                                  // pop           %esi
56573  .byte  95                                  // pop           %edi
56574  .byte  91                                  // pop           %ebx
56575  .byte  93                                  // pop           %ebp
56576  .byte  195                                 // ret
56577  .byte  242,15,16,12,249                    // movsd         (%ecx,%edi,8),%xmm1
56578  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
56579  .byte  131,250,1                           // cmp           $0x1,%edx
56580  .byte  15,132,16,254,255,255               // je            6525 <_sk_load_f16_dst_sse2+0x50>
56581  .byte  102,15,22,76,249,8                  // movhpd        0x8(%ecx,%edi,8),%xmm1
56582  .byte  131,250,3                           // cmp           $0x3,%edx
56583  .byte  15,130,1,254,255,255                // jb            6525 <_sk_load_f16_dst_sse2+0x50>
56584  .byte  243,15,126,68,249,16                // movq          0x10(%ecx,%edi,8),%xmm0
56585  .byte  233,246,253,255,255                 // jmp           6525 <_sk_load_f16_dst_sse2+0x50>
56586
56587HIDDEN _sk_gather_f16_sse2
56588.globl _sk_gather_f16_sse2
56589FUNCTION(_sk_gather_f16_sse2)
56590_sk_gather_f16_sse2:
56591  .byte  85                                  // push          %ebp
56592  .byte  137,229                             // mov           %esp,%ebp
56593  .byte  83                                  // push          %ebx
56594  .byte  87                                  // push          %edi
56595  .byte  86                                  // push          %esi
56596  .byte  129,236,204,0,0,0                   // sub           $0xcc,%esp
56597  .byte  232,0,0,0,0                         // call          6740 <_sk_gather_f16_sse2+0x11>
56598  .byte  89                                  // pop           %ecx
56599  .byte  139,69,12                           // mov           0xc(%ebp),%eax
56600  .byte  139,48                              // mov           (%eax),%esi
56601  .byte  139,22                              // mov           (%esi),%edx
56602  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
56603  .byte  102,15,110,86,4                     // movd          0x4(%esi),%xmm2
56604  .byte  102,15,112,210,0                    // pshufd        $0x0,%xmm2,%xmm2
56605  .byte  102,15,112,217,245                  // pshufd        $0xf5,%xmm1,%xmm3
56606  .byte  102,15,244,218                      // pmuludq       %xmm2,%xmm3
56607  .byte  102,15,112,219,232                  // pshufd        $0xe8,%xmm3,%xmm3
56608  .byte  102,15,244,209                      // pmuludq       %xmm1,%xmm2
56609  .byte  102,15,112,202,232                  // pshufd        $0xe8,%xmm2,%xmm1
56610  .byte  102,15,98,203                       // punpckldq     %xmm3,%xmm1
56611  .byte  243,15,91,192                       // cvttps2dq     %xmm0,%xmm0
56612  .byte  102,15,254,193                      // paddd         %xmm1,%xmm0
56613  .byte  102,15,126,198                      // movd          %xmm0,%esi
56614  .byte  102,15,112,200,229                  // pshufd        $0xe5,%xmm0,%xmm1
56615  .byte  102,15,112,208,78                   // pshufd        $0x4e,%xmm0,%xmm2
56616  .byte  102,15,112,192,231                  // pshufd        $0xe7,%xmm0,%xmm0
56617  .byte  102,15,126,199                      // movd          %xmm0,%edi
56618  .byte  102,15,110,68,250,4                 // movd          0x4(%edx,%edi,8),%xmm0
56619  .byte  102,15,110,28,250                   // movd          (%edx,%edi,8),%xmm3
56620  .byte  102,15,126,215                      // movd          %xmm2,%edi
56621  .byte  102,15,110,84,250,4                 // movd          0x4(%edx,%edi,8),%xmm2
56622  .byte  102,15,110,36,250                   // movd          (%edx,%edi,8),%xmm4
56623  .byte  102,15,126,207                      // movd          %xmm1,%edi
56624  .byte  102,15,98,208                       // punpckldq     %xmm0,%xmm2
56625  .byte  102,15,98,227                       // punpckldq     %xmm3,%xmm4
56626  .byte  102,15,98,226                       // punpckldq     %xmm2,%xmm4
56627  .byte  102,15,110,68,242,4                 // movd          0x4(%edx,%esi,8),%xmm0
56628  .byte  102,15,110,76,250,4                 // movd          0x4(%edx,%edi,8),%xmm1
56629  .byte  102,15,98,193                       // punpckldq     %xmm1,%xmm0
56630  .byte  102,15,110,12,242                   // movd          (%edx,%esi,8),%xmm1
56631  .byte  102,15,110,20,250                   // movd          (%edx,%edi,8),%xmm2
56632  .byte  102,15,98,202                       // punpckldq     %xmm2,%xmm1
56633  .byte  102,15,98,200                       // punpckldq     %xmm0,%xmm1
56634  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
56635  .byte  102,15,97,196                       // punpcklwd     %xmm4,%xmm0
56636  .byte  102,15,105,204                      // punpckhwd     %xmm4,%xmm1
56637  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
56638  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
56639  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
56640  .byte  102,15,126,85,208                   // movd          %xmm2,-0x30(%ebp)
56641  .byte  102,15,112,202,229                  // pshufd        $0xe5,%xmm2,%xmm1
56642  .byte  102,15,126,77,212                   // movd          %xmm1,-0x2c(%ebp)
56643  .byte  243,15,126,101,208                  // movq          -0x30(%ebp),%xmm4
56644  .byte  102,15,112,218,231                  // pshufd        $0xe7,%xmm2,%xmm3
56645  .byte  102,15,126,93,220                   // movd          %xmm3,-0x24(%ebp)
56646  .byte  102,15,112,210,78                   // pshufd        $0x4e,%xmm2,%xmm2
56647  .byte  102,15,126,85,216                   // movd          %xmm2,-0x28(%ebp)
56648  .byte  243,15,126,85,216                   // movq          -0x28(%ebp),%xmm2
56649  .byte  102,15,126,69,224                   // movd          %xmm0,-0x20(%ebp)
56650  .byte  102,15,112,216,229                  // pshufd        $0xe5,%xmm0,%xmm3
56651  .byte  102,15,126,93,228                   // movd          %xmm3,-0x1c(%ebp)
56652  .byte  243,15,126,77,224                   // movq          -0x20(%ebp),%xmm1
56653  .byte  102,15,112,216,231                  // pshufd        $0xe7,%xmm0,%xmm3
56654  .byte  102,15,126,93,236                   // movd          %xmm3,-0x14(%ebp)
56655  .byte  102,15,112,192,78                   // pshufd        $0x4e,%xmm0,%xmm0
56656  .byte  102,15,126,69,232                   // movd          %xmm0,-0x18(%ebp)
56657  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
56658  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
56659  .byte  102,15,97,235                       // punpcklwd     %xmm3,%xmm5
56660  .byte  102,15,111,161,128,58,0,0           // movdqa        0x3a80(%ecx),%xmm4
56661  .byte  102,15,111,197                      // movdqa        %xmm5,%xmm0
56662  .byte  102,15,219,196                      // pand          %xmm4,%xmm0
56663  .byte  102,15,239,232                      // pxor          %xmm0,%xmm5
56664  .byte  102,15,127,109,136                  // movdqa        %xmm5,-0x78(%ebp)
56665  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
56666  .byte  102,15,114,245,13                   // pslld         $0xd,%xmm5
56667  .byte  102,15,235,232                      // por           %xmm0,%xmm5
56668  .byte  102,15,97,211                       // punpcklwd     %xmm3,%xmm2
56669  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
56670  .byte  102,15,219,196                      // pand          %xmm4,%xmm0
56671  .byte  102,15,239,208                      // pxor          %xmm0,%xmm2
56672  .byte  102,15,127,85,152                   // movdqa        %xmm2,-0x68(%ebp)
56673  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
56674  .byte  102,15,111,242                      // movdqa        %xmm2,%xmm6
56675  .byte  102,15,114,246,13                   // pslld         $0xd,%xmm6
56676  .byte  102,15,235,240                      // por           %xmm0,%xmm6
56677  .byte  102,15,97,203                       // punpcklwd     %xmm3,%xmm1
56678  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
56679  .byte  102,15,219,196                      // pand          %xmm4,%xmm0
56680  .byte  102,15,239,200                      // pxor          %xmm0,%xmm1
56681  .byte  102,15,127,77,168                   // movdqa        %xmm1,-0x58(%ebp)
56682  .byte  102,15,114,240,16                   // pslld         $0x10,%xmm0
56683  .byte  102,15,111,249                      // movdqa        %xmm1,%xmm7
56684  .byte  102,15,114,247,13                   // pslld         $0xd,%xmm7
56685  .byte  102,15,235,248                      // por           %xmm0,%xmm7
56686  .byte  243,15,126,69,232                   // movq          -0x18(%ebp),%xmm0
56687  .byte  102,15,97,195                       // punpcklwd     %xmm3,%xmm0
56688  .byte  102,15,219,224                      // pand          %xmm0,%xmm4
56689  .byte  102,15,239,196                      // pxor          %xmm4,%xmm0
56690  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
56691  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
56692  .byte  102,15,114,241,13                   // pslld         $0xd,%xmm1
56693  .byte  102,15,235,204                      // por           %xmm4,%xmm1
56694  .byte  102,15,111,153,144,58,0,0           // movdqa        0x3a90(%ecx),%xmm3
56695  .byte  102,15,254,235                      // paddd         %xmm3,%xmm5
56696  .byte  102,15,254,243                      // paddd         %xmm3,%xmm6
56697  .byte  102,15,254,251                      // paddd         %xmm3,%xmm7
56698  .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
56699  .byte  102,15,111,153,160,58,0,0           // movdqa        0x3aa0(%ecx),%xmm3
56700  .byte  102,15,127,93,184                   // movdqa        %xmm3,-0x48(%ebp)
56701  .byte  102,15,111,85,136                   // movdqa        -0x78(%ebp),%xmm2
56702  .byte  102,15,239,211                      // pxor          %xmm3,%xmm2
56703  .byte  102,15,111,153,176,58,0,0           // movdqa        0x3ab0(%ecx),%xmm3
56704  .byte  102,15,111,227                      // movdqa        %xmm3,%xmm4
56705  .byte  102,15,102,226                      // pcmpgtd       %xmm2,%xmm4
56706  .byte  102,15,223,229                      // pandn         %xmm5,%xmm4
56707  .byte  102,15,111,85,152                   // movdqa        -0x68(%ebp),%xmm2
56708  .byte  102,15,239,85,184                   // pxor          -0x48(%ebp),%xmm2
56709  .byte  102,15,111,235                      // movdqa        %xmm3,%xmm5
56710  .byte  102,15,102,234                      // pcmpgtd       %xmm2,%xmm5
56711  .byte  102,15,223,238                      // pandn         %xmm6,%xmm5
56712  .byte  102,15,111,117,168                  // movdqa        -0x58(%ebp),%xmm6
56713  .byte  102,15,239,117,184                  // pxor          -0x48(%ebp),%xmm6
56714  .byte  102,15,111,211                      // movdqa        %xmm3,%xmm2
56715  .byte  102,15,102,214                      // pcmpgtd       %xmm6,%xmm2
56716  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
56717  .byte  139,85,16                           // mov           0x10(%ebp),%edx
56718  .byte  139,117,20                          // mov           0x14(%ebp),%esi
56719  .byte  139,125,24                          // mov           0x18(%ebp),%edi
56720  .byte  102,15,223,215                      // pandn         %xmm7,%xmm2
56721  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
56722  .byte  102,15,239,69,184                   // pxor          -0x48(%ebp),%xmm0
56723  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
56724  .byte  102,15,102,216                      // pcmpgtd       %xmm0,%xmm3
56725  .byte  15,40,69,72                         // movaps        0x48(%ebp),%xmm0
56726  .byte  102,15,223,217                      // pandn         %xmm1,%xmm3
56727  .byte  15,40,77,88                         // movaps        0x58(%ebp),%xmm1
56728  .byte  141,88,8                            // lea           0x8(%eax),%ebx
56729  .byte  15,41,76,36,80                      // movaps        %xmm1,0x50(%esp)
56730  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
56731  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
56732  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
56733  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
56734  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
56735  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
56736  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
56737  .byte  137,12,36                           // mov           %ecx,(%esp)
56738  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
56739  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
56740  .byte  255,80,4                            // call          *0x4(%eax)
56741  .byte  129,196,204,0,0,0                   // add           $0xcc,%esp
56742  .byte  94                                  // pop           %esi
56743  .byte  95                                  // pop           %edi
56744  .byte  91                                  // pop           %ebx
56745  .byte  93                                  // pop           %ebp
56746  .byte  195                                 // ret
56747
56748HIDDEN _sk_store_f16_sse2
56749.globl _sk_store_f16_sse2
56750FUNCTION(_sk_store_f16_sse2)
56751_sk_store_f16_sse2:
56752  .byte  85                                  // push          %ebp
56753  .byte  137,229                             // mov           %esp,%ebp
56754  .byte  83                                  // push          %ebx
56755  .byte  87                                  // push          %edi
56756  .byte  86                                  // push          %esi
56757  .byte  129,236,188,0,0,0                   // sub           $0xbc,%esp
56758  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
56759  .byte  102,15,111,250                      // movdqa        %xmm2,%xmm7
56760  .byte  232,0,0,0,0                         // call          69dd <_sk_store_f16_sse2+0x19>
56761  .byte  88                                  // pop           %eax
56762  .byte  102,15,111,176,35,56,0,0            // movdqa        0x3823(%eax),%xmm6
56763  .byte  102,15,111,208                      // movdqa        %xmm0,%xmm2
56764  .byte  102,15,219,214                      // pand          %xmm6,%xmm2
56765  .byte  102,15,127,69,184                   // movdqa        %xmm0,-0x48(%ebp)
56766  .byte  102,15,111,232                      // movdqa        %xmm0,%xmm5
56767  .byte  102,15,239,234                      // pxor          %xmm2,%xmm5
56768  .byte  102,15,111,160,51,56,0,0            // movdqa        0x3833(%eax),%xmm4
56769  .byte  102,15,114,210,16                   // psrld         $0x10,%xmm2
56770  .byte  102,15,111,196                      // movdqa        %xmm4,%xmm0
56771  .byte  102,15,102,197                      // pcmpgtd       %xmm5,%xmm0
56772  .byte  102,15,114,213,13                   // psrld         $0xd,%xmm5
56773  .byte  102,15,111,152,67,56,0,0            // movdqa        0x3843(%eax),%xmm3
56774  .byte  102,15,254,211                      // paddd         %xmm3,%xmm2
56775  .byte  102,15,254,213                      // paddd         %xmm5,%xmm2
56776  .byte  102,15,114,242,16                   // pslld         $0x10,%xmm2
56777  .byte  102,15,114,226,16                   // psrad         $0x10,%xmm2
56778  .byte  102,15,223,194                      // pandn         %xmm2,%xmm0
56779  .byte  102,15,111,233                      // movdqa        %xmm1,%xmm5
56780  .byte  102,15,219,238                      // pand          %xmm6,%xmm5
56781  .byte  102,15,127,77,168                   // movdqa        %xmm1,-0x58(%ebp)
56782  .byte  102,15,239,205                      // pxor          %xmm5,%xmm1
56783  .byte  102,15,114,213,16                   // psrld         $0x10,%xmm5
56784  .byte  102,15,111,212                      // movdqa        %xmm4,%xmm2
56785  .byte  102,15,102,209                      // pcmpgtd       %xmm1,%xmm2
56786  .byte  102,15,114,209,13                   // psrld         $0xd,%xmm1
56787  .byte  102,15,254,235                      // paddd         %xmm3,%xmm5
56788  .byte  102,15,127,93,216                   // movdqa        %xmm3,-0x28(%ebp)
56789  .byte  102,15,254,233                      // paddd         %xmm1,%xmm5
56790  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
56791  .byte  102,15,114,229,16                   // psrad         $0x10,%xmm5
56792  .byte  102,15,223,213                      // pandn         %xmm5,%xmm2
56793  .byte  102,15,111,207                      // movdqa        %xmm7,%xmm1
56794  .byte  102,15,219,206                      // pand          %xmm6,%xmm1
56795  .byte  102,15,127,125,152                  // movdqa        %xmm7,-0x68(%ebp)
56796  .byte  102,15,239,249                      // pxor          %xmm1,%xmm7
56797  .byte  102,15,114,209,16                   // psrld         $0x10,%xmm1
56798  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
56799  .byte  102,15,102,239                      // pcmpgtd       %xmm7,%xmm5
56800  .byte  102,15,114,215,13                   // psrld         $0xd,%xmm7
56801  .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
56802  .byte  102,15,254,207                      // paddd         %xmm7,%xmm1
56803  .byte  102,15,111,93,200                   // movdqa        -0x38(%ebp),%xmm3
56804  .byte  102,15,114,241,16                   // pslld         $0x10,%xmm1
56805  .byte  102,15,114,225,16                   // psrad         $0x10,%xmm1
56806  .byte  102,15,223,233                      // pandn         %xmm1,%xmm5
56807  .byte  102,15,219,243                      // pand          %xmm3,%xmm6
56808  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
56809  .byte  102,15,239,206                      // pxor          %xmm6,%xmm1
56810  .byte  102,15,114,214,16                   // psrld         $0x10,%xmm6
56811  .byte  102,15,254,117,216                  // paddd         -0x28(%ebp),%xmm6
56812  .byte  102,15,102,225                      // pcmpgtd       %xmm1,%xmm4
56813  .byte  102,15,114,209,13                   // psrld         $0xd,%xmm1
56814  .byte  102,15,254,241                      // paddd         %xmm1,%xmm6
56815  .byte  102,15,114,246,16                   // pslld         $0x10,%xmm6
56816  .byte  102,15,114,230,16                   // psrad         $0x10,%xmm6
56817  .byte  102,15,223,230                      // pandn         %xmm6,%xmm4
56818  .byte  102,15,107,192                      // packssdw      %xmm0,%xmm0
56819  .byte  102,15,107,210                      // packssdw      %xmm2,%xmm2
56820  .byte  102,15,97,194                       // punpcklwd     %xmm2,%xmm0
56821  .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
56822  .byte  102,15,107,237                      // packssdw      %xmm5,%xmm5
56823  .byte  102,15,107,228                      // packssdw      %xmm4,%xmm4
56824  .byte  102,15,97,236                       // punpcklwd     %xmm4,%xmm5
56825  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
56826  .byte  139,125,24                          // mov           0x18(%ebp),%edi
56827  .byte  139,117,20                          // mov           0x14(%ebp),%esi
56828  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
56829  .byte  139,69,12                           // mov           0xc(%ebp),%eax
56830  .byte  139,16                              // mov           (%eax),%edx
56831  .byte  139,26                              // mov           (%edx),%ebx
56832  .byte  133,255                             // test          %edi,%edi
56833  .byte  139,85,8                            // mov           0x8(%ebp),%edx
56834  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
56835  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
56836  .byte  102,15,111,200                      // movdqa        %xmm0,%xmm1
56837  .byte  102,15,98,205                       // punpckldq     %xmm5,%xmm1
56838  .byte  117,82                              // jne           6b79 <_sk_store_f16_sse2+0x1b5>
56839  .byte  15,17,12,203                        // movups        %xmm1,(%ebx,%ecx,8)
56840  .byte  102,15,106,197                      // punpckhdq     %xmm5,%xmm0
56841  .byte  243,15,127,68,203,16                // movdqu        %xmm0,0x10(%ebx,%ecx,8)
56842  .byte  141,88,8                            // lea           0x8(%eax),%ebx
56843  .byte  15,41,84,36,80                      // movaps        %xmm2,0x50(%esp)
56844  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
56845  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
56846  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
56847  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
56848  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
56849  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
56850  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
56851  .byte  137,20,36                           // mov           %edx,(%esp)
56852  .byte  15,40,69,184                        // movaps        -0x48(%ebp),%xmm0
56853  .byte  15,40,77,168                        // movaps        -0x58(%ebp),%xmm1
56854  .byte  15,40,85,152                        // movaps        -0x68(%ebp),%xmm2
56855  .byte  255,80,4                            // call          *0x4(%eax)
56856  .byte  129,196,188,0,0,0                   // add           $0xbc,%esp
56857  .byte  94                                  // pop           %esi
56858  .byte  95                                  // pop           %edi
56859  .byte  91                                  // pop           %ebx
56860  .byte  93                                  // pop           %ebp
56861  .byte  195                                 // ret
56862  .byte  102,15,214,12,203                   // movq          %xmm1,(%ebx,%ecx,8)
56863  .byte  131,255,1                           // cmp           $0x1,%edi
56864  .byte  116,178                             // je            6b35 <_sk_store_f16_sse2+0x171>
56865  .byte  102,15,23,76,203,8                  // movhpd        %xmm1,0x8(%ebx,%ecx,8)
56866  .byte  131,255,3                           // cmp           $0x3,%edi
56867  .byte  114,167                             // jb            6b35 <_sk_store_f16_sse2+0x171>
56868  .byte  102,15,106,197                      // punpckhdq     %xmm5,%xmm0
56869  .byte  102,15,214,68,203,16                // movq          %xmm0,0x10(%ebx,%ecx,8)
56870  .byte  235,155                             // jmp           6b35 <_sk_store_f16_sse2+0x171>
56871
56872HIDDEN _sk_load_u16_be_sse2
56873.globl _sk_load_u16_be_sse2
56874FUNCTION(_sk_load_u16_be_sse2)
56875_sk_load_u16_be_sse2:
56876  .byte  85                                  // push          %ebp
56877  .byte  137,229                             // mov           %esp,%ebp
56878  .byte  83                                  // push          %ebx
56879  .byte  87                                  // push          %edi
56880  .byte  86                                  // push          %esi
56881  .byte  129,236,140,0,0,0                   // sub           $0x8c,%esp
56882  .byte  232,0,0,0,0                         // call          6bab <_sk_load_u16_be_sse2+0x11>
56883  .byte  91                                  // pop           %ebx
56884  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
56885  .byte  139,85,24                           // mov           0x18(%ebp),%edx
56886  .byte  139,69,12                           // mov           0xc(%ebp),%eax
56887  .byte  139,8                               // mov           (%eax),%ecx
56888  .byte  139,9                               // mov           (%ecx),%ecx
56889  .byte  133,210                             // test          %edx,%edx
56890  .byte  139,125,16                          // mov           0x10(%ebp),%edi
56891  .byte  141,52,189,0,0,0,0                  // lea           0x0(,%edi,4),%esi
56892  .byte  15,133,66,1,0,0                     // jne           6d0e <_sk_load_u16_be_sse2+0x174>
56893  .byte  102,15,16,4,113                     // movupd        (%ecx,%esi,2),%xmm0
56894  .byte  243,15,111,76,113,16                // movdqu        0x10(%ecx,%esi,2),%xmm1
56895  .byte  102,15,40,208                       // movapd        %xmm0,%xmm2
56896  .byte  102,15,97,209                       // punpcklwd     %xmm1,%xmm2
56897  .byte  102,15,105,193                      // punpckhwd     %xmm1,%xmm0
56898  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
56899  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
56900  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
56901  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
56902  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
56903  .byte  102,15,112,233,78                   // pshufd        $0x4e,%xmm1,%xmm5
56904  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
56905  .byte  102,15,235,200                      // por           %xmm0,%xmm1
56906  .byte  102,15,126,77,216                   // movd          %xmm1,-0x28(%ebp)
56907  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
56908  .byte  102,15,126,69,220                   // movd          %xmm0,-0x24(%ebp)
56909  .byte  243,15,126,69,216                   // movq          -0x28(%ebp),%xmm0
56910  .byte  102,15,239,219                      // pxor          %xmm3,%xmm3
56911  .byte  102,15,97,195                       // punpcklwd     %xmm3,%xmm0
56912  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
56913  .byte  15,40,163,133,54,0,0                // movaps        0x3685(%ebx),%xmm4
56914  .byte  15,89,196                           // mulps         %xmm4,%xmm0
56915  .byte  102,15,111,205                      // movdqa        %xmm5,%xmm1
56916  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
56917  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
56918  .byte  102,15,235,233                      // por           %xmm1,%xmm5
56919  .byte  102,15,126,109,208                  // movd          %xmm5,-0x30(%ebp)
56920  .byte  102,15,112,205,229                  // pshufd        $0xe5,%xmm5,%xmm1
56921  .byte  102,15,126,77,212                   // movd          %xmm1,-0x2c(%ebp)
56922  .byte  243,15,126,77,208                   // movq          -0x30(%ebp),%xmm1
56923  .byte  102,15,97,203                       // punpcklwd     %xmm3,%xmm1
56924  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
56925  .byte  15,89,204                           // mulps         %xmm4,%xmm1
56926  .byte  102,15,111,234                      // movdqa        %xmm2,%xmm5
56927  .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
56928  .byte  102,15,112,242,78                   // pshufd        $0x4e,%xmm2,%xmm6
56929  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
56930  .byte  102,15,235,213                      // por           %xmm5,%xmm2
56931  .byte  102,15,126,85,232                   // movd          %xmm2,-0x18(%ebp)
56932  .byte  102,15,112,210,229                  // pshufd        $0xe5,%xmm2,%xmm2
56933  .byte  102,15,126,85,236                   // movd          %xmm2,-0x14(%ebp)
56934  .byte  243,15,126,85,232                   // movq          -0x18(%ebp),%xmm2
56935  .byte  102,15,97,211                       // punpcklwd     %xmm3,%xmm2
56936  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
56937  .byte  15,89,212                           // mulps         %xmm4,%xmm2
56938  .byte  102,15,111,238                      // movdqa        %xmm6,%xmm5
56939  .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
56940  .byte  102,15,113,214,8                    // psrlw         $0x8,%xmm6
56941  .byte  102,15,235,245                      // por           %xmm5,%xmm6
56942  .byte  102,15,126,117,224                  // movd          %xmm6,-0x20(%ebp)
56943  .byte  102,15,112,238,229                  // pshufd        $0xe5,%xmm6,%xmm5
56944  .byte  102,15,126,109,228                  // movd          %xmm5,-0x1c(%ebp)
56945  .byte  243,15,126,109,224                  // movq          -0x20(%ebp),%xmm5
56946  .byte  102,15,97,235                       // punpcklwd     %xmm3,%xmm5
56947  .byte  15,91,221                           // cvtdq2ps      %xmm5,%xmm3
56948  .byte  15,89,220                           // mulps         %xmm4,%xmm3
56949  .byte  141,72,8                            // lea           0x8(%eax),%ecx
56950  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
56951  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
56952  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
56953  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
56954  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
56955  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
56956  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
56957  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
56958  .byte  139,85,20                           // mov           0x14(%ebp),%edx
56959  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
56960  .byte  137,124,36,8                        // mov           %edi,0x8(%esp)
56961  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
56962  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
56963  .byte  137,12,36                           // mov           %ecx,(%esp)
56964  .byte  255,80,4                            // call          *0x4(%eax)
56965  .byte  129,196,140,0,0,0                   // add           $0x8c,%esp
56966  .byte  94                                  // pop           %esi
56967  .byte  95                                  // pop           %edi
56968  .byte  91                                  // pop           %ebx
56969  .byte  93                                  // pop           %ebp
56970  .byte  195                                 // ret
56971  .byte  242,15,16,4,113                     // movsd         (%ecx,%esi,2),%xmm0
56972  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
56973  .byte  131,250,1                           // cmp           $0x1,%edx
56974  .byte  15,132,183,254,255,255              // je            6bd7 <_sk_load_u16_be_sse2+0x3d>
56975  .byte  102,15,22,68,113,8                  // movhpd        0x8(%ecx,%esi,2),%xmm0
56976  .byte  131,250,3                           // cmp           $0x3,%edx
56977  .byte  15,130,168,254,255,255              // jb            6bd7 <_sk_load_u16_be_sse2+0x3d>
56978  .byte  243,15,126,76,113,16                // movq          0x10(%ecx,%esi,2),%xmm1
56979  .byte  233,157,254,255,255                 // jmp           6bd7 <_sk_load_u16_be_sse2+0x3d>
56980
56981HIDDEN _sk_load_rgb_u16_be_sse2
56982.globl _sk_load_rgb_u16_be_sse2
56983FUNCTION(_sk_load_rgb_u16_be_sse2)
56984_sk_load_rgb_u16_be_sse2:
56985  .byte  85                                  // push          %ebp
56986  .byte  137,229                             // mov           %esp,%ebp
56987  .byte  83                                  // push          %ebx
56988  .byte  87                                  // push          %edi
56989  .byte  86                                  // push          %esi
56990  .byte  131,236,124                         // sub           $0x7c,%esp
56991  .byte  232,0,0,0,0                         // call          6d48 <_sk_load_rgb_u16_be_sse2+0xe>
56992  .byte  88                                  // pop           %eax
56993  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
56994  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
56995  .byte  139,117,24                          // mov           0x18(%ebp),%esi
56996  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
56997  .byte  139,17                              // mov           (%ecx),%edx
56998  .byte  139,18                              // mov           (%edx),%edx
56999  .byte  133,246                             // test          %esi,%esi
57000  .byte  139,93,16                           // mov           0x10(%ebp),%ebx
57001  .byte  141,60,91                           // lea           (%ebx,%ebx,2),%edi
57002  .byte  15,133,32,1,0,0                     // jne           6e89 <_sk_load_rgb_u16_be_sse2+0x14f>
57003  .byte  243,15,111,20,122                   // movdqu        (%edx,%edi,2),%xmm2
57004  .byte  243,15,111,124,122,8                // movdqu        0x8(%edx,%edi,2),%xmm7
57005  .byte  102,15,115,223,4                    // psrldq        $0x4,%xmm7
57006  .byte  102,15,111,194                      // movdqa        %xmm2,%xmm0
57007  .byte  102,15,115,216,6                    // psrldq        $0x6,%xmm0
57008  .byte  102,15,111,207                      // movdqa        %xmm7,%xmm1
57009  .byte  102,15,115,217,6                    // psrldq        $0x6,%xmm1
57010  .byte  102,15,97,215                       // punpcklwd     %xmm7,%xmm2
57011  .byte  102,15,97,193                       // punpcklwd     %xmm1,%xmm0
57012  .byte  102,15,111,202                      // movdqa        %xmm2,%xmm1
57013  .byte  102,15,97,200                       // punpcklwd     %xmm0,%xmm1
57014  .byte  102,15,112,217,78                   // pshufd        $0x4e,%xmm1,%xmm3
57015  .byte  102,15,105,208                      // punpckhwd     %xmm0,%xmm2
57016  .byte  102,15,111,193                      // movdqa        %xmm1,%xmm0
57017  .byte  102,15,113,240,8                    // psllw         $0x8,%xmm0
57018  .byte  102,15,113,209,8                    // psrlw         $0x8,%xmm1
57019  .byte  102,15,235,200                      // por           %xmm0,%xmm1
57020  .byte  102,15,126,77,224                   // movd          %xmm1,-0x20(%ebp)
57021  .byte  102,15,112,193,229                  // pshufd        $0xe5,%xmm1,%xmm0
57022  .byte  102,15,126,69,228                   // movd          %xmm0,-0x1c(%ebp)
57023  .byte  243,15,126,69,224                   // movq          -0x20(%ebp),%xmm0
57024  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
57025  .byte  102,15,97,199                       // punpcklwd     %xmm7,%xmm0
57026  .byte  15,91,192                           // cvtdq2ps      %xmm0,%xmm0
57027  .byte  15,40,160,248,52,0,0                // movaps        0x34f8(%eax),%xmm4
57028  .byte  15,89,196                           // mulps         %xmm4,%xmm0
57029  .byte  102,15,111,203                      // movdqa        %xmm3,%xmm1
57030  .byte  102,15,113,241,8                    // psllw         $0x8,%xmm1
57031  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
57032  .byte  102,15,235,217                      // por           %xmm1,%xmm3
57033  .byte  102,15,126,93,216                   // movd          %xmm3,-0x28(%ebp)
57034  .byte  102,15,112,203,229                  // pshufd        $0xe5,%xmm3,%xmm1
57035  .byte  102,15,126,77,220                   // movd          %xmm1,-0x24(%ebp)
57036  .byte  243,15,126,77,216                   // movq          -0x28(%ebp),%xmm1
57037  .byte  102,15,97,207                       // punpcklwd     %xmm7,%xmm1
57038  .byte  15,91,201                           // cvtdq2ps      %xmm1,%xmm1
57039  .byte  15,89,204                           // mulps         %xmm4,%xmm1
57040  .byte  102,15,111,218                      // movdqa        %xmm2,%xmm3
57041  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
57042  .byte  102,15,113,210,8                    // psrlw         $0x8,%xmm2
57043  .byte  102,15,235,211                      // por           %xmm3,%xmm2
57044  .byte  102,15,126,85,232                   // movd          %xmm2,-0x18(%ebp)
57045  .byte  102,15,112,210,229                  // pshufd        $0xe5,%xmm2,%xmm2
57046  .byte  102,15,126,85,236                   // movd          %xmm2,-0x14(%ebp)
57047  .byte  243,15,126,85,232                   // movq          -0x18(%ebp),%xmm2
57048  .byte  102,15,97,215                       // punpcklwd     %xmm7,%xmm2
57049  .byte  15,91,210                           // cvtdq2ps      %xmm2,%xmm2
57050  .byte  15,89,212                           // mulps         %xmm4,%xmm2
57051  .byte  141,81,8                            // lea           0x8(%ecx),%edx
57052  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
57053  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
57054  .byte  15,40,93,56                         // movaps        0x38(%ebp),%xmm3
57055  .byte  15,41,92,36,48                      // movaps        %xmm3,0x30(%esp)
57056  .byte  15,40,93,40                         // movaps        0x28(%ebp),%xmm3
57057  .byte  15,41,92,36,32                      // movaps        %xmm3,0x20(%esp)
57058  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
57059  .byte  139,117,20                          // mov           0x14(%ebp),%esi
57060  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
57061  .byte  137,92,36,8                         // mov           %ebx,0x8(%esp)
57062  .byte  137,84,36,4                         // mov           %edx,0x4(%esp)
57063  .byte  139,85,8                            // mov           0x8(%ebp),%edx
57064  .byte  137,20,36                           // mov           %edx,(%esp)
57065  .byte  15,40,152,8,53,0,0                  // movaps        0x3508(%eax),%xmm3
57066  .byte  255,81,4                            // call          *0x4(%ecx)
57067  .byte  131,196,124                         // add           $0x7c,%esp
57068  .byte  94                                  // pop           %esi
57069  .byte  95                                  // pop           %edi
57070  .byte  91                                  // pop           %ebx
57071  .byte  93                                  // pop           %ebp
57072  .byte  195                                 // ret
57073  .byte  102,15,110,20,122                   // movd          (%edx,%edi,2),%xmm2
57074  .byte  102,15,196,84,122,4,2               // pinsrw        $0x2,0x4(%edx,%edi,2),%xmm2
57075  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
57076  .byte  131,254,1                           // cmp           $0x1,%esi
57077  .byte  117,13                              // jne           6eab <_sk_load_rgb_u16_be_sse2+0x171>
57078  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
57079  .byte  102,15,239,192                      // pxor          %xmm0,%xmm0
57080  .byte  233,224,254,255,255                 // jmp           6d8b <_sk_load_rgb_u16_be_sse2+0x51>
57081  .byte  102,15,110,68,122,6                 // movd          0x6(%edx,%edi,2),%xmm0
57082  .byte  102,15,196,68,122,10,2              // pinsrw        $0x2,0xa(%edx,%edi,2),%xmm0
57083  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
57084  .byte  131,254,3                           // cmp           $0x3,%esi
57085  .byte  114,18                              // jb            6ed3 <_sk_load_rgb_u16_be_sse2+0x199>
57086  .byte  102,15,110,124,122,12               // movd          0xc(%edx,%edi,2),%xmm7
57087  .byte  102,15,196,124,122,16,2             // pinsrw        $0x2,0x10(%edx,%edi,2),%xmm7
57088  .byte  233,184,254,255,255                 // jmp           6d8b <_sk_load_rgb_u16_be_sse2+0x51>
57089  .byte  102,15,239,255                      // pxor          %xmm7,%xmm7
57090  .byte  233,175,254,255,255                 // jmp           6d8b <_sk_load_rgb_u16_be_sse2+0x51>
57091
57092HIDDEN _sk_store_u16_be_sse2
57093.globl _sk_store_u16_be_sse2
57094FUNCTION(_sk_store_u16_be_sse2)
57095_sk_store_u16_be_sse2:
57096  .byte  85                                  // push          %ebp
57097  .byte  137,229                             // mov           %esp,%ebp
57098  .byte  83                                  // push          %ebx
57099  .byte  87                                  // push          %edi
57100  .byte  86                                  // push          %esi
57101  .byte  131,236,124                         // sub           $0x7c,%esp
57102  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
57103  .byte  232,0,0,0,0                         // call          6eee <_sk_store_u16_be_sse2+0x12>
57104  .byte  88                                  // pop           %eax
57105  .byte  15,40,176,114,51,0,0                // movaps        0x3372(%eax),%xmm6
57106  .byte  15,40,224                           // movaps        %xmm0,%xmm4
57107  .byte  15,89,230                           // mulps         %xmm6,%xmm4
57108  .byte  102,15,91,228                       // cvtps2dq      %xmm4,%xmm4
57109  .byte  102,15,114,244,16                   // pslld         $0x10,%xmm4
57110  .byte  102,15,114,228,16                   // psrad         $0x10,%xmm4
57111  .byte  102,15,107,228                      // packssdw      %xmm4,%xmm4
57112  .byte  102,15,111,236                      // movdqa        %xmm4,%xmm5
57113  .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
57114  .byte  102,15,113,212,8                    // psrlw         $0x8,%xmm4
57115  .byte  102,15,235,229                      // por           %xmm5,%xmm4
57116  .byte  15,40,233                           // movaps        %xmm1,%xmm5
57117  .byte  15,89,238                           // mulps         %xmm6,%xmm5
57118  .byte  102,15,91,253                       // cvtps2dq      %xmm5,%xmm7
57119  .byte  102,15,114,247,16                   // pslld         $0x10,%xmm7
57120  .byte  102,15,114,231,16                   // psrad         $0x10,%xmm7
57121  .byte  102,15,107,255                      // packssdw      %xmm7,%xmm7
57122  .byte  102,15,111,239                      // movdqa        %xmm7,%xmm5
57123  .byte  102,15,113,245,8                    // psllw         $0x8,%xmm5
57124  .byte  102,15,113,215,8                    // psrlw         $0x8,%xmm7
57125  .byte  102,15,235,253                      // por           %xmm5,%xmm7
57126  .byte  15,40,234                           // movaps        %xmm2,%xmm5
57127  .byte  15,89,238                           // mulps         %xmm6,%xmm5
57128  .byte  102,15,91,237                       // cvtps2dq      %xmm5,%xmm5
57129  .byte  102,15,114,245,16                   // pslld         $0x10,%xmm5
57130  .byte  102,15,114,229,16                   // psrad         $0x10,%xmm5
57131  .byte  102,15,107,237                      // packssdw      %xmm5,%xmm5
57132  .byte  102,15,111,221                      // movdqa        %xmm5,%xmm3
57133  .byte  102,15,113,243,8                    // psllw         $0x8,%xmm3
57134  .byte  102,15,113,213,8                    // psrlw         $0x8,%xmm5
57135  .byte  102,15,235,235                      // por           %xmm3,%xmm5
57136  .byte  15,89,117,216                       // mulps         -0x28(%ebp),%xmm6
57137  .byte  102,15,91,222                       // cvtps2dq      %xmm6,%xmm3
57138  .byte  102,15,114,243,16                   // pslld         $0x10,%xmm3
57139  .byte  102,15,114,227,16                   // psrad         $0x10,%xmm3
57140  .byte  102,15,107,219                      // packssdw      %xmm3,%xmm3
57141  .byte  102,15,111,243                      // movdqa        %xmm3,%xmm6
57142  .byte  102,15,113,246,8                    // psllw         $0x8,%xmm6
57143  .byte  102,15,113,211,8                    // psrlw         $0x8,%xmm3
57144  .byte  102,15,235,222                      // por           %xmm6,%xmm3
57145  .byte  102,15,97,231                       // punpcklwd     %xmm7,%xmm4
57146  .byte  102,15,97,235                       // punpcklwd     %xmm3,%xmm5
57147  .byte  139,125,24                          // mov           0x18(%ebp),%edi
57148  .byte  139,117,20                          // mov           0x14(%ebp),%esi
57149  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57150  .byte  139,69,12                           // mov           0xc(%ebp),%eax
57151  .byte  139,16                              // mov           (%eax),%edx
57152  .byte  139,26                              // mov           (%edx),%ebx
57153  .byte  133,255                             // test          %edi,%edi
57154  .byte  141,20,141,0,0,0,0                  // lea           0x0(,%ecx,4),%edx
57155  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
57156  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
57157  .byte  102,15,111,220                      // movdqa        %xmm4,%xmm3
57158  .byte  102,15,98,221                       // punpckldq     %xmm5,%xmm3
57159  .byte  117,82                              // jne           7021 <_sk_store_u16_be_sse2+0x145>
57160  .byte  15,17,28,83                         // movups        %xmm3,(%ebx,%edx,2)
57161  .byte  102,15,106,229                      // punpckhdq     %xmm5,%xmm4
57162  .byte  243,15,127,100,83,16                // movdqu        %xmm4,0x10(%ebx,%edx,2)
57163  .byte  141,80,8                            // lea           0x8(%eax),%edx
57164  .byte  15,40,93,88                         // movaps        0x58(%ebp),%xmm3
57165  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
57166  .byte  15,40,93,72                         // movaps        0x48(%ebp),%xmm3
57167  .byte  15,41,92,36,64                      // movaps        %xmm3,0x40(%esp)
57168  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
57169  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
57170  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
57171  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
57172  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
57173  .byte  137,84,36,4                         // mov           %edx,0x4(%esp)
57174  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
57175  .byte  137,12,36                           // mov           %ecx,(%esp)
57176  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
57177  .byte  255,80,4                            // call          *0x4(%eax)
57178  .byte  131,196,124                         // add           $0x7c,%esp
57179  .byte  94                                  // pop           %esi
57180  .byte  95                                  // pop           %edi
57181  .byte  91                                  // pop           %ebx
57182  .byte  93                                  // pop           %ebp
57183  .byte  195                                 // ret
57184  .byte  102,15,214,28,83                    // movq          %xmm3,(%ebx,%edx,2)
57185  .byte  131,255,1                           // cmp           $0x1,%edi
57186  .byte  116,178                             // je            6fdd <_sk_store_u16_be_sse2+0x101>
57187  .byte  102,15,23,92,83,8                   // movhpd        %xmm3,0x8(%ebx,%edx,2)
57188  .byte  131,255,3                           // cmp           $0x3,%edi
57189  .byte  114,167                             // jb            6fdd <_sk_store_u16_be_sse2+0x101>
57190  .byte  102,15,106,229                      // punpckhdq     %xmm5,%xmm4
57191  .byte  102,15,214,100,83,16                // movq          %xmm4,0x10(%ebx,%edx,2)
57192  .byte  235,155                             // jmp           6fdd <_sk_store_u16_be_sse2+0x101>
57193
57194HIDDEN _sk_load_f32_sse2
57195.globl _sk_load_f32_sse2
57196FUNCTION(_sk_load_f32_sse2)
57197_sk_load_f32_sse2:
57198  .byte  85                                  // push          %ebp
57199  .byte  137,229                             // mov           %esp,%ebp
57200  .byte  83                                  // push          %ebx
57201  .byte  87                                  // push          %edi
57202  .byte  86                                  // push          %esi
57203  .byte  131,236,108                         // sub           $0x6c,%esp
57204  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
57205  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
57206  .byte  139,85,24                           // mov           0x18(%ebp),%edx
57207  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57208  .byte  139,69,12                           // mov           0xc(%ebp),%eax
57209  .byte  139,48                              // mov           (%eax),%esi
57210  .byte  139,30                              // mov           (%esi),%ebx
57211  .byte  137,206                             // mov           %ecx,%esi
57212  .byte  193,230,4                           // shl           $0x4,%esi
57213  .byte  15,16,44,51                         // movups        (%ebx,%esi,1),%xmm5
57214  .byte  139,125,20                          // mov           0x14(%ebp),%edi
57215  .byte  133,210                             // test          %edx,%edx
57216  .byte  141,52,141,0,0,0,0                  // lea           0x0(,%ecx,4),%esi
57217  .byte  117,117                             // jne           70ec <_sk_load_f32_sse2+0xaa>
57218  .byte  15,16,84,179,16                     // movups        0x10(%ebx,%esi,4),%xmm2
57219  .byte  15,16,92,179,32                     // movups        0x20(%ebx,%esi,4),%xmm3
57220  .byte  15,16,68,179,48                     // movups        0x30(%ebx,%esi,4),%xmm0
57221  .byte  15,40,229                           // movaps        %xmm5,%xmm4
57222  .byte  15,20,226                           // unpcklps      %xmm2,%xmm4
57223  .byte  15,40,203                           // movaps        %xmm3,%xmm1
57224  .byte  15,20,200                           // unpcklps      %xmm0,%xmm1
57225  .byte  15,21,234                           // unpckhps      %xmm2,%xmm5
57226  .byte  15,21,216                           // unpckhps      %xmm0,%xmm3
57227  .byte  15,40,196                           // movaps        %xmm4,%xmm0
57228  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
57229  .byte  15,18,204                           // movhlps       %xmm4,%xmm1
57230  .byte  15,40,213                           // movaps        %xmm5,%xmm2
57231  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
57232  .byte  15,18,221                           // movhlps       %xmm5,%xmm3
57233  .byte  141,112,8                           // lea           0x8(%eax),%esi
57234  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
57235  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
57236  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
57237  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
57238  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
57239  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
57240  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
57241  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
57242  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
57243  .byte  137,116,36,4                        // mov           %esi,0x4(%esp)
57244  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
57245  .byte  137,12,36                           // mov           %ecx,(%esp)
57246  .byte  255,80,4                            // call          *0x4(%eax)
57247  .byte  131,196,108                         // add           $0x6c,%esp
57248  .byte  94                                  // pop           %esi
57249  .byte  95                                  // pop           %edi
57250  .byte  91                                  // pop           %ebx
57251  .byte  93                                  // pop           %ebp
57252  .byte  195                                 // ret
57253  .byte  15,87,192                           // xorps         %xmm0,%xmm0
57254  .byte  131,250,1                           // cmp           $0x1,%edx
57255  .byte  117,8                               // jne           70fc <_sk_load_f32_sse2+0xba>
57256  .byte  15,87,219                           // xorps         %xmm3,%xmm3
57257  .byte  15,87,210                           // xorps         %xmm2,%xmm2
57258  .byte  235,138                             // jmp           7086 <_sk_load_f32_sse2+0x44>
57259  .byte  15,16,84,179,16                     // movups        0x10(%ebx,%esi,4),%xmm2
57260  .byte  131,250,3                           // cmp           $0x3,%edx
57261  .byte  114,10                              // jb            7110 <_sk_load_f32_sse2+0xce>
57262  .byte  15,16,92,179,32                     // movups        0x20(%ebx,%esi,4),%xmm3
57263  .byte  233,118,255,255,255                 // jmp           7086 <_sk_load_f32_sse2+0x44>
57264  .byte  15,87,219                           // xorps         %xmm3,%xmm3
57265  .byte  233,110,255,255,255                 // jmp           7086 <_sk_load_f32_sse2+0x44>
57266
57267HIDDEN _sk_load_f32_dst_sse2
57268.globl _sk_load_f32_dst_sse2
57269FUNCTION(_sk_load_f32_dst_sse2)
57270_sk_load_f32_dst_sse2:
57271  .byte  85                                  // push          %ebp
57272  .byte  137,229                             // mov           %esp,%ebp
57273  .byte  83                                  // push          %ebx
57274  .byte  87                                  // push          %edi
57275  .byte  86                                  // push          %esi
57276  .byte  129,236,140,0,0,0                   // sub           $0x8c,%esp
57277  .byte  15,41,93,200                        // movaps        %xmm3,-0x38(%ebp)
57278  .byte  15,41,85,216                        // movaps        %xmm2,-0x28(%ebp)
57279  .byte  139,85,24                           // mov           0x18(%ebp),%edx
57280  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57281  .byte  139,69,12                           // mov           0xc(%ebp),%eax
57282  .byte  139,48                              // mov           (%eax),%esi
57283  .byte  139,30                              // mov           (%esi),%ebx
57284  .byte  137,206                             // mov           %ecx,%esi
57285  .byte  193,230,4                           // shl           $0x4,%esi
57286  .byte  15,16,52,51                         // movups        (%ebx,%esi,1),%xmm6
57287  .byte  139,125,20                          // mov           0x14(%ebp),%edi
57288  .byte  133,210                             // test          %edx,%edx
57289  .byte  141,52,141,0,0,0,0                  // lea           0x0(,%ecx,4),%esi
57290  .byte  117,122                             // jne           71ca <_sk_load_f32_dst_sse2+0xb2>
57291  .byte  15,16,124,179,16                    // movups        0x10(%ebx,%esi,4),%xmm7
57292  .byte  15,16,92,179,32                     // movups        0x20(%ebx,%esi,4),%xmm3
57293  .byte  15,16,84,179,48                     // movups        0x30(%ebx,%esi,4),%xmm2
57294  .byte  15,40,230                           // movaps        %xmm6,%xmm4
57295  .byte  15,20,231                           // unpcklps      %xmm7,%xmm4
57296  .byte  15,40,235                           // movaps        %xmm3,%xmm5
57297  .byte  15,20,234                           // unpcklps      %xmm2,%xmm5
57298  .byte  15,21,247                           // unpckhps      %xmm7,%xmm6
57299  .byte  15,21,218                           // unpckhps      %xmm2,%xmm3
57300  .byte  15,40,212                           // movaps        %xmm4,%xmm2
57301  .byte  102,15,20,213                       // unpcklpd      %xmm5,%xmm2
57302  .byte  15,18,236                           // movhlps       %xmm4,%xmm5
57303  .byte  15,40,230                           // movaps        %xmm6,%xmm4
57304  .byte  102,15,20,227                       // unpcklpd      %xmm3,%xmm4
57305  .byte  15,18,222                           // movhlps       %xmm6,%xmm3
57306  .byte  141,112,8                           // lea           0x8(%eax),%esi
57307  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
57308  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
57309  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
57310  .byte  137,116,36,4                        // mov           %esi,0x4(%esp)
57311  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
57312  .byte  137,12,36                           // mov           %ecx,(%esp)
57313  .byte  15,41,92,36,80                      // movaps        %xmm3,0x50(%esp)
57314  .byte  102,15,41,100,36,64                 // movapd        %xmm4,0x40(%esp)
57315  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
57316  .byte  102,15,41,84,36,32                  // movapd        %xmm2,0x20(%esp)
57317  .byte  15,40,85,216                        // movaps        -0x28(%ebp),%xmm2
57318  .byte  15,40,93,200                        // movaps        -0x38(%ebp),%xmm3
57319  .byte  255,80,4                            // call          *0x4(%eax)
57320  .byte  129,196,140,0,0,0                   // add           $0x8c,%esp
57321  .byte  94                                  // pop           %esi
57322  .byte  95                                  // pop           %edi
57323  .byte  91                                  // pop           %ebx
57324  .byte  93                                  // pop           %ebp
57325  .byte  195                                 // ret
57326  .byte  15,87,210                           // xorps         %xmm2,%xmm2
57327  .byte  131,250,1                           // cmp           $0x1,%edx
57328  .byte  117,8                               // jne           71da <_sk_load_f32_dst_sse2+0xc2>
57329  .byte  15,87,219                           // xorps         %xmm3,%xmm3
57330  .byte  15,87,255                           // xorps         %xmm7,%xmm7
57331  .byte  235,133                             // jmp           715f <_sk_load_f32_dst_sse2+0x47>
57332  .byte  15,16,124,179,16                    // movups        0x10(%ebx,%esi,4),%xmm7
57333  .byte  131,250,3                           // cmp           $0x3,%edx
57334  .byte  114,10                              // jb            71ee <_sk_load_f32_dst_sse2+0xd6>
57335  .byte  15,16,92,179,32                     // movups        0x20(%ebx,%esi,4),%xmm3
57336  .byte  233,113,255,255,255                 // jmp           715f <_sk_load_f32_dst_sse2+0x47>
57337  .byte  15,87,219                           // xorps         %xmm3,%xmm3
57338  .byte  233,105,255,255,255                 // jmp           715f <_sk_load_f32_dst_sse2+0x47>
57339
57340HIDDEN _sk_store_f32_sse2
57341.globl _sk_store_f32_sse2
57342FUNCTION(_sk_store_f32_sse2)
57343_sk_store_f32_sse2:
57344  .byte  85                                  // push          %ebp
57345  .byte  137,229                             // mov           %esp,%ebp
57346  .byte  83                                  // push          %ebx
57347  .byte  87                                  // push          %edi
57348  .byte  86                                  // push          %esi
57349  .byte  131,236,108                         // sub           $0x6c,%esp
57350  .byte  15,40,234                           // movaps        %xmm2,%xmm5
57351  .byte  15,40,248                           // movaps        %xmm0,%xmm7
57352  .byte  139,85,24                           // mov           0x18(%ebp),%edx
57353  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57354  .byte  139,69,12                           // mov           0xc(%ebp),%eax
57355  .byte  139,48                              // mov           (%eax),%esi
57356  .byte  139,54                              // mov           (%esi),%esi
57357  .byte  137,207                             // mov           %ecx,%edi
57358  .byte  193,231,4                           // shl           $0x4,%edi
57359  .byte  15,40,247                           // movaps        %xmm7,%xmm6
57360  .byte  15,20,241                           // unpcklps      %xmm1,%xmm6
57361  .byte  15,40,229                           // movaps        %xmm5,%xmm4
57362  .byte  15,20,227                           // unpcklps      %xmm3,%xmm4
57363  .byte  15,40,198                           // movaps        %xmm6,%xmm0
57364  .byte  102,15,20,196                       // unpcklpd      %xmm4,%xmm0
57365  .byte  102,15,17,4,62                      // movupd        %xmm0,(%esi,%edi,1)
57366  .byte  15,40,199                           // movaps        %xmm7,%xmm0
57367  .byte  15,21,193                           // unpckhps      %xmm1,%xmm0
57368  .byte  15,21,211                           // unpckhps      %xmm3,%xmm2
57369  .byte  15,18,230                           // movhlps       %xmm6,%xmm4
57370  .byte  15,40,240                           // movaps        %xmm0,%xmm6
57371  .byte  102,15,20,242                       // unpcklpd      %xmm2,%xmm6
57372  .byte  133,210                             // test          %edx,%edx
57373  .byte  139,93,8                            // mov           0x8(%ebp),%ebx
57374  .byte  141,60,141,0,0,0,0                  // lea           0x0(,%ecx,4),%edi
57375  .byte  117,99                              // jne           72b3 <_sk_store_f32_sse2+0xbd>
57376  .byte  102,15,21,194                       // unpckhpd      %xmm2,%xmm0
57377  .byte  15,17,100,190,16                    // movups        %xmm4,0x10(%esi,%edi,4)
57378  .byte  102,15,17,116,190,32                // movupd        %xmm6,0x20(%esi,%edi,4)
57379  .byte  102,15,17,68,190,48                 // movupd        %xmm0,0x30(%esi,%edi,4)
57380  .byte  141,112,8                           // lea           0x8(%eax),%esi
57381  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
57382  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
57383  .byte  15,40,69,72                         // movaps        0x48(%ebp),%xmm0
57384  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
57385  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
57386  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
57387  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
57388  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
57389  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
57390  .byte  139,85,20                           // mov           0x14(%ebp),%edx
57391  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
57392  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
57393  .byte  137,116,36,4                        // mov           %esi,0x4(%esp)
57394  .byte  137,28,36                           // mov           %ebx,(%esp)
57395  .byte  15,40,199                           // movaps        %xmm7,%xmm0
57396  .byte  15,40,213                           // movaps        %xmm5,%xmm2
57397  .byte  255,80,4                            // call          *0x4(%eax)
57398  .byte  131,196,108                         // add           $0x6c,%esp
57399  .byte  94                                  // pop           %esi
57400  .byte  95                                  // pop           %edi
57401  .byte  91                                  // pop           %ebx
57402  .byte  93                                  // pop           %ebp
57403  .byte  195                                 // ret
57404  .byte  131,250,1                           // cmp           $0x1,%edx
57405  .byte  116,173                             // je            7265 <_sk_store_f32_sse2+0x6f>
57406  .byte  15,17,100,190,16                    // movups        %xmm4,0x10(%esi,%edi,4)
57407  .byte  131,250,3                           // cmp           $0x3,%edx
57408  .byte  114,163                             // jb            7265 <_sk_store_f32_sse2+0x6f>
57409  .byte  102,15,17,116,190,32                // movupd        %xmm6,0x20(%esi,%edi,4)
57410  .byte  235,155                             // jmp           7265 <_sk_store_f32_sse2+0x6f>
57411
57412HIDDEN _sk_clamp_x_sse2
57413.globl _sk_clamp_x_sse2
57414FUNCTION(_sk_clamp_x_sse2)
57415_sk_clamp_x_sse2:
57416  .byte  85                                  // push          %ebp
57417  .byte  137,229                             // mov           %esp,%ebp
57418  .byte  83                                  // push          %ebx
57419  .byte  87                                  // push          %edi
57420  .byte  86                                  // push          %esi
57421  .byte  131,236,108                         // sub           $0x6c,%esp
57422  .byte  139,69,8                            // mov           0x8(%ebp),%eax
57423  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57424  .byte  139,85,20                           // mov           0x14(%ebp),%edx
57425  .byte  139,117,12                          // mov           0xc(%ebp),%esi
57426  .byte  139,62                              // mov           (%esi),%edi
57427  .byte  243,15,16,47                        // movss         (%edi),%xmm5
57428  .byte  139,125,24                          // mov           0x18(%ebp),%edi
57429  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
57430  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
57431  .byte  15,87,228                           // xorps         %xmm4,%xmm4
57432  .byte  15,95,224                           // maxps         %xmm0,%xmm4
57433  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
57434  .byte  102,15,118,192                      // pcmpeqd       %xmm0,%xmm0
57435  .byte  102,15,254,197                      // paddd         %xmm5,%xmm0
57436  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
57437  .byte  15,93,224                           // minps         %xmm0,%xmm4
57438  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
57439  .byte  141,94,8                            // lea           0x8(%esi),%ebx
57440  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
57441  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
57442  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
57443  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
57444  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
57445  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
57446  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
57447  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
57448  .byte  137,4,36                            // mov           %eax,(%esp)
57449  .byte  15,40,196                           // movaps        %xmm4,%xmm0
57450  .byte  255,86,4                            // call          *0x4(%esi)
57451  .byte  131,196,108                         // add           $0x6c,%esp
57452  .byte  94                                  // pop           %esi
57453  .byte  95                                  // pop           %edi
57454  .byte  91                                  // pop           %ebx
57455  .byte  93                                  // pop           %ebp
57456  .byte  195                                 // ret
57457
57458HIDDEN _sk_clamp_y_sse2
57459.globl _sk_clamp_y_sse2
57460FUNCTION(_sk_clamp_y_sse2)
57461_sk_clamp_y_sse2:
57462  .byte  85                                  // push          %ebp
57463  .byte  137,229                             // mov           %esp,%ebp
57464  .byte  83                                  // push          %ebx
57465  .byte  87                                  // push          %edi
57466  .byte  86                                  // push          %esi
57467  .byte  131,236,108                         // sub           $0x6c,%esp
57468  .byte  139,69,8                            // mov           0x8(%ebp),%eax
57469  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57470  .byte  139,85,20                           // mov           0x14(%ebp),%edx
57471  .byte  139,117,12                          // mov           0xc(%ebp),%esi
57472  .byte  139,62                              // mov           (%esi),%edi
57473  .byte  243,15,16,47                        // movss         (%edi),%xmm5
57474  .byte  139,125,24                          // mov           0x18(%ebp),%edi
57475  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
57476  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
57477  .byte  15,87,228                           // xorps         %xmm4,%xmm4
57478  .byte  15,95,225                           // maxps         %xmm1,%xmm4
57479  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
57480  .byte  102,15,118,201                      // pcmpeqd       %xmm1,%xmm1
57481  .byte  102,15,254,205                      // paddd         %xmm5,%xmm1
57482  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
57483  .byte  15,93,225                           // minps         %xmm1,%xmm4
57484  .byte  15,40,77,88                         // movaps        0x58(%ebp),%xmm1
57485  .byte  141,94,8                            // lea           0x8(%esi),%ebx
57486  .byte  15,41,76,36,80                      // movaps        %xmm1,0x50(%esp)
57487  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
57488  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
57489  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
57490  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
57491  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
57492  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
57493  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
57494  .byte  137,4,36                            // mov           %eax,(%esp)
57495  .byte  15,40,204                           // movaps        %xmm4,%xmm1
57496  .byte  255,86,4                            // call          *0x4(%esi)
57497  .byte  131,196,108                         // add           $0x6c,%esp
57498  .byte  94                                  // pop           %esi
57499  .byte  95                                  // pop           %edi
57500  .byte  91                                  // pop           %ebx
57501  .byte  93                                  // pop           %ebp
57502  .byte  195                                 // ret
57503
57504HIDDEN _sk_repeat_x_sse2
57505.globl _sk_repeat_x_sse2
57506FUNCTION(_sk_repeat_x_sse2)
57507_sk_repeat_x_sse2:
57508  .byte  85                                  // push          %ebp
57509  .byte  137,229                             // mov           %esp,%ebp
57510  .byte  83                                  // push          %ebx
57511  .byte  87                                  // push          %edi
57512  .byte  86                                  // push          %esi
57513  .byte  131,236,108                         // sub           $0x6c,%esp
57514  .byte  232,0,0,0,0                         // call          73ce <_sk_repeat_x_sse2+0xe>
57515  .byte  94                                  // pop           %esi
57516  .byte  139,69,8                            // mov           0x8(%ebp),%eax
57517  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57518  .byte  139,85,12                           // mov           0xc(%ebp),%edx
57519  .byte  139,58                              // mov           (%edx),%edi
57520  .byte  243,15,16,39                        // movss         (%edi),%xmm4
57521  .byte  243,15,16,111,4                     // movss         0x4(%edi),%xmm5
57522  .byte  139,125,20                          // mov           0x14(%ebp),%edi
57523  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
57524  .byte  15,89,232                           // mulps         %xmm0,%xmm5
57525  .byte  243,15,91,245                       // cvttps2dq     %xmm5,%xmm6
57526  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
57527  .byte  15,194,238,1                        // cmpltps       %xmm6,%xmm5
57528  .byte  15,84,174,162,46,0,0                // andps         0x2ea2(%esi),%xmm5
57529  .byte  139,117,24                          // mov           0x18(%ebp),%esi
57530  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
57531  .byte  15,92,245                           // subps         %xmm5,%xmm6
57532  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
57533  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
57534  .byte  15,89,244                           // mulps         %xmm4,%xmm6
57535  .byte  15,92,198                           // subps         %xmm6,%xmm0
57536  .byte  102,15,118,246                      // pcmpeqd       %xmm6,%xmm6
57537  .byte  102,15,254,244                      // paddd         %xmm4,%xmm6
57538  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
57539  .byte  15,93,198                           // minps         %xmm6,%xmm0
57540  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
57541  .byte  141,90,8                            // lea           0x8(%edx),%ebx
57542  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
57543  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
57544  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
57545  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
57546  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
57547  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
57548  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
57549  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
57550  .byte  137,4,36                            // mov           %eax,(%esp)
57551  .byte  255,82,4                            // call          *0x4(%edx)
57552  .byte  131,196,108                         // add           $0x6c,%esp
57553  .byte  94                                  // pop           %esi
57554  .byte  95                                  // pop           %edi
57555  .byte  91                                  // pop           %ebx
57556  .byte  93                                  // pop           %ebp
57557  .byte  195                                 // ret
57558
57559HIDDEN _sk_repeat_y_sse2
57560.globl _sk_repeat_y_sse2
57561FUNCTION(_sk_repeat_y_sse2)
57562_sk_repeat_y_sse2:
57563  .byte  85                                  // push          %ebp
57564  .byte  137,229                             // mov           %esp,%ebp
57565  .byte  83                                  // push          %ebx
57566  .byte  87                                  // push          %edi
57567  .byte  86                                  // push          %esi
57568  .byte  131,236,108                         // sub           $0x6c,%esp
57569  .byte  232,0,0,0,0                         // call          746d <_sk_repeat_y_sse2+0xe>
57570  .byte  94                                  // pop           %esi
57571  .byte  139,69,8                            // mov           0x8(%ebp),%eax
57572  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57573  .byte  139,85,12                           // mov           0xc(%ebp),%edx
57574  .byte  139,58                              // mov           (%edx),%edi
57575  .byte  243,15,16,39                        // movss         (%edi),%xmm4
57576  .byte  243,15,16,111,4                     // movss         0x4(%edi),%xmm5
57577  .byte  139,125,20                          // mov           0x14(%ebp),%edi
57578  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
57579  .byte  15,89,233                           // mulps         %xmm1,%xmm5
57580  .byte  243,15,91,245                       // cvttps2dq     %xmm5,%xmm6
57581  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
57582  .byte  15,194,238,1                        // cmpltps       %xmm6,%xmm5
57583  .byte  15,84,174,19,46,0,0                 // andps         0x2e13(%esi),%xmm5
57584  .byte  139,117,24                          // mov           0x18(%ebp),%esi
57585  .byte  15,40,125,40                        // movaps        0x28(%ebp),%xmm7
57586  .byte  15,92,245                           // subps         %xmm5,%xmm6
57587  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
57588  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
57589  .byte  15,89,244                           // mulps         %xmm4,%xmm6
57590  .byte  15,92,206                           // subps         %xmm6,%xmm1
57591  .byte  102,15,118,246                      // pcmpeqd       %xmm6,%xmm6
57592  .byte  102,15,254,244                      // paddd         %xmm4,%xmm6
57593  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
57594  .byte  15,93,206                           // minps         %xmm6,%xmm1
57595  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
57596  .byte  141,90,8                            // lea           0x8(%edx),%ebx
57597  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
57598  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
57599  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
57600  .byte  15,41,124,36,32                     // movaps        %xmm7,0x20(%esp)
57601  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
57602  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
57603  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
57604  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
57605  .byte  137,4,36                            // mov           %eax,(%esp)
57606  .byte  255,82,4                            // call          *0x4(%edx)
57607  .byte  131,196,108                         // add           $0x6c,%esp
57608  .byte  94                                  // pop           %esi
57609  .byte  95                                  // pop           %edi
57610  .byte  91                                  // pop           %ebx
57611  .byte  93                                  // pop           %ebp
57612  .byte  195                                 // ret
57613
57614HIDDEN _sk_mirror_x_sse2
57615.globl _sk_mirror_x_sse2
57616FUNCTION(_sk_mirror_x_sse2)
57617_sk_mirror_x_sse2:
57618  .byte  85                                  // push          %ebp
57619  .byte  137,229                             // mov           %esp,%ebp
57620  .byte  83                                  // push          %ebx
57621  .byte  87                                  // push          %edi
57622  .byte  86                                  // push          %esi
57623  .byte  131,236,108                         // sub           $0x6c,%esp
57624  .byte  232,0,0,0,0                         // call          750c <_sk_mirror_x_sse2+0xe>
57625  .byte  95                                  // pop           %edi
57626  .byte  139,69,8                            // mov           0x8(%ebp),%eax
57627  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57628  .byte  139,85,12                           // mov           0xc(%ebp),%edx
57629  .byte  139,50                              // mov           (%edx),%esi
57630  .byte  243,15,16,46                        // movss         (%esi),%xmm5
57631  .byte  243,15,16,118,4                     // movss         0x4(%esi),%xmm6
57632  .byte  139,117,20                          // mov           0x14(%ebp),%esi
57633  .byte  15,40,229                           // movaps        %xmm5,%xmm4
57634  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
57635  .byte  15,92,196                           // subps         %xmm4,%xmm0
57636  .byte  243,15,89,183,116,50,0,0            // mulss         0x3274(%edi),%xmm6
57637  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
57638  .byte  15,89,240                           // mulps         %xmm0,%xmm6
57639  .byte  243,15,91,254                       // cvttps2dq     %xmm6,%xmm7
57640  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
57641  .byte  15,194,247,1                        // cmpltps       %xmm7,%xmm6
57642  .byte  15,84,183,132,45,0,0                // andps         0x2d84(%edi),%xmm6
57643  .byte  139,125,24                          // mov           0x18(%ebp),%edi
57644  .byte  15,92,254                           // subps         %xmm6,%xmm7
57645  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
57646  .byte  243,15,88,237                       // addss         %xmm5,%xmm5
57647  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
57648  .byte  15,89,253                           // mulps         %xmm5,%xmm7
57649  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
57650  .byte  15,92,199                           // subps         %xmm7,%xmm0
57651  .byte  15,87,255                           // xorps         %xmm7,%xmm7
57652  .byte  15,92,196                           // subps         %xmm4,%xmm0
57653  .byte  15,92,248                           // subps         %xmm0,%xmm7
57654  .byte  15,84,199                           // andps         %xmm7,%xmm0
57655  .byte  102,15,118,255                      // pcmpeqd       %xmm7,%xmm7
57656  .byte  102,15,254,252                      // paddd         %xmm4,%xmm7
57657  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
57658  .byte  15,93,199                           // minps         %xmm7,%xmm0
57659  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
57660  .byte  141,90,8                            // lea           0x8(%edx),%ebx
57661  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
57662  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
57663  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
57664  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
57665  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
57666  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
57667  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
57668  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
57669  .byte  137,4,36                            // mov           %eax,(%esp)
57670  .byte  255,82,4                            // call          *0x4(%edx)
57671  .byte  131,196,108                         // add           $0x6c,%esp
57672  .byte  94                                  // pop           %esi
57673  .byte  95                                  // pop           %edi
57674  .byte  91                                  // pop           %ebx
57675  .byte  93                                  // pop           %ebp
57676  .byte  195                                 // ret
57677
57678HIDDEN _sk_mirror_y_sse2
57679.globl _sk_mirror_y_sse2
57680FUNCTION(_sk_mirror_y_sse2)
57681_sk_mirror_y_sse2:
57682  .byte  85                                  // push          %ebp
57683  .byte  137,229                             // mov           %esp,%ebp
57684  .byte  83                                  // push          %ebx
57685  .byte  87                                  // push          %edi
57686  .byte  86                                  // push          %esi
57687  .byte  131,236,108                         // sub           $0x6c,%esp
57688  .byte  232,0,0,0,0                         // call          75cd <_sk_mirror_y_sse2+0xe>
57689  .byte  95                                  // pop           %edi
57690  .byte  139,69,8                            // mov           0x8(%ebp),%eax
57691  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57692  .byte  139,85,12                           // mov           0xc(%ebp),%edx
57693  .byte  139,50                              // mov           (%edx),%esi
57694  .byte  243,15,16,46                        // movss         (%esi),%xmm5
57695  .byte  243,15,16,118,4                     // movss         0x4(%esi),%xmm6
57696  .byte  139,117,20                          // mov           0x14(%ebp),%esi
57697  .byte  15,40,229                           // movaps        %xmm5,%xmm4
57698  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
57699  .byte  15,92,204                           // subps         %xmm4,%xmm1
57700  .byte  243,15,89,183,183,49,0,0            // mulss         0x31b7(%edi),%xmm6
57701  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
57702  .byte  15,89,241                           // mulps         %xmm1,%xmm6
57703  .byte  243,15,91,254                       // cvttps2dq     %xmm6,%xmm7
57704  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
57705  .byte  15,194,247,1                        // cmpltps       %xmm7,%xmm6
57706  .byte  15,84,183,211,44,0,0                // andps         0x2cd3(%edi),%xmm6
57707  .byte  139,125,24                          // mov           0x18(%ebp),%edi
57708  .byte  15,92,254                           // subps         %xmm6,%xmm7
57709  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
57710  .byte  243,15,88,237                       // addss         %xmm5,%xmm5
57711  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
57712  .byte  15,89,253                           // mulps         %xmm5,%xmm7
57713  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
57714  .byte  15,92,207                           // subps         %xmm7,%xmm1
57715  .byte  15,87,255                           // xorps         %xmm7,%xmm7
57716  .byte  15,92,204                           // subps         %xmm4,%xmm1
57717  .byte  15,92,249                           // subps         %xmm1,%xmm7
57718  .byte  15,84,207                           // andps         %xmm7,%xmm1
57719  .byte  102,15,118,255                      // pcmpeqd       %xmm7,%xmm7
57720  .byte  102,15,254,252                      // paddd         %xmm4,%xmm7
57721  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
57722  .byte  15,93,207                           // minps         %xmm7,%xmm1
57723  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
57724  .byte  141,90,8                            // lea           0x8(%edx),%ebx
57725  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
57726  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
57727  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
57728  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
57729  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
57730  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
57731  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
57732  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
57733  .byte  137,4,36                            // mov           %eax,(%esp)
57734  .byte  255,82,4                            // call          *0x4(%edx)
57735  .byte  131,196,108                         // add           $0x6c,%esp
57736  .byte  94                                  // pop           %esi
57737  .byte  95                                  // pop           %edi
57738  .byte  91                                  // pop           %ebx
57739  .byte  93                                  // pop           %ebp
57740  .byte  195                                 // ret
57741
57742HIDDEN _sk_clamp_x_1_sse2
57743.globl _sk_clamp_x_1_sse2
57744FUNCTION(_sk_clamp_x_1_sse2)
57745_sk_clamp_x_1_sse2:
57746  .byte  85                                  // push          %ebp
57747  .byte  137,229                             // mov           %esp,%ebp
57748  .byte  83                                  // push          %ebx
57749  .byte  87                                  // push          %edi
57750  .byte  86                                  // push          %esi
57751  .byte  131,236,108                         // sub           $0x6c,%esp
57752  .byte  232,0,0,0,0                         // call          768e <_sk_clamp_x_1_sse2+0xe>
57753  .byte  88                                  // pop           %eax
57754  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
57755  .byte  139,85,16                           // mov           0x10(%ebp),%edx
57756  .byte  139,117,20                          // mov           0x14(%ebp),%esi
57757  .byte  139,125,24                          // mov           0x18(%ebp),%edi
57758  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
57759  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
57760  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
57761  .byte  15,87,228                           // xorps         %xmm4,%xmm4
57762  .byte  15,95,224                           // maxps         %xmm0,%xmm4
57763  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
57764  .byte  15,93,160,34,44,0,0                 // minps         0x2c22(%eax),%xmm4
57765  .byte  139,69,12                           // mov           0xc(%ebp),%eax
57766  .byte  141,88,4                            // lea           0x4(%eax),%ebx
57767  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
57768  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
57769  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
57770  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
57771  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
57772  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
57773  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
57774  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
57775  .byte  137,12,36                           // mov           %ecx,(%esp)
57776  .byte  15,40,196                           // movaps        %xmm4,%xmm0
57777  .byte  255,16                              // call          *(%eax)
57778  .byte  131,196,108                         // add           $0x6c,%esp
57779  .byte  94                                  // pop           %esi
57780  .byte  95                                  // pop           %edi
57781  .byte  91                                  // pop           %ebx
57782  .byte  93                                  // pop           %ebp
57783  .byte  195                                 // ret
57784
57785HIDDEN _sk_repeat_x_1_sse2
57786.globl _sk_repeat_x_1_sse2
57787FUNCTION(_sk_repeat_x_1_sse2)
57788_sk_repeat_x_1_sse2:
57789  .byte  85                                  // push          %ebp
57790  .byte  137,229                             // mov           %esp,%ebp
57791  .byte  83                                  // push          %ebx
57792  .byte  87                                  // push          %edi
57793  .byte  86                                  // push          %esi
57794  .byte  131,236,108                         // sub           $0x6c,%esp
57795  .byte  232,0,0,0,0                         // call          7700 <_sk_repeat_x_1_sse2+0xe>
57796  .byte  88                                  // pop           %eax
57797  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
57798  .byte  139,85,16                           // mov           0x10(%ebp),%edx
57799  .byte  139,117,20                          // mov           0x14(%ebp),%esi
57800  .byte  139,125,24                          // mov           0x18(%ebp),%edi
57801  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
57802  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
57803  .byte  243,15,91,240                       // cvttps2dq     %xmm0,%xmm6
57804  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
57805  .byte  15,40,248                           // movaps        %xmm0,%xmm7
57806  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
57807  .byte  15,84,184,192,43,0,0                // andps         0x2bc0(%eax),%xmm7
57808  .byte  15,92,247                           // subps         %xmm7,%xmm6
57809  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
57810  .byte  15,92,198                           // subps         %xmm6,%xmm0
57811  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
57812  .byte  139,69,12                           // mov           0xc(%ebp),%eax
57813  .byte  141,88,4                            // lea           0x4(%eax),%ebx
57814  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
57815  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
57816  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
57817  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
57818  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
57819  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
57820  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
57821  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
57822  .byte  137,12,36                           // mov           %ecx,(%esp)
57823  .byte  255,16                              // call          *(%eax)
57824  .byte  131,196,108                         // add           $0x6c,%esp
57825  .byte  94                                  // pop           %esi
57826  .byte  95                                  // pop           %edi
57827  .byte  91                                  // pop           %ebx
57828  .byte  93                                  // pop           %ebp
57829  .byte  195                                 // ret
57830
57831HIDDEN _sk_mirror_x_1_sse2
57832.globl _sk_mirror_x_1_sse2
57833FUNCTION(_sk_mirror_x_1_sse2)
57834_sk_mirror_x_1_sse2:
57835  .byte  85                                  // push          %ebp
57836  .byte  137,229                             // mov           %esp,%ebp
57837  .byte  83                                  // push          %ebx
57838  .byte  87                                  // push          %edi
57839  .byte  86                                  // push          %esi
57840  .byte  131,236,108                         // sub           $0x6c,%esp
57841  .byte  232,0,0,0,0                         // call          777d <_sk_mirror_x_1_sse2+0xe>
57842  .byte  95                                  // pop           %edi
57843  .byte  139,69,8                            // mov           0x8(%ebp),%eax
57844  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57845  .byte  139,85,20                           // mov           0x14(%ebp),%edx
57846  .byte  139,117,24                          // mov           0x18(%ebp),%esi
57847  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
57848  .byte  15,40,175,83,43,0,0                 // movaps        0x2b53(%edi),%xmm5
57849  .byte  15,88,197                           // addps         %xmm5,%xmm0
57850  .byte  15,40,183,99,43,0,0                 // movaps        0x2b63(%edi),%xmm6
57851  .byte  15,89,240                           // mulps         %xmm0,%xmm6
57852  .byte  243,15,91,254                       // cvttps2dq     %xmm6,%xmm7
57853  .byte  15,91,255                           // cvtdq2ps      %xmm7,%xmm7
57854  .byte  15,194,247,1                        // cmpltps       %xmm7,%xmm6
57855  .byte  15,84,183,115,43,0,0                // andps         0x2b73(%edi),%xmm6
57856  .byte  15,92,254                           // subps         %xmm6,%xmm7
57857  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
57858  .byte  15,88,255                           // addps         %xmm7,%xmm7
57859  .byte  15,92,199                           // subps         %xmm7,%xmm0
57860  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
57861  .byte  15,88,197                           // addps         %xmm5,%xmm0
57862  .byte  15,87,237                           // xorps         %xmm5,%xmm5
57863  .byte  15,92,232                           // subps         %xmm0,%xmm5
57864  .byte  15,84,197                           // andps         %xmm5,%xmm0
57865  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
57866  .byte  139,125,12                          // mov           0xc(%ebp),%edi
57867  .byte  141,95,4                            // lea           0x4(%edi),%ebx
57868  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
57869  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
57870  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
57871  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
57872  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
57873  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
57874  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
57875  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
57876  .byte  137,4,36                            // mov           %eax,(%esp)
57877  .byte  255,23                              // call          *(%edi)
57878  .byte  131,196,108                         // add           $0x6c,%esp
57879  .byte  94                                  // pop           %esi
57880  .byte  95                                  // pop           %edi
57881  .byte  91                                  // pop           %ebx
57882  .byte  93                                  // pop           %ebp
57883  .byte  195                                 // ret
57884
57885HIDDEN _sk_luminance_to_alpha_sse2
57886.globl _sk_luminance_to_alpha_sse2
57887FUNCTION(_sk_luminance_to_alpha_sse2)
57888_sk_luminance_to_alpha_sse2:
57889  .byte  85                                  // push          %ebp
57890  .byte  137,229                             // mov           %esp,%ebp
57891  .byte  83                                  // push          %ebx
57892  .byte  87                                  // push          %edi
57893  .byte  86                                  // push          %esi
57894  .byte  131,236,108                         // sub           $0x6c,%esp
57895  .byte  15,40,218                           // movaps        %xmm2,%xmm3
57896  .byte  232,0,0,0,0                         // call          781d <_sk_luminance_to_alpha_sse2+0x11>
57897  .byte  88                                  // pop           %eax
57898  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
57899  .byte  139,85,16                           // mov           0x10(%ebp),%edx
57900  .byte  139,117,20                          // mov           0x14(%ebp),%esi
57901  .byte  139,125,24                          // mov           0x18(%ebp),%edi
57902  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
57903  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
57904  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
57905  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
57906  .byte  15,89,128,227,42,0,0                // mulps         0x2ae3(%eax),%xmm0
57907  .byte  15,89,136,243,42,0,0                // mulps         0x2af3(%eax),%xmm1
57908  .byte  15,89,152,3,43,0,0                  // mulps         0x2b03(%eax),%xmm3
57909  .byte  139,69,12                           // mov           0xc(%ebp),%eax
57910  .byte  15,88,200                           // addps         %xmm0,%xmm1
57911  .byte  15,88,217                           // addps         %xmm1,%xmm3
57912  .byte  141,88,4                            // lea           0x4(%eax),%ebx
57913  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
57914  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
57915  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
57916  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
57917  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
57918  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
57919  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
57920  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
57921  .byte  137,12,36                           // mov           %ecx,(%esp)
57922  .byte  15,87,192                           // xorps         %xmm0,%xmm0
57923  .byte  15,87,201                           // xorps         %xmm1,%xmm1
57924  .byte  15,87,210                           // xorps         %xmm2,%xmm2
57925  .byte  255,16                              // call          *(%eax)
57926  .byte  131,196,108                         // add           $0x6c,%esp
57927  .byte  94                                  // pop           %esi
57928  .byte  95                                  // pop           %edi
57929  .byte  91                                  // pop           %ebx
57930  .byte  93                                  // pop           %ebp
57931  .byte  195                                 // ret
57932
57933HIDDEN _sk_matrix_translate_sse2
57934.globl _sk_matrix_translate_sse2
57935FUNCTION(_sk_matrix_translate_sse2)
57936_sk_matrix_translate_sse2:
57937  .byte  85                                  // push          %ebp
57938  .byte  137,229                             // mov           %esp,%ebp
57939  .byte  83                                  // push          %ebx
57940  .byte  87                                  // push          %edi
57941  .byte  86                                  // push          %esi
57942  .byte  131,236,108                         // sub           $0x6c,%esp
57943  .byte  139,69,8                            // mov           0x8(%ebp),%eax
57944  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57945  .byte  139,85,20                           // mov           0x14(%ebp),%edx
57946  .byte  139,117,12                          // mov           0xc(%ebp),%esi
57947  .byte  139,62                              // mov           (%esi),%edi
57948  .byte  243,15,16,39                        // movss         (%edi),%xmm4
57949  .byte  243,15,16,111,4                     // movss         0x4(%edi),%xmm5
57950  .byte  139,125,24                          // mov           0x18(%ebp),%edi
57951  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
57952  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
57953  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
57954  .byte  15,88,196                           // addps         %xmm4,%xmm0
57955  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
57956  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
57957  .byte  15,88,205                           // addps         %xmm5,%xmm1
57958  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
57959  .byte  141,94,8                            // lea           0x8(%esi),%ebx
57960  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
57961  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
57962  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
57963  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
57964  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
57965  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
57966  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
57967  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
57968  .byte  137,4,36                            // mov           %eax,(%esp)
57969  .byte  255,86,4                            // call          *0x4(%esi)
57970  .byte  131,196,108                         // add           $0x6c,%esp
57971  .byte  94                                  // pop           %esi
57972  .byte  95                                  // pop           %edi
57973  .byte  91                                  // pop           %ebx
57974  .byte  93                                  // pop           %ebp
57975  .byte  195                                 // ret
57976
57977HIDDEN _sk_matrix_scale_translate_sse2
57978.globl _sk_matrix_scale_translate_sse2
57979FUNCTION(_sk_matrix_scale_translate_sse2)
57980_sk_matrix_scale_translate_sse2:
57981  .byte  85                                  // push          %ebp
57982  .byte  137,229                             // mov           %esp,%ebp
57983  .byte  83                                  // push          %ebx
57984  .byte  87                                  // push          %edi
57985  .byte  86                                  // push          %esi
57986  .byte  131,236,108                         // sub           $0x6c,%esp
57987  .byte  139,69,8                            // mov           0x8(%ebp),%eax
57988  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
57989  .byte  139,117,20                          // mov           0x14(%ebp),%esi
57990  .byte  139,85,12                           // mov           0xc(%ebp),%edx
57991  .byte  139,58                              // mov           (%edx),%edi
57992  .byte  243,15,16,103,8                     // movss         0x8(%edi),%xmm4
57993  .byte  243,15,16,47                        // movss         (%edi),%xmm5
57994  .byte  243,15,16,119,4                     // movss         0x4(%edi),%xmm6
57995  .byte  243,15,16,127,12                    // movss         0xc(%edi),%xmm7
57996  .byte  139,125,24                          // mov           0x18(%ebp),%edi
57997  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
57998  .byte  15,89,196                           // mulps         %xmm4,%xmm0
57999  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
58000  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
58001  .byte  15,88,197                           // addps         %xmm5,%xmm0
58002  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
58003  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58004  .byte  15,89,207                           // mulps         %xmm7,%xmm1
58005  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
58006  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58007  .byte  15,88,206                           // addps         %xmm6,%xmm1
58008  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
58009  .byte  141,90,8                            // lea           0x8(%edx),%ebx
58010  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
58011  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
58012  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
58013  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
58014  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
58015  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
58016  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
58017  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
58018  .byte  137,4,36                            // mov           %eax,(%esp)
58019  .byte  255,82,4                            // call          *0x4(%edx)
58020  .byte  131,196,108                         // add           $0x6c,%esp
58021  .byte  94                                  // pop           %esi
58022  .byte  95                                  // pop           %edi
58023  .byte  91                                  // pop           %ebx
58024  .byte  93                                  // pop           %ebp
58025  .byte  195                                 // ret
58026
58027HIDDEN _sk_matrix_2x3_sse2
58028.globl _sk_matrix_2x3_sse2
58029FUNCTION(_sk_matrix_2x3_sse2)
58030_sk_matrix_2x3_sse2:
58031  .byte  85                                  // push          %ebp
58032  .byte  137,229                             // mov           %esp,%ebp
58033  .byte  83                                  // push          %ebx
58034  .byte  87                                  // push          %edi
58035  .byte  86                                  // push          %esi
58036  .byte  131,236,108                         // sub           $0x6c,%esp
58037  .byte  15,40,233                           // movaps        %xmm1,%xmm5
58038  .byte  15,40,224                           // movaps        %xmm0,%xmm4
58039  .byte  139,69,8                            // mov           0x8(%ebp),%eax
58040  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
58041  .byte  139,117,20                          // mov           0x14(%ebp),%esi
58042  .byte  139,85,12                           // mov           0xc(%ebp),%edx
58043  .byte  139,58                              // mov           (%edx),%edi
58044  .byte  243,15,16,7                         // movss         (%edi),%xmm0
58045  .byte  243,15,16,79,4                      // movss         0x4(%edi),%xmm1
58046  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
58047  .byte  243,15,16,119,8                     // movss         0x8(%edi),%xmm6
58048  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58049  .byte  243,15,16,127,16                    // movss         0x10(%edi),%xmm7
58050  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58051  .byte  15,89,245                           // mulps         %xmm5,%xmm6
58052  .byte  15,88,247                           // addps         %xmm7,%xmm6
58053  .byte  15,89,196                           // mulps         %xmm4,%xmm0
58054  .byte  15,88,198                           // addps         %xmm6,%xmm0
58055  .byte  243,15,16,119,12                    // movss         0xc(%edi),%xmm6
58056  .byte  243,15,16,127,20                    // movss         0x14(%edi),%xmm7
58057  .byte  139,125,24                          // mov           0x18(%ebp),%edi
58058  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58059  .byte  15,89,245                           // mulps         %xmm5,%xmm6
58060  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
58061  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58062  .byte  15,88,247                           // addps         %xmm7,%xmm6
58063  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
58064  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
58065  .byte  15,89,204                           // mulps         %xmm4,%xmm1
58066  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
58067  .byte  15,88,206                           // addps         %xmm6,%xmm1
58068  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
58069  .byte  141,90,8                            // lea           0x8(%edx),%ebx
58070  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
58071  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
58072  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
58073  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
58074  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
58075  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
58076  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
58077  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
58078  .byte  137,4,36                            // mov           %eax,(%esp)
58079  .byte  255,82,4                            // call          *0x4(%edx)
58080  .byte  131,196,108                         // add           $0x6c,%esp
58081  .byte  94                                  // pop           %esi
58082  .byte  95                                  // pop           %edi
58083  .byte  91                                  // pop           %ebx
58084  .byte  93                                  // pop           %ebp
58085  .byte  195                                 // ret
58086
58087HIDDEN _sk_matrix_3x4_sse2
58088.globl _sk_matrix_3x4_sse2
58089FUNCTION(_sk_matrix_3x4_sse2)
58090_sk_matrix_3x4_sse2:
58091  .byte  85                                  // push          %ebp
58092  .byte  137,229                             // mov           %esp,%ebp
58093  .byte  83                                  // push          %ebx
58094  .byte  87                                  // push          %edi
58095  .byte  86                                  // push          %esi
58096  .byte  131,236,108                         // sub           $0x6c,%esp
58097  .byte  15,40,225                           // movaps        %xmm1,%xmm4
58098  .byte  15,40,232                           // movaps        %xmm0,%xmm5
58099  .byte  139,69,8                            // mov           0x8(%ebp),%eax
58100  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
58101  .byte  139,117,20                          // mov           0x14(%ebp),%esi
58102  .byte  139,85,12                           // mov           0xc(%ebp),%edx
58103  .byte  139,58                              // mov           (%edx),%edi
58104  .byte  243,15,16,7                         // movss         (%edi),%xmm0
58105  .byte  243,15,16,79,4                      // movss         0x4(%edi),%xmm1
58106  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
58107  .byte  243,15,16,119,24                    // movss         0x18(%edi),%xmm6
58108  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58109  .byte  243,15,16,127,36                    // movss         0x24(%edi),%xmm7
58110  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58111  .byte  15,89,242                           // mulps         %xmm2,%xmm6
58112  .byte  15,88,247                           // addps         %xmm7,%xmm6
58113  .byte  243,15,16,127,12                    // movss         0xc(%edi),%xmm7
58114  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58115  .byte  15,89,252                           // mulps         %xmm4,%xmm7
58116  .byte  15,88,254                           // addps         %xmm6,%xmm7
58117  .byte  15,89,197                           // mulps         %xmm5,%xmm0
58118  .byte  15,88,199                           // addps         %xmm7,%xmm0
58119  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
58120  .byte  243,15,16,119,28                    // movss         0x1c(%edi),%xmm6
58121  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58122  .byte  243,15,16,127,40                    // movss         0x28(%edi),%xmm7
58123  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58124  .byte  15,89,242                           // mulps         %xmm2,%xmm6
58125  .byte  15,88,247                           // addps         %xmm7,%xmm6
58126  .byte  243,15,16,127,16                    // movss         0x10(%edi),%xmm7
58127  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58128  .byte  15,89,252                           // mulps         %xmm4,%xmm7
58129  .byte  15,88,254                           // addps         %xmm6,%xmm7
58130  .byte  15,89,205                           // mulps         %xmm5,%xmm1
58131  .byte  15,88,207                           // addps         %xmm7,%xmm1
58132  .byte  243,15,16,119,8                     // movss         0x8(%edi),%xmm6
58133  .byte  243,15,16,127,32                    // movss         0x20(%edi),%xmm7
58134  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58135  .byte  15,89,250                           // mulps         %xmm2,%xmm7
58136  .byte  243,15,16,87,44                     // movss         0x2c(%edi),%xmm2
58137  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
58138  .byte  15,88,250                           // addps         %xmm2,%xmm7
58139  .byte  243,15,16,87,20                     // movss         0x14(%edi),%xmm2
58140  .byte  139,125,24                          // mov           0x18(%ebp),%edi
58141  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
58142  .byte  15,89,212                           // mulps         %xmm4,%xmm2
58143  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
58144  .byte  15,88,215                           // addps         %xmm7,%xmm2
58145  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
58146  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58147  .byte  15,89,245                           // mulps         %xmm5,%xmm6
58148  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
58149  .byte  15,88,242                           // addps         %xmm2,%xmm6
58150  .byte  15,40,85,88                         // movaps        0x58(%ebp),%xmm2
58151  .byte  141,90,8                            // lea           0x8(%edx),%ebx
58152  .byte  15,41,84,36,80                      // movaps        %xmm2,0x50(%esp)
58153  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
58154  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
58155  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
58156  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
58157  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
58158  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
58159  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
58160  .byte  137,4,36                            // mov           %eax,(%esp)
58161  .byte  15,40,214                           // movaps        %xmm6,%xmm2
58162  .byte  255,82,4                            // call          *0x4(%edx)
58163  .byte  131,196,108                         // add           $0x6c,%esp
58164  .byte  94                                  // pop           %esi
58165  .byte  95                                  // pop           %edi
58166  .byte  91                                  // pop           %ebx
58167  .byte  93                                  // pop           %ebp
58168  .byte  195                                 // ret
58169
58170HIDDEN _sk_matrix_4x5_sse2
58171.globl _sk_matrix_4x5_sse2
58172FUNCTION(_sk_matrix_4x5_sse2)
58173_sk_matrix_4x5_sse2:
58174  .byte  85                                  // push          %ebp
58175  .byte  137,229                             // mov           %esp,%ebp
58176  .byte  83                                  // push          %ebx
58177  .byte  87                                  // push          %edi
58178  .byte  86                                  // push          %esi
58179  .byte  131,236,124                         // sub           $0x7c,%esp
58180  .byte  15,40,226                           // movaps        %xmm2,%xmm4
58181  .byte  15,40,233                           // movaps        %xmm1,%xmm5
58182  .byte  139,69,8                            // mov           0x8(%ebp),%eax
58183  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
58184  .byte  139,117,20                          // mov           0x14(%ebp),%esi
58185  .byte  139,85,12                           // mov           0xc(%ebp),%edx
58186  .byte  141,122,4                           // lea           0x4(%edx),%edi
58187  .byte  137,125,240                         // mov           %edi,-0x10(%ebp)
58188  .byte  139,58                              // mov           (%edx),%edi
58189  .byte  243,15,16,23                        // movss         (%edi),%xmm2
58190  .byte  243,15,16,79,4                      // movss         0x4(%edi),%xmm1
58191  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
58192  .byte  243,15,16,119,48                    // movss         0x30(%edi),%xmm6
58193  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58194  .byte  243,15,16,127,64                    // movss         0x40(%edi),%xmm7
58195  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58196  .byte  15,89,243                           // mulps         %xmm3,%xmm6
58197  .byte  15,88,247                           // addps         %xmm7,%xmm6
58198  .byte  243,15,16,127,32                    // movss         0x20(%edi),%xmm7
58199  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58200  .byte  15,89,252                           // mulps         %xmm4,%xmm7
58201  .byte  15,88,254                           // addps         %xmm6,%xmm7
58202  .byte  243,15,16,119,16                    // movss         0x10(%edi),%xmm6
58203  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58204  .byte  15,89,245                           // mulps         %xmm5,%xmm6
58205  .byte  15,88,247                           // addps         %xmm7,%xmm6
58206  .byte  15,89,208                           // mulps         %xmm0,%xmm2
58207  .byte  15,88,214                           // addps         %xmm6,%xmm2
58208  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
58209  .byte  243,15,16,119,52                    // movss         0x34(%edi),%xmm6
58210  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58211  .byte  243,15,16,127,68                    // movss         0x44(%edi),%xmm7
58212  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58213  .byte  15,89,243                           // mulps         %xmm3,%xmm6
58214  .byte  15,88,247                           // addps         %xmm7,%xmm6
58215  .byte  243,15,16,127,36                    // movss         0x24(%edi),%xmm7
58216  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58217  .byte  15,89,252                           // mulps         %xmm4,%xmm7
58218  .byte  15,88,254                           // addps         %xmm6,%xmm7
58219  .byte  243,15,16,119,20                    // movss         0x14(%edi),%xmm6
58220  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58221  .byte  15,89,245                           // mulps         %xmm5,%xmm6
58222  .byte  15,41,109,216                       // movaps        %xmm5,-0x28(%ebp)
58223  .byte  15,88,247                           // addps         %xmm7,%xmm6
58224  .byte  15,89,200                           // mulps         %xmm0,%xmm1
58225  .byte  15,88,206                           // addps         %xmm6,%xmm1
58226  .byte  243,15,16,119,56                    // movss         0x38(%edi),%xmm6
58227  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58228  .byte  243,15,16,127,72                    // movss         0x48(%edi),%xmm7
58229  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58230  .byte  15,89,243                           // mulps         %xmm3,%xmm6
58231  .byte  15,88,247                           // addps         %xmm7,%xmm6
58232  .byte  243,15,16,127,40                    // movss         0x28(%edi),%xmm7
58233  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58234  .byte  15,89,252                           // mulps         %xmm4,%xmm7
58235  .byte  15,88,254                           // addps         %xmm6,%xmm7
58236  .byte  243,15,16,119,24                    // movss         0x18(%edi),%xmm6
58237  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58238  .byte  15,89,245                           // mulps         %xmm5,%xmm6
58239  .byte  15,88,247                           // addps         %xmm7,%xmm6
58240  .byte  243,15,16,127,8                     // movss         0x8(%edi),%xmm7
58241  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58242  .byte  15,89,248                           // mulps         %xmm0,%xmm7
58243  .byte  15,40,232                           // movaps        %xmm0,%xmm5
58244  .byte  15,88,254                           // addps         %xmm6,%xmm7
58245  .byte  243,15,16,119,60                    // movss         0x3c(%edi),%xmm6
58246  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58247  .byte  15,89,243                           // mulps         %xmm3,%xmm6
58248  .byte  243,15,16,95,76                     // movss         0x4c(%edi),%xmm3
58249  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
58250  .byte  15,88,243                           // addps         %xmm3,%xmm6
58251  .byte  243,15,16,71,44                     // movss         0x2c(%edi),%xmm0
58252  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
58253  .byte  15,89,196                           // mulps         %xmm4,%xmm0
58254  .byte  243,15,16,95,12                     // movss         0xc(%edi),%xmm3
58255  .byte  15,88,198                           // addps         %xmm6,%xmm0
58256  .byte  243,15,16,103,28                    // movss         0x1c(%edi),%xmm4
58257  .byte  139,125,24                          // mov           0x18(%ebp),%edi
58258  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
58259  .byte  15,89,101,216                       // mulps         -0x28(%ebp),%xmm4
58260  .byte  15,88,224                           // addps         %xmm0,%xmm4
58261  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
58262  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
58263  .byte  15,89,221                           // mulps         %xmm5,%xmm3
58264  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
58265  .byte  15,88,220                           // addps         %xmm4,%xmm3
58266  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
58267  .byte  141,90,8                            // lea           0x8(%edx),%ebx
58268  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
58269  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
58270  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
58271  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
58272  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
58273  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
58274  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
58275  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
58276  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
58277  .byte  137,4,36                            // mov           %eax,(%esp)
58278  .byte  15,40,194                           // movaps        %xmm2,%xmm0
58279  .byte  15,40,215                           // movaps        %xmm7,%xmm2
58280  .byte  255,82,4                            // call          *0x4(%edx)
58281  .byte  131,196,124                         // add           $0x7c,%esp
58282  .byte  94                                  // pop           %esi
58283  .byte  95                                  // pop           %edi
58284  .byte  91                                  // pop           %ebx
58285  .byte  93                                  // pop           %ebp
58286  .byte  195                                 // ret
58287
58288HIDDEN _sk_matrix_4x3_sse2
58289.globl _sk_matrix_4x3_sse2
58290FUNCTION(_sk_matrix_4x3_sse2)
58291_sk_matrix_4x3_sse2:
58292  .byte  85                                  // push          %ebp
58293  .byte  137,229                             // mov           %esp,%ebp
58294  .byte  83                                  // push          %ebx
58295  .byte  87                                  // push          %edi
58296  .byte  86                                  // push          %esi
58297  .byte  131,236,108                         // sub           $0x6c,%esp
58298  .byte  15,40,233                           // movaps        %xmm1,%xmm5
58299  .byte  15,40,224                           // movaps        %xmm0,%xmm4
58300  .byte  139,69,8                            // mov           0x8(%ebp),%eax
58301  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
58302  .byte  139,117,20                          // mov           0x14(%ebp),%esi
58303  .byte  139,85,12                           // mov           0xc(%ebp),%edx
58304  .byte  139,58                              // mov           (%edx),%edi
58305  .byte  243,15,16,7                         // movss         (%edi),%xmm0
58306  .byte  243,15,16,79,4                      // movss         0x4(%edi),%xmm1
58307  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
58308  .byte  243,15,16,87,16                     // movss         0x10(%edi),%xmm2
58309  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
58310  .byte  243,15,16,95,32                     // movss         0x20(%edi),%xmm3
58311  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
58312  .byte  15,89,213                           // mulps         %xmm5,%xmm2
58313  .byte  15,88,211                           // addps         %xmm3,%xmm2
58314  .byte  15,89,196                           // mulps         %xmm4,%xmm0
58315  .byte  15,88,194                           // addps         %xmm2,%xmm0
58316  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
58317  .byte  243,15,16,87,20                     // movss         0x14(%edi),%xmm2
58318  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
58319  .byte  243,15,16,95,36                     // movss         0x24(%edi),%xmm3
58320  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
58321  .byte  15,89,213                           // mulps         %xmm5,%xmm2
58322  .byte  15,88,211                           // addps         %xmm3,%xmm2
58323  .byte  15,89,204                           // mulps         %xmm4,%xmm1
58324  .byte  15,88,202                           // addps         %xmm2,%xmm1
58325  .byte  243,15,16,87,8                      // movss         0x8(%edi),%xmm2
58326  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
58327  .byte  243,15,16,95,24                     // movss         0x18(%edi),%xmm3
58328  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
58329  .byte  243,15,16,119,40                    // movss         0x28(%edi),%xmm6
58330  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58331  .byte  15,89,221                           // mulps         %xmm5,%xmm3
58332  .byte  15,88,222                           // addps         %xmm6,%xmm3
58333  .byte  15,89,212                           // mulps         %xmm4,%xmm2
58334  .byte  15,88,211                           // addps         %xmm3,%xmm2
58335  .byte  243,15,16,95,12                     // movss         0xc(%edi),%xmm3
58336  .byte  243,15,16,119,28                    // movss         0x1c(%edi),%xmm6
58337  .byte  243,15,16,127,44                    // movss         0x2c(%edi),%xmm7
58338  .byte  139,125,24                          // mov           0x18(%ebp),%edi
58339  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58340  .byte  15,89,245                           // mulps         %xmm5,%xmm6
58341  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
58342  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58343  .byte  15,88,247                           // addps         %xmm7,%xmm6
58344  .byte  15,40,125,56                        // movaps        0x38(%ebp),%xmm7
58345  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
58346  .byte  15,89,220                           // mulps         %xmm4,%xmm3
58347  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
58348  .byte  15,88,222                           // addps         %xmm6,%xmm3
58349  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
58350  .byte  141,90,8                            // lea           0x8(%edx),%ebx
58351  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
58352  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
58353  .byte  15,41,124,36,48                     // movaps        %xmm7,0x30(%esp)
58354  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
58355  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
58356  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
58357  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
58358  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
58359  .byte  137,4,36                            // mov           %eax,(%esp)
58360  .byte  255,82,4                            // call          *0x4(%edx)
58361  .byte  131,196,108                         // add           $0x6c,%esp
58362  .byte  94                                  // pop           %esi
58363  .byte  95                                  // pop           %edi
58364  .byte  91                                  // pop           %ebx
58365  .byte  93                                  // pop           %ebp
58366  .byte  195                                 // ret
58367
58368HIDDEN _sk_matrix_perspective_sse2
58369.globl _sk_matrix_perspective_sse2
58370FUNCTION(_sk_matrix_perspective_sse2)
58371_sk_matrix_perspective_sse2:
58372  .byte  85                                  // push          %ebp
58373  .byte  137,229                             // mov           %esp,%ebp
58374  .byte  83                                  // push          %ebx
58375  .byte  87                                  // push          %edi
58376  .byte  86                                  // push          %esi
58377  .byte  131,236,108                         // sub           $0x6c,%esp
58378  .byte  15,40,224                           // movaps        %xmm0,%xmm4
58379  .byte  139,69,8                            // mov           0x8(%ebp),%eax
58380  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
58381  .byte  139,117,20                          // mov           0x14(%ebp),%esi
58382  .byte  139,85,12                           // mov           0xc(%ebp),%edx
58383  .byte  139,58                              // mov           (%edx),%edi
58384  .byte  243,15,16,7                         // movss         (%edi),%xmm0
58385  .byte  243,15,16,111,4                     // movss         0x4(%edi),%xmm5
58386  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
58387  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
58388  .byte  243,15,16,119,8                     // movss         0x8(%edi),%xmm6
58389  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58390  .byte  15,89,233                           // mulps         %xmm1,%xmm5
58391  .byte  15,88,238                           // addps         %xmm6,%xmm5
58392  .byte  15,89,196                           // mulps         %xmm4,%xmm0
58393  .byte  15,88,197                           // addps         %xmm5,%xmm0
58394  .byte  243,15,16,111,12                    // movss         0xc(%edi),%xmm5
58395  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
58396  .byte  243,15,16,119,16                    // movss         0x10(%edi),%xmm6
58397  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58398  .byte  243,15,16,127,20                    // movss         0x14(%edi),%xmm7
58399  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58400  .byte  15,89,241                           // mulps         %xmm1,%xmm6
58401  .byte  15,88,247                           // addps         %xmm7,%xmm6
58402  .byte  15,89,236                           // mulps         %xmm4,%xmm5
58403  .byte  15,88,238                           // addps         %xmm6,%xmm5
58404  .byte  243,15,16,119,24                    // movss         0x18(%edi),%xmm6
58405  .byte  243,15,16,127,28                    // movss         0x1c(%edi),%xmm7
58406  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58407  .byte  15,89,249                           // mulps         %xmm1,%xmm7
58408  .byte  243,15,16,79,32                     // movss         0x20(%edi),%xmm1
58409  .byte  139,125,24                          // mov           0x18(%ebp),%edi
58410  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
58411  .byte  15,88,249                           // addps         %xmm1,%xmm7
58412  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
58413  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58414  .byte  15,89,244                           // mulps         %xmm4,%xmm6
58415  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
58416  .byte  15,88,247                           // addps         %xmm7,%xmm6
58417  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
58418  .byte  15,83,246                           // rcpps         %xmm6,%xmm6
58419  .byte  15,89,198                           // mulps         %xmm6,%xmm0
58420  .byte  15,89,238                           // mulps         %xmm6,%xmm5
58421  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
58422  .byte  141,90,8                            // lea           0x8(%edx),%ebx
58423  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
58424  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
58425  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
58426  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
58427  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
58428  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
58429  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
58430  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
58431  .byte  137,4,36                            // mov           %eax,(%esp)
58432  .byte  15,40,205                           // movaps        %xmm5,%xmm1
58433  .byte  255,82,4                            // call          *0x4(%edx)
58434  .byte  131,196,108                         // add           $0x6c,%esp
58435  .byte  94                                  // pop           %esi
58436  .byte  95                                  // pop           %edi
58437  .byte  91                                  // pop           %ebx
58438  .byte  93                                  // pop           %ebp
58439  .byte  195                                 // ret
58440
58441HIDDEN _sk_evenly_spaced_gradient_sse2
58442.globl _sk_evenly_spaced_gradient_sse2
58443FUNCTION(_sk_evenly_spaced_gradient_sse2)
58444_sk_evenly_spaced_gradient_sse2:
58445  .byte  85                                  // push          %ebp
58446  .byte  137,229                             // mov           %esp,%ebp
58447  .byte  83                                  // push          %ebx
58448  .byte  87                                  // push          %edi
58449  .byte  86                                  // push          %esi
58450  .byte  129,236,156,0,0,0                   // sub           $0x9c,%esp
58451  .byte  15,41,69,184                        // movaps        %xmm0,-0x48(%ebp)
58452  .byte  232,0,0,0,0                         // call          7ed7 <_sk_evenly_spaced_gradient_sse2+0x15>
58453  .byte  90                                  // pop           %edx
58454  .byte  139,77,12                           // mov           0xc(%ebp),%ecx
58455  .byte  141,65,4                            // lea           0x4(%ecx),%eax
58456  .byte  137,69,240                          // mov           %eax,-0x10(%ebp)
58457  .byte  139,9                               // mov           (%ecx),%ecx
58458  .byte  139,49                              // mov           (%ecx),%esi
58459  .byte  139,65,4                            // mov           0x4(%ecx),%eax
58460  .byte  78                                  // dec           %esi
58461  .byte  102,15,110,206                      // movd          %esi,%xmm1
58462  .byte  102,15,112,201,0                    // pshufd        $0x0,%xmm1,%xmm1
58463  .byte  102,15,111,146,89,36,0,0            // movdqa        0x2459(%edx),%xmm2
58464  .byte  102,15,219,209                      // pand          %xmm1,%xmm2
58465  .byte  102,15,235,146,105,36,0,0           // por           0x2469(%edx),%xmm2
58466  .byte  102,15,114,209,16                   // psrld         $0x10,%xmm1
58467  .byte  102,15,235,138,121,36,0,0           // por           0x2479(%edx),%xmm1
58468  .byte  15,88,138,137,36,0,0                // addps         0x2489(%edx),%xmm1
58469  .byte  15,88,202                           // addps         %xmm2,%xmm1
58470  .byte  15,89,200                           // mulps         %xmm0,%xmm1
58471  .byte  243,15,91,201                       // cvttps2dq     %xmm1,%xmm1
58472  .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
58473  .byte  102,15,126,210                      // movd          %xmm2,%edx
58474  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
58475  .byte  102,15,112,217,231                  // pshufd        $0xe7,%xmm1,%xmm3
58476  .byte  102,15,126,223                      // movd          %xmm3,%edi
58477  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
58478  .byte  243,15,16,52,144                    // movss         (%eax,%edx,4),%xmm6
58479  .byte  102,15,126,206                      // movd          %xmm1,%esi
58480  .byte  243,15,16,36,176                    // movss         (%eax,%esi,4),%xmm4
58481  .byte  102,15,126,211                      // movd          %xmm2,%ebx
58482  .byte  243,15,16,12,152                    // movss         (%eax,%ebx,4),%xmm1
58483  .byte  15,20,243                           // unpcklps      %xmm3,%xmm6
58484  .byte  139,65,20                           // mov           0x14(%ecx),%eax
58485  .byte  243,15,16,20,184                    // movss         (%eax,%edi,4),%xmm2
58486  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
58487  .byte  243,15,16,4,176                     // movss         (%eax,%esi,4),%xmm0
58488  .byte  243,15,16,60,152                    // movss         (%eax,%ebx,4),%xmm7
58489  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
58490  .byte  15,20,230                           // unpcklps      %xmm6,%xmm4
58491  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
58492  .byte  15,20,199                           // unpcklps      %xmm7,%xmm0
58493  .byte  139,65,8                            // mov           0x8(%ecx),%eax
58494  .byte  243,15,16,20,184                    // movss         (%eax,%edi,4),%xmm2
58495  .byte  243,15,16,52,144                    // movss         (%eax,%edx,4),%xmm6
58496  .byte  243,15,16,12,176                    // movss         (%eax,%esi,4),%xmm1
58497  .byte  243,15,16,60,152                    // movss         (%eax,%ebx,4),%xmm7
58498  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
58499  .byte  15,41,69,200                        // movaps        %xmm0,-0x38(%ebp)
58500  .byte  15,20,242                           // unpcklps      %xmm2,%xmm6
58501  .byte  15,20,207                           // unpcklps      %xmm7,%xmm1
58502  .byte  15,20,206                           // unpcklps      %xmm6,%xmm1
58503  .byte  139,65,24                           // mov           0x18(%ecx),%eax
58504  .byte  243,15,16,20,184                    // movss         (%eax,%edi,4),%xmm2
58505  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
58506  .byte  243,15,16,4,176                     // movss         (%eax,%esi,4),%xmm0
58507  .byte  243,15,16,60,152                    // movss         (%eax,%ebx,4),%xmm7
58508  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
58509  .byte  15,20,199                           // unpcklps      %xmm7,%xmm0
58510  .byte  15,20,195                           // unpcklps      %xmm3,%xmm0
58511  .byte  15,41,69,216                        // movaps        %xmm0,-0x28(%ebp)
58512  .byte  139,65,12                           // mov           0xc(%ecx),%eax
58513  .byte  243,15,16,20,184                    // movss         (%eax,%edi,4),%xmm2
58514  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
58515  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
58516  .byte  243,15,16,20,176                    // movss         (%eax,%esi,4),%xmm2
58517  .byte  243,15,16,60,152                    // movss         (%eax,%ebx,4),%xmm7
58518  .byte  15,20,215                           // unpcklps      %xmm7,%xmm2
58519  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
58520  .byte  139,65,28                           // mov           0x1c(%ecx),%eax
58521  .byte  243,15,16,60,184                    // movss         (%eax,%edi,4),%xmm7
58522  .byte  243,15,16,28,144                    // movss         (%eax,%edx,4),%xmm3
58523  .byte  15,20,223                           // unpcklps      %xmm7,%xmm3
58524  .byte  243,15,16,60,176                    // movss         (%eax,%esi,4),%xmm7
58525  .byte  243,15,16,44,152                    // movss         (%eax,%ebx,4),%xmm5
58526  .byte  15,20,253                           // unpcklps      %xmm5,%xmm7
58527  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
58528  .byte  139,65,16                           // mov           0x10(%ecx),%eax
58529  .byte  243,15,16,28,184                    // movss         (%eax,%edi,4),%xmm3
58530  .byte  243,15,16,44,144                    // movss         (%eax,%edx,4),%xmm5
58531  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
58532  .byte  243,15,16,28,176                    // movss         (%eax,%esi,4),%xmm3
58533  .byte  243,15,16,4,152                     // movss         (%eax,%ebx,4),%xmm0
58534  .byte  15,20,216                           // unpcklps      %xmm0,%xmm3
58535  .byte  15,20,221                           // unpcklps      %xmm5,%xmm3
58536  .byte  139,65,32                           // mov           0x20(%ecx),%eax
58537  .byte  243,15,16,4,184                     // movss         (%eax,%edi,4),%xmm0
58538  .byte  243,15,16,44,144                    // movss         (%eax,%edx,4),%xmm5
58539  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
58540  .byte  243,15,16,4,176                     // movss         (%eax,%esi,4),%xmm0
58541  .byte  243,15,16,52,152                    // movss         (%eax,%ebx,4),%xmm6
58542  .byte  15,20,198                           // unpcklps      %xmm6,%xmm0
58543  .byte  15,20,197                           // unpcklps      %xmm5,%xmm0
58544  .byte  15,40,117,184                       // movaps        -0x48(%ebp),%xmm6
58545  .byte  15,89,230                           // mulps         %xmm6,%xmm4
58546  .byte  15,88,101,200                       // addps         -0x38(%ebp),%xmm4
58547  .byte  139,69,8                            // mov           0x8(%ebp),%eax
58548  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
58549  .byte  139,85,20                           // mov           0x14(%ebp),%edx
58550  .byte  139,117,24                          // mov           0x18(%ebp),%esi
58551  .byte  15,89,206                           // mulps         %xmm6,%xmm1
58552  .byte  15,88,77,216                        // addps         -0x28(%ebp),%xmm1
58553  .byte  15,89,214                           // mulps         %xmm6,%xmm2
58554  .byte  15,88,215                           // addps         %xmm7,%xmm2
58555  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
58556  .byte  15,89,222                           // mulps         %xmm6,%xmm3
58557  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
58558  .byte  15,88,216                           // addps         %xmm0,%xmm3
58559  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
58560  .byte  139,93,12                           // mov           0xc(%ebp),%ebx
58561  .byte  141,123,8                           // lea           0x8(%ebx),%edi
58562  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
58563  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
58564  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
58565  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
58566  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
58567  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
58568  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
58569  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
58570  .byte  137,124,36,4                        // mov           %edi,0x4(%esp)
58571  .byte  137,4,36                            // mov           %eax,(%esp)
58572  .byte  15,40,196                           // movaps        %xmm4,%xmm0
58573  .byte  255,83,4                            // call          *0x4(%ebx)
58574  .byte  129,196,156,0,0,0                   // add           $0x9c,%esp
58575  .byte  94                                  // pop           %esi
58576  .byte  95                                  // pop           %edi
58577  .byte  91                                  // pop           %ebx
58578  .byte  93                                  // pop           %ebp
58579  .byte  195                                 // ret
58580
58581HIDDEN _sk_gauss_a_to_rgba_sse2
58582.globl _sk_gauss_a_to_rgba_sse2
58583FUNCTION(_sk_gauss_a_to_rgba_sse2)
58584_sk_gauss_a_to_rgba_sse2:
58585  .byte  85                                  // push          %ebp
58586  .byte  137,229                             // mov           %esp,%ebp
58587  .byte  83                                  // push          %ebx
58588  .byte  87                                  // push          %edi
58589  .byte  86                                  // push          %esi
58590  .byte  131,236,108                         // sub           $0x6c,%esp
58591  .byte  232,0,0,0,0                         // call          80ce <_sk_gauss_a_to_rgba_sse2+0xe>
58592  .byte  90                                  // pop           %edx
58593  .byte  139,69,8                            // mov           0x8(%ebp),%eax
58594  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
58595  .byte  139,117,20                          // mov           0x14(%ebp),%esi
58596  .byte  139,125,24                          // mov           0x18(%ebp),%edi
58597  .byte  15,40,77,40                         // movaps        0x28(%ebp),%xmm1
58598  .byte  15,40,85,56                         // movaps        0x38(%ebp),%xmm2
58599  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
58600  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
58601  .byte  15,40,130,162,34,0,0                // movaps        0x22a2(%edx),%xmm0
58602  .byte  15,89,195                           // mulps         %xmm3,%xmm0
58603  .byte  15,88,130,178,34,0,0                // addps         0x22b2(%edx),%xmm0
58604  .byte  15,89,195                           // mulps         %xmm3,%xmm0
58605  .byte  15,88,130,194,34,0,0                // addps         0x22c2(%edx),%xmm0
58606  .byte  15,89,195                           // mulps         %xmm3,%xmm0
58607  .byte  15,88,130,210,34,0,0                // addps         0x22d2(%edx),%xmm0
58608  .byte  15,89,195                           // mulps         %xmm3,%xmm0
58609  .byte  15,88,130,226,34,0,0                // addps         0x22e2(%edx),%xmm0
58610  .byte  139,85,12                           // mov           0xc(%ebp),%edx
58611  .byte  141,90,4                            // lea           0x4(%edx),%ebx
58612  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
58613  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
58614  .byte  15,41,84,36,48                      // movaps        %xmm2,0x30(%esp)
58615  .byte  15,41,76,36,32                      // movaps        %xmm1,0x20(%esp)
58616  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
58617  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
58618  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
58619  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
58620  .byte  137,4,36                            // mov           %eax,(%esp)
58621  .byte  15,40,200                           // movaps        %xmm0,%xmm1
58622  .byte  15,40,208                           // movaps        %xmm0,%xmm2
58623  .byte  15,40,216                           // movaps        %xmm0,%xmm3
58624  .byte  255,18                              // call          *(%edx)
58625  .byte  131,196,108                         // add           $0x6c,%esp
58626  .byte  94                                  // pop           %esi
58627  .byte  95                                  // pop           %edi
58628  .byte  91                                  // pop           %ebx
58629  .byte  93                                  // pop           %ebp
58630  .byte  195                                 // ret
58631
58632HIDDEN _sk_gradient_sse2
58633.globl _sk_gradient_sse2
58634FUNCTION(_sk_gradient_sse2)
58635_sk_gradient_sse2:
58636  .byte  85                                  // push          %ebp
58637  .byte  137,229                             // mov           %esp,%ebp
58638  .byte  83                                  // push          %ebx
58639  .byte  87                                  // push          %edi
58640  .byte  86                                  // push          %esi
58641  .byte  129,236,156,0,0,0                   // sub           $0x9c,%esp
58642  .byte  232,0,0,0,0                         // call          816b <_sk_gradient_sse2+0x11>
58643  .byte  90                                  // pop           %edx
58644  .byte  139,69,12                           // mov           0xc(%ebp),%eax
58645  .byte  141,72,4                            // lea           0x4(%eax),%ecx
58646  .byte  137,77,240                          // mov           %ecx,-0x10(%ebp)
58647  .byte  139,56                              // mov           (%eax),%edi
58648  .byte  139,7                               // mov           (%edi),%eax
58649  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
58650  .byte  131,248,2                           // cmp           $0x2,%eax
58651  .byte  114,43                              // jb            81ad <_sk_gradient_sse2+0x53>
58652  .byte  139,79,36                           // mov           0x24(%edi),%ecx
58653  .byte  72                                  // dec           %eax
58654  .byte  131,193,4                           // add           $0x4,%ecx
58655  .byte  102,15,239,201                      // pxor          %xmm1,%xmm1
58656  .byte  15,40,146,85,34,0,0                 // movaps        0x2255(%edx),%xmm2
58657  .byte  243,15,16,25                        // movss         (%ecx),%xmm3
58658  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
58659  .byte  15,194,216,2                        // cmpleps       %xmm0,%xmm3
58660  .byte  15,84,218                           // andps         %xmm2,%xmm3
58661  .byte  102,15,254,203                      // paddd         %xmm3,%xmm1
58662  .byte  131,193,4                           // add           $0x4,%ecx
58663  .byte  72                                  // dec           %eax
58664  .byte  117,231                             // jne           8194 <_sk_gradient_sse2+0x3a>
58665  .byte  102,15,126,203                      // movd          %xmm1,%ebx
58666  .byte  102,15,112,209,229                  // pshufd        $0xe5,%xmm1,%xmm2
58667  .byte  102,15,126,208                      // movd          %xmm2,%eax
58668  .byte  102,15,112,209,78                   // pshufd        $0x4e,%xmm1,%xmm2
58669  .byte  102,15,112,201,231                  // pshufd        $0xe7,%xmm1,%xmm1
58670  .byte  102,15,126,201                      // movd          %xmm1,%ecx
58671  .byte  139,119,4                           // mov           0x4(%edi),%esi
58672  .byte  243,15,16,12,142                    // movss         (%esi,%ecx,4),%xmm1
58673  .byte  243,15,16,28,134                    // movss         (%esi,%eax,4),%xmm3
58674  .byte  243,15,16,36,158                    // movss         (%esi,%ebx,4),%xmm4
58675  .byte  102,15,126,210                      // movd          %xmm2,%edx
58676  .byte  243,15,16,20,150                    // movss         (%esi,%edx,4),%xmm2
58677  .byte  15,20,217                           // unpcklps      %xmm1,%xmm3
58678  .byte  139,119,20                          // mov           0x14(%edi),%esi
58679  .byte  243,15,16,12,142                    // movss         (%esi,%ecx,4),%xmm1
58680  .byte  243,15,16,52,134                    // movss         (%esi,%eax,4),%xmm6
58681  .byte  243,15,16,44,158                    // movss         (%esi,%ebx,4),%xmm5
58682  .byte  243,15,16,60,150                    // movss         (%esi,%edx,4),%xmm7
58683  .byte  15,20,226                           // unpcklps      %xmm2,%xmm4
58684  .byte  15,20,227                           // unpcklps      %xmm3,%xmm4
58685  .byte  15,41,101,184                       // movaps        %xmm4,-0x48(%ebp)
58686  .byte  15,20,241                           // unpcklps      %xmm1,%xmm6
58687  .byte  15,20,239                           // unpcklps      %xmm7,%xmm5
58688  .byte  139,119,8                           // mov           0x8(%edi),%esi
58689  .byte  243,15,16,20,142                    // movss         (%esi,%ecx,4),%xmm2
58690  .byte  243,15,16,28,134                    // movss         (%esi,%eax,4),%xmm3
58691  .byte  243,15,16,12,158                    // movss         (%esi,%ebx,4),%xmm1
58692  .byte  243,15,16,60,150                    // movss         (%esi,%edx,4),%xmm7
58693  .byte  15,20,238                           // unpcklps      %xmm6,%xmm5
58694  .byte  15,41,109,200                       // movaps        %xmm5,-0x38(%ebp)
58695  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
58696  .byte  15,20,207                           // unpcklps      %xmm7,%xmm1
58697  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
58698  .byte  139,119,24                          // mov           0x18(%edi),%esi
58699  .byte  243,15,16,20,142                    // movss         (%esi,%ecx,4),%xmm2
58700  .byte  243,15,16,28,134                    // movss         (%esi,%eax,4),%xmm3
58701  .byte  243,15,16,36,158                    // movss         (%esi,%ebx,4),%xmm4
58702  .byte  243,15,16,60,150                    // movss         (%esi,%edx,4),%xmm7
58703  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
58704  .byte  15,20,231                           // unpcklps      %xmm7,%xmm4
58705  .byte  15,20,227                           // unpcklps      %xmm3,%xmm4
58706  .byte  15,41,101,216                       // movaps        %xmm4,-0x28(%ebp)
58707  .byte  139,119,12                          // mov           0xc(%edi),%esi
58708  .byte  243,15,16,20,142                    // movss         (%esi,%ecx,4),%xmm2
58709  .byte  243,15,16,28,134                    // movss         (%esi,%eax,4),%xmm3
58710  .byte  15,20,218                           // unpcklps      %xmm2,%xmm3
58711  .byte  243,15,16,20,158                    // movss         (%esi,%ebx,4),%xmm2
58712  .byte  243,15,16,60,150                    // movss         (%esi,%edx,4),%xmm7
58713  .byte  15,20,215                           // unpcklps      %xmm7,%xmm2
58714  .byte  15,20,211                           // unpcklps      %xmm3,%xmm2
58715  .byte  139,119,28                          // mov           0x1c(%edi),%esi
58716  .byte  243,15,16,60,142                    // movss         (%esi,%ecx,4),%xmm7
58717  .byte  243,15,16,28,134                    // movss         (%esi,%eax,4),%xmm3
58718  .byte  15,20,223                           // unpcklps      %xmm7,%xmm3
58719  .byte  243,15,16,60,158                    // movss         (%esi,%ebx,4),%xmm7
58720  .byte  243,15,16,44,150                    // movss         (%esi,%edx,4),%xmm5
58721  .byte  15,20,253                           // unpcklps      %xmm5,%xmm7
58722  .byte  15,20,251                           // unpcklps      %xmm3,%xmm7
58723  .byte  139,119,16                          // mov           0x10(%edi),%esi
58724  .byte  243,15,16,28,142                    // movss         (%esi,%ecx,4),%xmm3
58725  .byte  243,15,16,44,134                    // movss         (%esi,%eax,4),%xmm5
58726  .byte  15,20,235                           // unpcklps      %xmm3,%xmm5
58727  .byte  243,15,16,28,158                    // movss         (%esi,%ebx,4),%xmm3
58728  .byte  243,15,16,52,150                    // movss         (%esi,%edx,4),%xmm6
58729  .byte  15,20,222                           // unpcklps      %xmm6,%xmm3
58730  .byte  15,20,221                           // unpcklps      %xmm5,%xmm3
58731  .byte  139,119,32                          // mov           0x20(%edi),%esi
58732  .byte  243,15,16,44,142                    // movss         (%esi,%ecx,4),%xmm5
58733  .byte  243,15,16,52,134                    // movss         (%esi,%eax,4),%xmm6
58734  .byte  15,20,245                           // unpcklps      %xmm5,%xmm6
58735  .byte  243,15,16,44,158                    // movss         (%esi,%ebx,4),%xmm5
58736  .byte  243,15,16,36,150                    // movss         (%esi,%edx,4),%xmm4
58737  .byte  15,20,236                           // unpcklps      %xmm4,%xmm5
58738  .byte  15,20,238                           // unpcklps      %xmm6,%xmm5
58739  .byte  15,40,101,184                       // movaps        -0x48(%ebp),%xmm4
58740  .byte  15,89,224                           // mulps         %xmm0,%xmm4
58741  .byte  15,88,101,200                       // addps         -0x38(%ebp),%xmm4
58742  .byte  15,89,200                           // mulps         %xmm0,%xmm1
58743  .byte  15,88,77,216                        // addps         -0x28(%ebp),%xmm1
58744  .byte  15,89,208                           // mulps         %xmm0,%xmm2
58745  .byte  15,88,215                           // addps         %xmm7,%xmm2
58746  .byte  15,89,216                           // mulps         %xmm0,%xmm3
58747  .byte  15,88,221                           // addps         %xmm5,%xmm3
58748  .byte  139,69,240                          // mov           -0x10(%ebp),%eax
58749  .byte  141,72,4                            // lea           0x4(%eax),%ecx
58750  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
58751  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
58752  .byte  15,40,69,72                         // movaps        0x48(%ebp),%xmm0
58753  .byte  15,41,68,36,64                      // movaps        %xmm0,0x40(%esp)
58754  .byte  15,40,69,56                         // movaps        0x38(%ebp),%xmm0
58755  .byte  15,41,68,36,48                      // movaps        %xmm0,0x30(%esp)
58756  .byte  15,40,69,40                         // movaps        0x28(%ebp),%xmm0
58757  .byte  15,41,68,36,32                      // movaps        %xmm0,0x20(%esp)
58758  .byte  139,85,24                           // mov           0x18(%ebp),%edx
58759  .byte  137,84,36,16                        // mov           %edx,0x10(%esp)
58760  .byte  139,85,20                           // mov           0x14(%ebp),%edx
58761  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
58762  .byte  139,85,16                           // mov           0x10(%ebp),%edx
58763  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
58764  .byte  137,76,36,4                         // mov           %ecx,0x4(%esp)
58765  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
58766  .byte  137,12,36                           // mov           %ecx,(%esp)
58767  .byte  15,40,196                           // movaps        %xmm4,%xmm0
58768  .byte  255,16                              // call          *(%eax)
58769  .byte  129,196,156,0,0,0                   // add           $0x9c,%esp
58770  .byte  94                                  // pop           %esi
58771  .byte  95                                  // pop           %edi
58772  .byte  91                                  // pop           %ebx
58773  .byte  93                                  // pop           %ebp
58774  .byte  195                                 // ret
58775
58776HIDDEN _sk_evenly_spaced_2_stop_gradient_sse2
58777.globl _sk_evenly_spaced_2_stop_gradient_sse2
58778FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse2)
58779_sk_evenly_spaced_2_stop_gradient_sse2:
58780  .byte  85                                  // push          %ebp
58781  .byte  137,229                             // mov           %esp,%ebp
58782  .byte  83                                  // push          %ebx
58783  .byte  87                                  // push          %edi
58784  .byte  86                                  // push          %esi
58785  .byte  131,236,108                         // sub           $0x6c,%esp
58786  .byte  15,40,224                           // movaps        %xmm0,%xmm4
58787  .byte  139,69,8                            // mov           0x8(%ebp),%eax
58788  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
58789  .byte  139,117,20                          // mov           0x14(%ebp),%esi
58790  .byte  139,85,12                           // mov           0xc(%ebp),%edx
58791  .byte  139,58                              // mov           (%edx),%edi
58792  .byte  243,15,16,7                         // movss         (%edi),%xmm0
58793  .byte  243,15,16,79,4                      // movss         0x4(%edi),%xmm1
58794  .byte  15,198,192,0                        // shufps        $0x0,%xmm0,%xmm0
58795  .byte  243,15,16,87,16                     // movss         0x10(%edi),%xmm2
58796  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
58797  .byte  15,89,196                           // mulps         %xmm4,%xmm0
58798  .byte  15,88,194                           // addps         %xmm2,%xmm0
58799  .byte  243,15,16,111,20                    // movss         0x14(%edi),%xmm5
58800  .byte  243,15,16,87,8                      // movss         0x8(%edi),%xmm2
58801  .byte  243,15,16,119,24                    // movss         0x18(%edi),%xmm6
58802  .byte  243,15,16,95,12                     // movss         0xc(%edi),%xmm3
58803  .byte  243,15,16,127,28                    // movss         0x1c(%edi),%xmm7
58804  .byte  139,125,24                          // mov           0x18(%ebp),%edi
58805  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
58806  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
58807  .byte  15,89,204                           // mulps         %xmm4,%xmm1
58808  .byte  15,88,205                           // addps         %xmm5,%xmm1
58809  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
58810  .byte  15,198,210,0                        // shufps        $0x0,%xmm2,%xmm2
58811  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
58812  .byte  15,89,212                           // mulps         %xmm4,%xmm2
58813  .byte  15,88,214                           // addps         %xmm6,%xmm2
58814  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
58815  .byte  15,198,219,0                        // shufps        $0x0,%xmm3,%xmm3
58816  .byte  15,89,220                           // mulps         %xmm4,%xmm3
58817  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
58818  .byte  15,198,255,0                        // shufps        $0x0,%xmm7,%xmm7
58819  .byte  15,88,223                           // addps         %xmm7,%xmm3
58820  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
58821  .byte  141,90,8                            // lea           0x8(%edx),%ebx
58822  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
58823  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
58824  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
58825  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
58826  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
58827  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
58828  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
58829  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
58830  .byte  137,4,36                            // mov           %eax,(%esp)
58831  .byte  255,82,4                            // call          *0x4(%edx)
58832  .byte  131,196,108                         // add           $0x6c,%esp
58833  .byte  94                                  // pop           %esi
58834  .byte  95                                  // pop           %edi
58835  .byte  91                                  // pop           %ebx
58836  .byte  93                                  // pop           %ebp
58837  .byte  195                                 // ret
58838
58839HIDDEN _sk_xy_to_unit_angle_sse2
58840.globl _sk_xy_to_unit_angle_sse2
58841FUNCTION(_sk_xy_to_unit_angle_sse2)
58842_sk_xy_to_unit_angle_sse2:
58843  .byte  85                                  // push          %ebp
58844  .byte  137,229                             // mov           %esp,%ebp
58845  .byte  83                                  // push          %ebx
58846  .byte  87                                  // push          %edi
58847  .byte  86                                  // push          %esi
58848  .byte  131,236,124                         // sub           $0x7c,%esp
58849  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
58850  .byte  15,40,218                           // movaps        %xmm2,%xmm3
58851  .byte  15,40,209                           // movaps        %xmm1,%xmm2
58852  .byte  15,40,200                           // movaps        %xmm0,%xmm1
58853  .byte  232,0,0,0,0                         // call          842b <_sk_xy_to_unit_angle_sse2+0x1b>
58854  .byte  88                                  // pop           %eax
58855  .byte  15,87,237                           // xorps         %xmm5,%xmm5
58856  .byte  15,92,233                           // subps         %xmm1,%xmm5
58857  .byte  15,84,233                           // andps         %xmm1,%xmm5
58858  .byte  15,87,228                           // xorps         %xmm4,%xmm4
58859  .byte  15,92,226                           // subps         %xmm2,%xmm4
58860  .byte  15,84,226                           // andps         %xmm2,%xmm4
58861  .byte  15,40,245                           // movaps        %xmm5,%xmm6
58862  .byte  15,93,244                           // minps         %xmm4,%xmm6
58863  .byte  15,40,253                           // movaps        %xmm5,%xmm7
58864  .byte  15,95,252                           // maxps         %xmm4,%xmm7
58865  .byte  15,94,247                           // divps         %xmm7,%xmm6
58866  .byte  15,40,254                           // movaps        %xmm6,%xmm7
58867  .byte  15,89,255                           // mulps         %xmm7,%xmm7
58868  .byte  15,40,128,165,31,0,0                // movaps        0x1fa5(%eax),%xmm0
58869  .byte  15,89,199                           // mulps         %xmm7,%xmm0
58870  .byte  15,88,128,181,31,0,0                // addps         0x1fb5(%eax),%xmm0
58871  .byte  15,89,199                           // mulps         %xmm7,%xmm0
58872  .byte  15,88,128,197,31,0,0                // addps         0x1fc5(%eax),%xmm0
58873  .byte  15,89,199                           // mulps         %xmm7,%xmm0
58874  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
58875  .byte  139,85,16                           // mov           0x10(%ebp),%edx
58876  .byte  139,117,20                          // mov           0x14(%ebp),%esi
58877  .byte  139,125,24                          // mov           0x18(%ebp),%edi
58878  .byte  15,88,128,213,31,0,0                // addps         0x1fd5(%eax),%xmm0
58879  .byte  15,89,198                           // mulps         %xmm6,%xmm0
58880  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
58881  .byte  15,194,236,1                        // cmpltps       %xmm4,%xmm5
58882  .byte  15,40,184,229,31,0,0                // movaps        0x1fe5(%eax),%xmm7
58883  .byte  15,92,248                           // subps         %xmm0,%xmm7
58884  .byte  15,84,253                           // andps         %xmm5,%xmm7
58885  .byte  15,85,232                           // andnps        %xmm0,%xmm5
58886  .byte  15,87,228                           // xorps         %xmm4,%xmm4
58887  .byte  15,86,239                           // orps          %xmm7,%xmm5
58888  .byte  15,194,204,1                        // cmpltps       %xmm4,%xmm1
58889  .byte  15,40,128,245,31,0,0                // movaps        0x1ff5(%eax),%xmm0
58890  .byte  15,92,197                           // subps         %xmm5,%xmm0
58891  .byte  15,84,193                           // andps         %xmm1,%xmm0
58892  .byte  15,85,205                           // andnps        %xmm5,%xmm1
58893  .byte  15,86,200                           // orps          %xmm0,%xmm1
58894  .byte  15,40,194                           // movaps        %xmm2,%xmm0
58895  .byte  15,194,196,1                        // cmpltps       %xmm4,%xmm0
58896  .byte  15,40,168,5,32,0,0                  // movaps        0x2005(%eax),%xmm5
58897  .byte  15,92,233                           // subps         %xmm1,%xmm5
58898  .byte  15,84,232                           // andps         %xmm0,%xmm5
58899  .byte  15,85,193                           // andnps        %xmm1,%xmm0
58900  .byte  15,40,77,56                         // movaps        0x38(%ebp),%xmm1
58901  .byte  15,86,197                           // orps          %xmm5,%xmm0
58902  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
58903  .byte  15,194,224,7                        // cmpordps      %xmm0,%xmm4
58904  .byte  15,84,224                           // andps         %xmm0,%xmm4
58905  .byte  15,40,69,88                         // movaps        0x58(%ebp),%xmm0
58906  .byte  139,69,12                           // mov           0xc(%ebp),%eax
58907  .byte  141,88,4                            // lea           0x4(%eax),%ebx
58908  .byte  15,41,68,36,80                      // movaps        %xmm0,0x50(%esp)
58909  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
58910  .byte  15,41,76,36,48                      // movaps        %xmm1,0x30(%esp)
58911  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
58912  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
58913  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
58914  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
58915  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
58916  .byte  137,12,36                           // mov           %ecx,(%esp)
58917  .byte  15,40,196                           // movaps        %xmm4,%xmm0
58918  .byte  15,40,202                           // movaps        %xmm2,%xmm1
58919  .byte  15,40,211                           // movaps        %xmm3,%xmm2
58920  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
58921  .byte  255,16                              // call          *(%eax)
58922  .byte  131,196,124                         // add           $0x7c,%esp
58923  .byte  94                                  // pop           %esi
58924  .byte  95                                  // pop           %edi
58925  .byte  91                                  // pop           %ebx
58926  .byte  93                                  // pop           %ebp
58927  .byte  195                                 // ret
58928
58929HIDDEN _sk_xy_to_radius_sse2
58930.globl _sk_xy_to_radius_sse2
58931FUNCTION(_sk_xy_to_radius_sse2)
58932_sk_xy_to_radius_sse2:
58933  .byte  85                                  // push          %ebp
58934  .byte  137,229                             // mov           %esp,%ebp
58935  .byte  83                                  // push          %ebx
58936  .byte  87                                  // push          %edi
58937  .byte  86                                  // push          %esi
58938  .byte  131,236,108                         // sub           $0x6c,%esp
58939  .byte  139,69,8                            // mov           0x8(%ebp),%eax
58940  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
58941  .byte  139,85,20                           // mov           0x14(%ebp),%edx
58942  .byte  139,117,24                          // mov           0x18(%ebp),%esi
58943  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
58944  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
58945  .byte  15,89,192                           // mulps         %xmm0,%xmm0
58946  .byte  15,40,249                           // movaps        %xmm1,%xmm7
58947  .byte  15,89,255                           // mulps         %xmm7,%xmm7
58948  .byte  15,88,248                           // addps         %xmm0,%xmm7
58949  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
58950  .byte  139,125,12                          // mov           0xc(%ebp),%edi
58951  .byte  15,81,199                           // sqrtps        %xmm7,%xmm0
58952  .byte  141,95,4                            // lea           0x4(%edi),%ebx
58953  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
58954  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
58955  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
58956  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
58957  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
58958  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
58959  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
58960  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
58961  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
58962  .byte  137,4,36                            // mov           %eax,(%esp)
58963  .byte  255,23                              // call          *(%edi)
58964  .byte  131,196,108                         // add           $0x6c,%esp
58965  .byte  94                                  // pop           %esi
58966  .byte  95                                  // pop           %edi
58967  .byte  91                                  // pop           %ebx
58968  .byte  93                                  // pop           %ebp
58969  .byte  195                                 // ret
58970
58971HIDDEN _sk_xy_to_2pt_conical_quadratic_max_sse2
58972.globl _sk_xy_to_2pt_conical_quadratic_max_sse2
58973FUNCTION(_sk_xy_to_2pt_conical_quadratic_max_sse2)
58974_sk_xy_to_2pt_conical_quadratic_max_sse2:
58975  .byte  85                                  // push          %ebp
58976  .byte  137,229                             // mov           %esp,%ebp
58977  .byte  83                                  // push          %ebx
58978  .byte  87                                  // push          %edi
58979  .byte  86                                  // push          %esi
58980  .byte  131,236,124                         // sub           $0x7c,%esp
58981  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
58982  .byte  15,40,218                           // movaps        %xmm2,%xmm3
58983  .byte  15,40,209                           // movaps        %xmm1,%xmm2
58984  .byte  232,0,0,0,0                         // call          85b0 <_sk_xy_to_2pt_conical_quadratic_max_sse2+0x18>
58985  .byte  94                                  // pop           %esi
58986  .byte  139,69,8                            // mov           0x8(%ebp),%eax
58987  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
58988  .byte  139,85,12                           // mov           0xc(%ebp),%edx
58989  .byte  139,58                              // mov           (%edx),%edi
58990  .byte  243,15,16,111,32                    // movss         0x20(%edi),%xmm5
58991  .byte  243,15,16,119,40                    // movss         0x28(%edi),%xmm6
58992  .byte  243,15,16,103,44                    // movss         0x2c(%edi),%xmm4
58993  .byte  243,15,89,230                       // mulss         %xmm6,%xmm4
58994  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
58995  .byte  15,88,224                           // addps         %xmm0,%xmm4
58996  .byte  15,89,192                           // mulps         %xmm0,%xmm0
58997  .byte  15,40,250                           // movaps        %xmm2,%xmm7
58998  .byte  15,89,255                           // mulps         %xmm7,%xmm7
58999  .byte  15,88,248                           // addps         %xmm0,%xmm7
59000  .byte  243,15,16,79,36                     // movss         0x24(%edi),%xmm1
59001  .byte  139,125,20                          // mov           0x14(%ebp),%edi
59002  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
59003  .byte  15,89,166,144,30,0,0                // mulps         0x1e90(%esi),%xmm4
59004  .byte  243,15,89,246                       // mulss         %xmm6,%xmm6
59005  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
59006  .byte  15,92,254                           // subps         %xmm6,%xmm7
59007  .byte  15,89,174,160,30,0,0                // mulps         0x1ea0(%esi),%xmm5
59008  .byte  15,89,239                           // mulps         %xmm7,%xmm5
59009  .byte  15,40,196                           // movaps        %xmm4,%xmm0
59010  .byte  15,89,192                           // mulps         %xmm0,%xmm0
59011  .byte  15,88,197                           // addps         %xmm5,%xmm0
59012  .byte  15,81,232                           // sqrtps        %xmm0,%xmm5
59013  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
59014  .byte  15,40,197                           // movaps        %xmm5,%xmm0
59015  .byte  15,92,196                           // subps         %xmm4,%xmm0
59016  .byte  15,87,166,176,30,0,0                // xorps         0x1eb0(%esi),%xmm4
59017  .byte  15,89,142,192,30,0,0                // mulps         0x1ec0(%esi),%xmm1
59018  .byte  139,117,24                          // mov           0x18(%ebp),%esi
59019  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
59020  .byte  15,92,229                           // subps         %xmm5,%xmm4
59021  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59022  .byte  15,89,193                           // mulps         %xmm1,%xmm0
59023  .byte  15,89,225                           // mulps         %xmm1,%xmm4
59024  .byte  15,40,77,72                         // movaps        0x48(%ebp),%xmm1
59025  .byte  15,95,196                           // maxps         %xmm4,%xmm0
59026  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
59027  .byte  141,90,8                            // lea           0x8(%edx),%ebx
59028  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
59029  .byte  15,41,76,36,64                      // movaps        %xmm1,0x40(%esp)
59030  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59031  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
59032  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
59033  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
59034  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
59035  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59036  .byte  137,4,36                            // mov           %eax,(%esp)
59037  .byte  15,40,202                           // movaps        %xmm2,%xmm1
59038  .byte  15,40,211                           // movaps        %xmm3,%xmm2
59039  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
59040  .byte  255,82,4                            // call          *0x4(%edx)
59041  .byte  131,196,124                         // add           $0x7c,%esp
59042  .byte  94                                  // pop           %esi
59043  .byte  95                                  // pop           %edi
59044  .byte  91                                  // pop           %ebx
59045  .byte  93                                  // pop           %ebp
59046  .byte  195                                 // ret
59047
59048HIDDEN _sk_xy_to_2pt_conical_quadratic_min_sse2
59049.globl _sk_xy_to_2pt_conical_quadratic_min_sse2
59050FUNCTION(_sk_xy_to_2pt_conical_quadratic_min_sse2)
59051_sk_xy_to_2pt_conical_quadratic_min_sse2:
59052  .byte  85                                  // push          %ebp
59053  .byte  137,229                             // mov           %esp,%ebp
59054  .byte  83                                  // push          %ebx
59055  .byte  87                                  // push          %edi
59056  .byte  86                                  // push          %esi
59057  .byte  131,236,124                         // sub           $0x7c,%esp
59058  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
59059  .byte  15,40,218                           // movaps        %xmm2,%xmm3
59060  .byte  15,40,209                           // movaps        %xmm1,%xmm2
59061  .byte  232,0,0,0,0                         // call          86a4 <_sk_xy_to_2pt_conical_quadratic_min_sse2+0x18>
59062  .byte  94                                  // pop           %esi
59063  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59064  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
59065  .byte  139,85,12                           // mov           0xc(%ebp),%edx
59066  .byte  139,58                              // mov           (%edx),%edi
59067  .byte  243,15,16,111,32                    // movss         0x20(%edi),%xmm5
59068  .byte  243,15,16,119,40                    // movss         0x28(%edi),%xmm6
59069  .byte  243,15,16,103,44                    // movss         0x2c(%edi),%xmm4
59070  .byte  243,15,89,230                       // mulss         %xmm6,%xmm4
59071  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
59072  .byte  15,88,224                           // addps         %xmm0,%xmm4
59073  .byte  15,89,192                           // mulps         %xmm0,%xmm0
59074  .byte  15,40,250                           // movaps        %xmm2,%xmm7
59075  .byte  15,89,255                           // mulps         %xmm7,%xmm7
59076  .byte  15,88,248                           // addps         %xmm0,%xmm7
59077  .byte  243,15,16,79,36                     // movss         0x24(%edi),%xmm1
59078  .byte  139,125,20                          // mov           0x14(%ebp),%edi
59079  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
59080  .byte  15,89,166,220,29,0,0                // mulps         0x1ddc(%esi),%xmm4
59081  .byte  243,15,89,246                       // mulss         %xmm6,%xmm6
59082  .byte  15,198,246,0                        // shufps        $0x0,%xmm6,%xmm6
59083  .byte  15,92,254                           // subps         %xmm6,%xmm7
59084  .byte  15,89,174,236,29,0,0                // mulps         0x1dec(%esi),%xmm5
59085  .byte  15,89,239                           // mulps         %xmm7,%xmm5
59086  .byte  15,40,196                           // movaps        %xmm4,%xmm0
59087  .byte  15,89,192                           // mulps         %xmm0,%xmm0
59088  .byte  15,88,197                           // addps         %xmm5,%xmm0
59089  .byte  15,81,232                           // sqrtps        %xmm0,%xmm5
59090  .byte  15,198,201,0                        // shufps        $0x0,%xmm1,%xmm1
59091  .byte  15,40,197                           // movaps        %xmm5,%xmm0
59092  .byte  15,92,196                           // subps         %xmm4,%xmm0
59093  .byte  15,87,166,252,29,0,0                // xorps         0x1dfc(%esi),%xmm4
59094  .byte  15,89,142,12,30,0,0                 // mulps         0x1e0c(%esi),%xmm1
59095  .byte  139,117,24                          // mov           0x18(%ebp),%esi
59096  .byte  15,40,117,40                        // movaps        0x28(%ebp),%xmm6
59097  .byte  15,92,229                           // subps         %xmm5,%xmm4
59098  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59099  .byte  15,89,193                           // mulps         %xmm1,%xmm0
59100  .byte  15,89,225                           // mulps         %xmm1,%xmm4
59101  .byte  15,40,77,72                         // movaps        0x48(%ebp),%xmm1
59102  .byte  15,93,196                           // minps         %xmm4,%xmm0
59103  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
59104  .byte  141,90,8                            // lea           0x8(%edx),%ebx
59105  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
59106  .byte  15,41,76,36,64                      // movaps        %xmm1,0x40(%esp)
59107  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59108  .byte  15,41,116,36,32                     // movaps        %xmm6,0x20(%esp)
59109  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
59110  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
59111  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
59112  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59113  .byte  137,4,36                            // mov           %eax,(%esp)
59114  .byte  15,40,202                           // movaps        %xmm2,%xmm1
59115  .byte  15,40,211                           // movaps        %xmm3,%xmm2
59116  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
59117  .byte  255,82,4                            // call          *0x4(%edx)
59118  .byte  131,196,124                         // add           $0x7c,%esp
59119  .byte  94                                  // pop           %esi
59120  .byte  95                                  // pop           %edi
59121  .byte  91                                  // pop           %ebx
59122  .byte  93                                  // pop           %ebp
59123  .byte  195                                 // ret
59124
59125HIDDEN _sk_xy_to_2pt_conical_linear_sse2
59126.globl _sk_xy_to_2pt_conical_linear_sse2
59127FUNCTION(_sk_xy_to_2pt_conical_linear_sse2)
59128_sk_xy_to_2pt_conical_linear_sse2:
59129  .byte  85                                  // push          %ebp
59130  .byte  137,229                             // mov           %esp,%ebp
59131  .byte  83                                  // push          %ebx
59132  .byte  87                                  // push          %edi
59133  .byte  86                                  // push          %esi
59134  .byte  131,236,108                         // sub           $0x6c,%esp
59135  .byte  232,0,0,0,0                         // call          878e <_sk_xy_to_2pt_conical_linear_sse2+0xe>
59136  .byte  94                                  // pop           %esi
59137  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59138  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
59139  .byte  139,85,12                           // mov           0xc(%ebp),%edx
59140  .byte  139,58                              // mov           (%edx),%edi
59141  .byte  243,15,16,103,40                    // movss         0x28(%edi),%xmm4
59142  .byte  243,15,16,111,44                    // movss         0x2c(%edi),%xmm5
59143  .byte  139,125,20                          // mov           0x14(%ebp),%edi
59144  .byte  243,15,89,236                       // mulss         %xmm4,%xmm5
59145  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
59146  .byte  15,88,232                           // addps         %xmm0,%xmm5
59147  .byte  15,89,174,50,29,0,0                 // mulps         0x1d32(%esi),%xmm5
59148  .byte  15,89,192                           // mulps         %xmm0,%xmm0
59149  .byte  15,40,241                           // movaps        %xmm1,%xmm6
59150  .byte  15,89,246                           // mulps         %xmm6,%xmm6
59151  .byte  15,88,198                           // addps         %xmm6,%xmm0
59152  .byte  243,15,89,228                       // mulss         %xmm4,%xmm4
59153  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
59154  .byte  15,92,196                           // subps         %xmm4,%xmm0
59155  .byte  15,87,134,66,29,0,0                 // xorps         0x1d42(%esi),%xmm0
59156  .byte  139,117,24                          // mov           0x18(%ebp),%esi
59157  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
59158  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
59159  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
59160  .byte  15,94,197                           // divps         %xmm5,%xmm0
59161  .byte  15,40,109,88                        // movaps        0x58(%ebp),%xmm5
59162  .byte  141,90,8                            // lea           0x8(%edx),%ebx
59163  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
59164  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
59165  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
59166  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59167  .byte  137,116,36,16                       // mov           %esi,0x10(%esp)
59168  .byte  137,124,36,12                       // mov           %edi,0xc(%esp)
59169  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
59170  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59171  .byte  137,4,36                            // mov           %eax,(%esp)
59172  .byte  255,82,4                            // call          *0x4(%edx)
59173  .byte  131,196,108                         // add           $0x6c,%esp
59174  .byte  94                                  // pop           %esi
59175  .byte  95                                  // pop           %edi
59176  .byte  91                                  // pop           %ebx
59177  .byte  93                                  // pop           %ebp
59178  .byte  195                                 // ret
59179
59180HIDDEN _sk_mask_2pt_conical_degenerates_sse2
59181.globl _sk_mask_2pt_conical_degenerates_sse2
59182FUNCTION(_sk_mask_2pt_conical_degenerates_sse2)
59183_sk_mask_2pt_conical_degenerates_sse2:
59184  .byte  85                                  // push          %ebp
59185  .byte  137,229                             // mov           %esp,%ebp
59186  .byte  83                                  // push          %ebx
59187  .byte  87                                  // push          %edi
59188  .byte  86                                  // push          %esi
59189  .byte  131,236,108                         // sub           $0x6c,%esp
59190  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59191  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
59192  .byte  139,117,20                          // mov           0x14(%ebp),%esi
59193  .byte  139,85,12                           // mov           0xc(%ebp),%edx
59194  .byte  139,58                              // mov           (%edx),%edi
59195  .byte  243,15,16,103,40                    // movss         0x28(%edi),%xmm4
59196  .byte  243,15,16,111,44                    // movss         0x2c(%edi),%xmm5
59197  .byte  15,198,237,0                        // shufps        $0x0,%xmm5,%xmm5
59198  .byte  15,198,228,0                        // shufps        $0x0,%xmm4,%xmm4
59199  .byte  15,89,232                           // mulps         %xmm0,%xmm5
59200  .byte  15,88,236                           // addps         %xmm4,%xmm5
59201  .byte  15,87,228                           // xorps         %xmm4,%xmm4
59202  .byte  15,40,240                           // movaps        %xmm0,%xmm6
59203  .byte  15,194,244,7                        // cmpordps      %xmm4,%xmm6
59204  .byte  15,194,229,2                        // cmpleps       %xmm5,%xmm4
59205  .byte  15,84,230                           // andps         %xmm6,%xmm4
59206  .byte  15,17,39                            // movups        %xmm4,(%edi)
59207  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59208  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
59209  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59210  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
59211  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
59212  .byte  141,90,8                            // lea           0x8(%edx),%ebx
59213  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
59214  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
59215  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59216  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59217  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59218  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
59219  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
59220  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59221  .byte  137,4,36                            // mov           %eax,(%esp)
59222  .byte  255,82,4                            // call          *0x4(%edx)
59223  .byte  131,196,108                         // add           $0x6c,%esp
59224  .byte  94                                  // pop           %esi
59225  .byte  95                                  // pop           %edi
59226  .byte  91                                  // pop           %ebx
59227  .byte  93                                  // pop           %ebp
59228  .byte  195                                 // ret
59229
59230HIDDEN _sk_apply_vector_mask_sse2
59231.globl _sk_apply_vector_mask_sse2
59232FUNCTION(_sk_apply_vector_mask_sse2)
59233_sk_apply_vector_mask_sse2:
59234  .byte  85                                  // push          %ebp
59235  .byte  137,229                             // mov           %esp,%ebp
59236  .byte  83                                  // push          %ebx
59237  .byte  87                                  // push          %edi
59238  .byte  86                                  // push          %esi
59239  .byte  131,236,108                         // sub           $0x6c,%esp
59240  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59241  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
59242  .byte  139,85,20                           // mov           0x14(%ebp),%edx
59243  .byte  139,117,12                          // mov           0xc(%ebp),%esi
59244  .byte  139,62                              // mov           (%esi),%edi
59245  .byte  15,16,39                            // movups        (%edi),%xmm4
59246  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59247  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
59248  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
59249  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
59250  .byte  15,84,196                           // andps         %xmm4,%xmm0
59251  .byte  15,84,204                           // andps         %xmm4,%xmm1
59252  .byte  15,84,212                           // andps         %xmm4,%xmm2
59253  .byte  15,84,220                           // andps         %xmm4,%xmm3
59254  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
59255  .byte  141,94,8                            // lea           0x8(%esi),%ebx
59256  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
59257  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
59258  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
59259  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
59260  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59261  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
59262  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
59263  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59264  .byte  137,4,36                            // mov           %eax,(%esp)
59265  .byte  255,86,4                            // call          *0x4(%esi)
59266  .byte  131,196,108                         // add           $0x6c,%esp
59267  .byte  94                                  // pop           %esi
59268  .byte  95                                  // pop           %edi
59269  .byte  91                                  // pop           %ebx
59270  .byte  93                                  // pop           %ebp
59271  .byte  195                                 // ret
59272
59273HIDDEN _sk_save_xy_sse2
59274.globl _sk_save_xy_sse2
59275FUNCTION(_sk_save_xy_sse2)
59276_sk_save_xy_sse2:
59277  .byte  85                                  // push          %ebp
59278  .byte  137,229                             // mov           %esp,%ebp
59279  .byte  83                                  // push          %ebx
59280  .byte  87                                  // push          %edi
59281  .byte  86                                  // push          %esi
59282  .byte  131,236,124                         // sub           $0x7c,%esp
59283  .byte  15,41,93,216                        // movaps        %xmm3,-0x28(%ebp)
59284  .byte  15,40,218                           // movaps        %xmm2,%xmm3
59285  .byte  232,0,0,0,0                         // call          8930 <_sk_save_xy_sse2+0x15>
59286  .byte  88                                  // pop           %eax
59287  .byte  15,40,160,176,27,0,0                // movaps        0x1bb0(%eax),%xmm4
59288  .byte  15,40,232                           // movaps        %xmm0,%xmm5
59289  .byte  15,88,236                           // addps         %xmm4,%xmm5
59290  .byte  243,15,91,245                       // cvttps2dq     %xmm5,%xmm6
59291  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
59292  .byte  15,40,253                           // movaps        %xmm5,%xmm7
59293  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
59294  .byte  15,40,144,192,27,0,0                // movaps        0x1bc0(%eax),%xmm2
59295  .byte  15,84,250                           // andps         %xmm2,%xmm7
59296  .byte  15,92,247                           // subps         %xmm7,%xmm6
59297  .byte  15,92,238                           // subps         %xmm6,%xmm5
59298  .byte  15,88,225                           // addps         %xmm1,%xmm4
59299  .byte  243,15,91,244                       // cvttps2dq     %xmm4,%xmm6
59300  .byte  15,91,246                           // cvtdq2ps      %xmm6,%xmm6
59301  .byte  15,40,252                           // movaps        %xmm4,%xmm7
59302  .byte  15,194,254,1                        // cmpltps       %xmm6,%xmm7
59303  .byte  15,84,250                           // andps         %xmm2,%xmm7
59304  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59305  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
59306  .byte  139,85,20                           // mov           0x14(%ebp),%edx
59307  .byte  139,117,12                          // mov           0xc(%ebp),%esi
59308  .byte  139,62                              // mov           (%esi),%edi
59309  .byte  15,92,247                           // subps         %xmm7,%xmm6
59310  .byte  15,92,230                           // subps         %xmm6,%xmm4
59311  .byte  15,17,7                             // movups        %xmm0,(%edi)
59312  .byte  15,17,79,32                         // movups        %xmm1,0x20(%edi)
59313  .byte  15,17,111,64                        // movups        %xmm5,0x40(%edi)
59314  .byte  15,17,103,96                        // movups        %xmm4,0x60(%edi)
59315  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59316  .byte  15,40,85,40                         // movaps        0x28(%ebp),%xmm2
59317  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
59318  .byte  15,40,109,72                        // movaps        0x48(%ebp),%xmm5
59319  .byte  15,40,117,88                        // movaps        0x58(%ebp),%xmm6
59320  .byte  141,94,8                            // lea           0x8(%esi),%ebx
59321  .byte  15,41,116,36,80                     // movaps        %xmm6,0x50(%esp)
59322  .byte  15,41,108,36,64                     // movaps        %xmm5,0x40(%esp)
59323  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
59324  .byte  15,41,84,36,32                      // movaps        %xmm2,0x20(%esp)
59325  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59326  .byte  137,84,36,12                        // mov           %edx,0xc(%esp)
59327  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
59328  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59329  .byte  137,4,36                            // mov           %eax,(%esp)
59330  .byte  15,40,211                           // movaps        %xmm3,%xmm2
59331  .byte  15,40,93,216                        // movaps        -0x28(%ebp),%xmm3
59332  .byte  255,86,4                            // call          *0x4(%esi)
59333  .byte  131,196,124                         // add           $0x7c,%esp
59334  .byte  94                                  // pop           %esi
59335  .byte  95                                  // pop           %edi
59336  .byte  91                                  // pop           %ebx
59337  .byte  93                                  // pop           %ebp
59338  .byte  195                                 // ret
59339
59340HIDDEN _sk_accumulate_sse2
59341.globl _sk_accumulate_sse2
59342FUNCTION(_sk_accumulate_sse2)
59343_sk_accumulate_sse2:
59344  .byte  85                                  // push          %ebp
59345  .byte  137,229                             // mov           %esp,%ebp
59346  .byte  83                                  // push          %ebx
59347  .byte  87                                  // push          %edi
59348  .byte  86                                  // push          %esi
59349  .byte  131,236,108                         // sub           $0x6c,%esp
59350  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
59351  .byte  139,85,16                           // mov           0x10(%ebp),%edx
59352  .byte  139,117,20                          // mov           0x14(%ebp),%esi
59353  .byte  139,69,12                           // mov           0xc(%ebp),%eax
59354  .byte  139,56                              // mov           (%eax),%edi
59355  .byte  15,16,167,128,0,0,0                 // movups        0x80(%edi),%xmm4
59356  .byte  15,16,175,160,0,0,0                 // movups        0xa0(%edi),%xmm5
59357  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59358  .byte  15,89,236                           // mulps         %xmm4,%xmm5
59359  .byte  15,40,229                           // movaps        %xmm5,%xmm4
59360  .byte  15,89,224                           // mulps         %xmm0,%xmm4
59361  .byte  15,88,101,40                        // addps         0x28(%ebp),%xmm4
59362  .byte  15,40,245                           // movaps        %xmm5,%xmm6
59363  .byte  15,89,241                           // mulps         %xmm1,%xmm6
59364  .byte  15,88,117,56                        // addps         0x38(%ebp),%xmm6
59365  .byte  15,40,253                           // movaps        %xmm5,%xmm7
59366  .byte  15,89,250                           // mulps         %xmm2,%xmm7
59367  .byte  15,88,125,72                        // addps         0x48(%ebp),%xmm7
59368  .byte  15,89,235                           // mulps         %xmm3,%xmm5
59369  .byte  15,88,109,88                        // addps         0x58(%ebp),%xmm5
59370  .byte  141,88,8                            // lea           0x8(%eax),%ebx
59371  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59372  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
59373  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
59374  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59375  .byte  137,12,36                           // mov           %ecx,(%esp)
59376  .byte  15,41,108,36,80                     // movaps        %xmm5,0x50(%esp)
59377  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
59378  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
59379  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59380  .byte  255,80,4                            // call          *0x4(%eax)
59381  .byte  131,196,108                         // add           $0x6c,%esp
59382  .byte  94                                  // pop           %esi
59383  .byte  95                                  // pop           %edi
59384  .byte  91                                  // pop           %ebx
59385  .byte  93                                  // pop           %ebp
59386  .byte  195                                 // ret
59387
59388HIDDEN _sk_bilinear_nx_sse2
59389.globl _sk_bilinear_nx_sse2
59390FUNCTION(_sk_bilinear_nx_sse2)
59391_sk_bilinear_nx_sse2:
59392  .byte  85                                  // push          %ebp
59393  .byte  137,229                             // mov           %esp,%ebp
59394  .byte  83                                  // push          %ebx
59395  .byte  87                                  // push          %edi
59396  .byte  86                                  // push          %esi
59397  .byte  131,236,108                         // sub           $0x6c,%esp
59398  .byte  232,0,0,0,0                         // call          8a75 <_sk_bilinear_nx_sse2+0xe>
59399  .byte  88                                  // pop           %eax
59400  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
59401  .byte  139,85,16                           // mov           0x10(%ebp),%edx
59402  .byte  139,117,12                          // mov           0xc(%ebp),%esi
59403  .byte  139,62                              // mov           (%esi),%edi
59404  .byte  15,16,7                             // movups        (%edi),%xmm0
59405  .byte  15,88,128,139,26,0,0                // addps         0x1a8b(%eax),%xmm0
59406  .byte  15,40,160,155,26,0,0                // movaps        0x1a9b(%eax),%xmm4
59407  .byte  139,69,20                           // mov           0x14(%ebp),%eax
59408  .byte  15,16,111,64                        // movups        0x40(%edi),%xmm5
59409  .byte  15,92,229                           // subps         %xmm5,%xmm4
59410  .byte  15,17,167,128,0,0,0                 // movups        %xmm4,0x80(%edi)
59411  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59412  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
59413  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59414  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
59415  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
59416  .byte  141,94,8                            // lea           0x8(%esi),%ebx
59417  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
59418  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
59419  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59420  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59421  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59422  .byte  137,68,36,12                        // mov           %eax,0xc(%esp)
59423  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
59424  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59425  .byte  137,12,36                           // mov           %ecx,(%esp)
59426  .byte  255,86,4                            // call          *0x4(%esi)
59427  .byte  131,196,108                         // add           $0x6c,%esp
59428  .byte  94                                  // pop           %esi
59429  .byte  95                                  // pop           %edi
59430  .byte  91                                  // pop           %ebx
59431  .byte  93                                  // pop           %ebp
59432  .byte  195                                 // ret
59433
59434HIDDEN _sk_bilinear_px_sse2
59435.globl _sk_bilinear_px_sse2
59436FUNCTION(_sk_bilinear_px_sse2)
59437_sk_bilinear_px_sse2:
59438  .byte  85                                  // push          %ebp
59439  .byte  137,229                             // mov           %esp,%ebp
59440  .byte  83                                  // push          %ebx
59441  .byte  87                                  // push          %edi
59442  .byte  86                                  // push          %esi
59443  .byte  131,236,108                         // sub           $0x6c,%esp
59444  .byte  232,0,0,0,0                         // call          8af9 <_sk_bilinear_px_sse2+0xe>
59445  .byte  88                                  // pop           %eax
59446  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
59447  .byte  139,85,16                           // mov           0x10(%ebp),%edx
59448  .byte  139,117,12                          // mov           0xc(%ebp),%esi
59449  .byte  139,62                              // mov           (%esi),%edi
59450  .byte  15,16,7                             // movups        (%edi),%xmm0
59451  .byte  15,88,128,39,26,0,0                 // addps         0x1a27(%eax),%xmm0
59452  .byte  139,69,20                           // mov           0x14(%ebp),%eax
59453  .byte  15,16,103,64                        // movups        0x40(%edi),%xmm4
59454  .byte  15,17,167,128,0,0,0                 // movups        %xmm4,0x80(%edi)
59455  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59456  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
59457  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59458  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
59459  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
59460  .byte  141,94,8                            // lea           0x8(%esi),%ebx
59461  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
59462  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
59463  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59464  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59465  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59466  .byte  137,68,36,12                        // mov           %eax,0xc(%esp)
59467  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
59468  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59469  .byte  137,12,36                           // mov           %ecx,(%esp)
59470  .byte  255,86,4                            // call          *0x4(%esi)
59471  .byte  131,196,108                         // add           $0x6c,%esp
59472  .byte  94                                  // pop           %esi
59473  .byte  95                                  // pop           %edi
59474  .byte  91                                  // pop           %ebx
59475  .byte  93                                  // pop           %ebp
59476  .byte  195                                 // ret
59477
59478HIDDEN _sk_bilinear_ny_sse2
59479.globl _sk_bilinear_ny_sse2
59480FUNCTION(_sk_bilinear_ny_sse2)
59481_sk_bilinear_ny_sse2:
59482  .byte  85                                  // push          %ebp
59483  .byte  137,229                             // mov           %esp,%ebp
59484  .byte  83                                  // push          %ebx
59485  .byte  87                                  // push          %edi
59486  .byte  86                                  // push          %esi
59487  .byte  131,236,108                         // sub           $0x6c,%esp
59488  .byte  232,0,0,0,0                         // call          8b73 <_sk_bilinear_ny_sse2+0xe>
59489  .byte  88                                  // pop           %eax
59490  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
59491  .byte  139,85,16                           // mov           0x10(%ebp),%edx
59492  .byte  139,117,12                          // mov           0xc(%ebp),%esi
59493  .byte  139,62                              // mov           (%esi),%edi
59494  .byte  15,16,79,32                         // movups        0x20(%edi),%xmm1
59495  .byte  15,88,136,189,25,0,0                // addps         0x19bd(%eax),%xmm1
59496  .byte  15,40,160,205,25,0,0                // movaps        0x19cd(%eax),%xmm4
59497  .byte  139,69,20                           // mov           0x14(%ebp),%eax
59498  .byte  15,16,111,96                        // movups        0x60(%edi),%xmm5
59499  .byte  15,92,229                           // subps         %xmm5,%xmm4
59500  .byte  15,17,167,160,0,0,0                 // movups        %xmm4,0xa0(%edi)
59501  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59502  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
59503  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59504  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
59505  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
59506  .byte  141,94,8                            // lea           0x8(%esi),%ebx
59507  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
59508  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
59509  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59510  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59511  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59512  .byte  137,68,36,12                        // mov           %eax,0xc(%esp)
59513  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
59514  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59515  .byte  137,12,36                           // mov           %ecx,(%esp)
59516  .byte  255,86,4                            // call          *0x4(%esi)
59517  .byte  131,196,108                         // add           $0x6c,%esp
59518  .byte  94                                  // pop           %esi
59519  .byte  95                                  // pop           %edi
59520  .byte  91                                  // pop           %ebx
59521  .byte  93                                  // pop           %ebp
59522  .byte  195                                 // ret
59523
59524HIDDEN _sk_bilinear_py_sse2
59525.globl _sk_bilinear_py_sse2
59526FUNCTION(_sk_bilinear_py_sse2)
59527_sk_bilinear_py_sse2:
59528  .byte  85                                  // push          %ebp
59529  .byte  137,229                             // mov           %esp,%ebp
59530  .byte  83                                  // push          %ebx
59531  .byte  87                                  // push          %edi
59532  .byte  86                                  // push          %esi
59533  .byte  131,236,108                         // sub           $0x6c,%esp
59534  .byte  232,0,0,0,0                         // call          8bf8 <_sk_bilinear_py_sse2+0xe>
59535  .byte  88                                  // pop           %eax
59536  .byte  139,77,8                            // mov           0x8(%ebp),%ecx
59537  .byte  139,85,16                           // mov           0x10(%ebp),%edx
59538  .byte  139,117,12                          // mov           0xc(%ebp),%esi
59539  .byte  139,62                              // mov           (%esi),%edi
59540  .byte  15,16,79,32                         // movups        0x20(%edi),%xmm1
59541  .byte  15,88,136,88,25,0,0                 // addps         0x1958(%eax),%xmm1
59542  .byte  139,69,20                           // mov           0x14(%ebp),%eax
59543  .byte  15,16,103,96                        // movups        0x60(%edi),%xmm4
59544  .byte  15,17,167,160,0,0,0                 // movups        %xmm4,0xa0(%edi)
59545  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59546  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
59547  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59548  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
59549  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
59550  .byte  141,94,8                            // lea           0x8(%esi),%ebx
59551  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
59552  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
59553  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59554  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59555  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59556  .byte  137,68,36,12                        // mov           %eax,0xc(%esp)
59557  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
59558  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59559  .byte  137,12,36                           // mov           %ecx,(%esp)
59560  .byte  255,86,4                            // call          *0x4(%esi)
59561  .byte  131,196,108                         // add           $0x6c,%esp
59562  .byte  94                                  // pop           %esi
59563  .byte  95                                  // pop           %edi
59564  .byte  91                                  // pop           %ebx
59565  .byte  93                                  // pop           %ebp
59566  .byte  195                                 // ret
59567
59568HIDDEN _sk_bicubic_n3x_sse2
59569.globl _sk_bicubic_n3x_sse2
59570FUNCTION(_sk_bicubic_n3x_sse2)
59571_sk_bicubic_n3x_sse2:
59572  .byte  85                                  // push          %ebp
59573  .byte  137,229                             // mov           %esp,%ebp
59574  .byte  83                                  // push          %ebx
59575  .byte  87                                  // push          %edi
59576  .byte  86                                  // push          %esi
59577  .byte  131,236,108                         // sub           $0x6c,%esp
59578  .byte  232,0,0,0,0                         // call          8c73 <_sk_bicubic_n3x_sse2+0xe>
59579  .byte  94                                  // pop           %esi
59580  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59581  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
59582  .byte  139,85,12                           // mov           0xc(%ebp),%edx
59583  .byte  139,58                              // mov           (%edx),%edi
59584  .byte  15,16,7                             // movups        (%edi),%xmm0
59585  .byte  15,16,103,64                        // movups        0x40(%edi),%xmm4
59586  .byte  15,88,134,237,24,0,0                // addps         0x18ed(%esi),%xmm0
59587  .byte  15,40,174,253,24,0,0                // movaps        0x18fd(%esi),%xmm5
59588  .byte  15,92,236                           // subps         %xmm4,%xmm5
59589  .byte  15,40,229                           // movaps        %xmm5,%xmm4
59590  .byte  15,89,174,13,25,0,0                 // mulps         0x190d(%esi),%xmm5
59591  .byte  15,88,174,29,25,0,0                 // addps         0x191d(%esi),%xmm5
59592  .byte  139,117,20                          // mov           0x14(%ebp),%esi
59593  .byte  15,89,228                           // mulps         %xmm4,%xmm4
59594  .byte  15,89,236                           // mulps         %xmm4,%xmm5
59595  .byte  15,17,175,128,0,0,0                 // movups        %xmm5,0x80(%edi)
59596  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59597  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
59598  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59599  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
59600  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
59601  .byte  141,90,8                            // lea           0x8(%edx),%ebx
59602  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
59603  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
59604  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59605  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59606  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59607  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
59608  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
59609  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59610  .byte  137,4,36                            // mov           %eax,(%esp)
59611  .byte  255,82,4                            // call          *0x4(%edx)
59612  .byte  131,196,108                         // add           $0x6c,%esp
59613  .byte  94                                  // pop           %esi
59614  .byte  95                                  // pop           %edi
59615  .byte  91                                  // pop           %ebx
59616  .byte  93                                  // pop           %ebp
59617  .byte  195                                 // ret
59618
59619HIDDEN _sk_bicubic_n1x_sse2
59620.globl _sk_bicubic_n1x_sse2
59621FUNCTION(_sk_bicubic_n1x_sse2)
59622_sk_bicubic_n1x_sse2:
59623  .byte  85                                  // push          %ebp
59624  .byte  137,229                             // mov           %esp,%ebp
59625  .byte  83                                  // push          %ebx
59626  .byte  87                                  // push          %edi
59627  .byte  86                                  // push          %esi
59628  .byte  131,236,108                         // sub           $0x6c,%esp
59629  .byte  232,0,0,0,0                         // call          8d0e <_sk_bicubic_n1x_sse2+0xe>
59630  .byte  94                                  // pop           %esi
59631  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59632  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
59633  .byte  139,85,12                           // mov           0xc(%ebp),%edx
59634  .byte  139,58                              // mov           (%edx),%edi
59635  .byte  15,16,7                             // movups        (%edi),%xmm0
59636  .byte  15,16,103,64                        // movups        0x40(%edi),%xmm4
59637  .byte  15,88,134,146,24,0,0                // addps         0x1892(%esi),%xmm0
59638  .byte  15,40,174,162,24,0,0                // movaps        0x18a2(%esi),%xmm5
59639  .byte  15,92,236                           // subps         %xmm4,%xmm5
59640  .byte  15,40,166,178,24,0,0                // movaps        0x18b2(%esi),%xmm4
59641  .byte  15,89,229                           // mulps         %xmm5,%xmm4
59642  .byte  15,88,166,194,24,0,0                // addps         0x18c2(%esi),%xmm4
59643  .byte  15,89,229                           // mulps         %xmm5,%xmm4
59644  .byte  15,88,166,210,24,0,0                // addps         0x18d2(%esi),%xmm4
59645  .byte  15,89,229                           // mulps         %xmm5,%xmm4
59646  .byte  15,88,166,226,24,0,0                // addps         0x18e2(%esi),%xmm4
59647  .byte  139,117,20                          // mov           0x14(%ebp),%esi
59648  .byte  15,17,167,128,0,0,0                 // movups        %xmm4,0x80(%edi)
59649  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59650  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
59651  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59652  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
59653  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
59654  .byte  141,90,8                            // lea           0x8(%edx),%ebx
59655  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
59656  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
59657  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59658  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59659  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59660  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
59661  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
59662  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59663  .byte  137,4,36                            // mov           %eax,(%esp)
59664  .byte  255,82,4                            // call          *0x4(%edx)
59665  .byte  131,196,108                         // add           $0x6c,%esp
59666  .byte  94                                  // pop           %esi
59667  .byte  95                                  // pop           %edi
59668  .byte  91                                  // pop           %ebx
59669  .byte  93                                  // pop           %ebp
59670  .byte  195                                 // ret
59671
59672HIDDEN _sk_bicubic_p1x_sse2
59673.globl _sk_bicubic_p1x_sse2
59674FUNCTION(_sk_bicubic_p1x_sse2)
59675_sk_bicubic_p1x_sse2:
59676  .byte  85                                  // push          %ebp
59677  .byte  137,229                             // mov           %esp,%ebp
59678  .byte  83                                  // push          %ebx
59679  .byte  87                                  // push          %edi
59680  .byte  86                                  // push          %esi
59681  .byte  131,236,108                         // sub           $0x6c,%esp
59682  .byte  232,0,0,0,0                         // call          8db7 <_sk_bicubic_p1x_sse2+0xe>
59683  .byte  94                                  // pop           %esi
59684  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59685  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
59686  .byte  139,85,12                           // mov           0xc(%ebp),%edx
59687  .byte  139,58                              // mov           (%edx),%edi
59688  .byte  15,40,166,73,24,0,0                 // movaps        0x1849(%esi),%xmm4
59689  .byte  15,16,71,64                         // movups        0x40(%edi),%xmm0
59690  .byte  15,40,174,89,24,0,0                 // movaps        0x1859(%esi),%xmm5
59691  .byte  15,89,232                           // mulps         %xmm0,%xmm5
59692  .byte  15,88,174,105,24,0,0                // addps         0x1869(%esi),%xmm5
59693  .byte  15,89,232                           // mulps         %xmm0,%xmm5
59694  .byte  15,88,236                           // addps         %xmm4,%xmm5
59695  .byte  15,89,232                           // mulps         %xmm0,%xmm5
59696  .byte  15,88,174,121,24,0,0                // addps         0x1879(%esi),%xmm5
59697  .byte  139,117,20                          // mov           0x14(%ebp),%esi
59698  .byte  15,16,7                             // movups        (%edi),%xmm0
59699  .byte  15,17,175,128,0,0,0                 // movups        %xmm5,0x80(%edi)
59700  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59701  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
59702  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
59703  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
59704  .byte  15,88,196                           // addps         %xmm4,%xmm0
59705  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
59706  .byte  141,90,8                            // lea           0x8(%edx),%ebx
59707  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
59708  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
59709  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
59710  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
59711  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59712  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
59713  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
59714  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59715  .byte  137,4,36                            // mov           %eax,(%esp)
59716  .byte  255,82,4                            // call          *0x4(%edx)
59717  .byte  131,196,108                         // add           $0x6c,%esp
59718  .byte  94                                  // pop           %esi
59719  .byte  95                                  // pop           %edi
59720  .byte  91                                  // pop           %ebx
59721  .byte  93                                  // pop           %ebp
59722  .byte  195                                 // ret
59723
59724HIDDEN _sk_bicubic_p3x_sse2
59725.globl _sk_bicubic_p3x_sse2
59726FUNCTION(_sk_bicubic_p3x_sse2)
59727_sk_bicubic_p3x_sse2:
59728  .byte  85                                  // push          %ebp
59729  .byte  137,229                             // mov           %esp,%ebp
59730  .byte  83                                  // push          %ebx
59731  .byte  87                                  // push          %edi
59732  .byte  86                                  // push          %esi
59733  .byte  131,236,108                         // sub           $0x6c,%esp
59734  .byte  232,0,0,0,0                         // call          8e55 <_sk_bicubic_p3x_sse2+0xe>
59735  .byte  89                                  // pop           %ecx
59736  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59737  .byte  139,85,16                           // mov           0x10(%ebp),%edx
59738  .byte  139,117,12                          // mov           0xc(%ebp),%esi
59739  .byte  139,62                              // mov           (%esi),%edi
59740  .byte  15,16,7                             // movups        (%edi),%xmm0
59741  .byte  15,16,103,64                        // movups        0x40(%edi),%xmm4
59742  .byte  15,88,129,235,23,0,0                // addps         0x17eb(%ecx),%xmm0
59743  .byte  15,40,236                           // movaps        %xmm4,%xmm5
59744  .byte  15,89,161,251,23,0,0                // mulps         0x17fb(%ecx),%xmm4
59745  .byte  15,88,161,11,24,0,0                 // addps         0x180b(%ecx),%xmm4
59746  .byte  139,77,20                           // mov           0x14(%ebp),%ecx
59747  .byte  15,89,237                           // mulps         %xmm5,%xmm5
59748  .byte  15,89,229                           // mulps         %xmm5,%xmm4
59749  .byte  15,17,167,128,0,0,0                 // movups        %xmm4,0x80(%edi)
59750  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59751  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
59752  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59753  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
59754  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
59755  .byte  141,94,8                            // lea           0x8(%esi),%ebx
59756  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
59757  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
59758  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59759  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59760  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59761  .byte  137,76,36,12                        // mov           %ecx,0xc(%esp)
59762  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
59763  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59764  .byte  137,4,36                            // mov           %eax,(%esp)
59765  .byte  255,86,4                            // call          *0x4(%esi)
59766  .byte  131,196,108                         // add           $0x6c,%esp
59767  .byte  94                                  // pop           %esi
59768  .byte  95                                  // pop           %edi
59769  .byte  91                                  // pop           %ebx
59770  .byte  93                                  // pop           %ebp
59771  .byte  195                                 // ret
59772
59773HIDDEN _sk_bicubic_n3y_sse2
59774.globl _sk_bicubic_n3y_sse2
59775FUNCTION(_sk_bicubic_n3y_sse2)
59776_sk_bicubic_n3y_sse2:
59777  .byte  85                                  // push          %ebp
59778  .byte  137,229                             // mov           %esp,%ebp
59779  .byte  83                                  // push          %ebx
59780  .byte  87                                  // push          %edi
59781  .byte  86                                  // push          %esi
59782  .byte  131,236,108                         // sub           $0x6c,%esp
59783  .byte  232,0,0,0,0                         // call          8ee6 <_sk_bicubic_n3y_sse2+0xe>
59784  .byte  94                                  // pop           %esi
59785  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59786  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
59787  .byte  139,85,12                           // mov           0xc(%ebp),%edx
59788  .byte  139,58                              // mov           (%edx),%edi
59789  .byte  15,16,79,32                         // movups        0x20(%edi),%xmm1
59790  .byte  15,16,103,96                        // movups        0x60(%edi),%xmm4
59791  .byte  15,88,142,138,23,0,0                // addps         0x178a(%esi),%xmm1
59792  .byte  15,40,174,154,23,0,0                // movaps        0x179a(%esi),%xmm5
59793  .byte  15,92,236                           // subps         %xmm4,%xmm5
59794  .byte  15,40,229                           // movaps        %xmm5,%xmm4
59795  .byte  15,89,174,170,23,0,0                // mulps         0x17aa(%esi),%xmm5
59796  .byte  15,88,174,186,23,0,0                // addps         0x17ba(%esi),%xmm5
59797  .byte  139,117,20                          // mov           0x14(%ebp),%esi
59798  .byte  15,89,228                           // mulps         %xmm4,%xmm4
59799  .byte  15,89,236                           // mulps         %xmm4,%xmm5
59800  .byte  15,17,175,160,0,0,0                 // movups        %xmm5,0xa0(%edi)
59801  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59802  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
59803  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59804  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
59805  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
59806  .byte  141,90,8                            // lea           0x8(%edx),%ebx
59807  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
59808  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
59809  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59810  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59811  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59812  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
59813  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
59814  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59815  .byte  137,4,36                            // mov           %eax,(%esp)
59816  .byte  255,82,4                            // call          *0x4(%edx)
59817  .byte  131,196,108                         // add           $0x6c,%esp
59818  .byte  94                                  // pop           %esi
59819  .byte  95                                  // pop           %edi
59820  .byte  91                                  // pop           %ebx
59821  .byte  93                                  // pop           %ebp
59822  .byte  195                                 // ret
59823
59824HIDDEN _sk_bicubic_n1y_sse2
59825.globl _sk_bicubic_n1y_sse2
59826FUNCTION(_sk_bicubic_n1y_sse2)
59827_sk_bicubic_n1y_sse2:
59828  .byte  85                                  // push          %ebp
59829  .byte  137,229                             // mov           %esp,%ebp
59830  .byte  83                                  // push          %ebx
59831  .byte  87                                  // push          %edi
59832  .byte  86                                  // push          %esi
59833  .byte  131,236,108                         // sub           $0x6c,%esp
59834  .byte  232,0,0,0,0                         // call          8f82 <_sk_bicubic_n1y_sse2+0xe>
59835  .byte  94                                  // pop           %esi
59836  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59837  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
59838  .byte  139,85,12                           // mov           0xc(%ebp),%edx
59839  .byte  139,58                              // mov           (%edx),%edi
59840  .byte  15,16,79,32                         // movups        0x20(%edi),%xmm1
59841  .byte  15,16,103,96                        // movups        0x60(%edi),%xmm4
59842  .byte  15,88,142,46,23,0,0                 // addps         0x172e(%esi),%xmm1
59843  .byte  15,40,174,62,23,0,0                 // movaps        0x173e(%esi),%xmm5
59844  .byte  15,92,236                           // subps         %xmm4,%xmm5
59845  .byte  15,40,166,78,23,0,0                 // movaps        0x174e(%esi),%xmm4
59846  .byte  15,89,229                           // mulps         %xmm5,%xmm4
59847  .byte  15,88,166,94,23,0,0                 // addps         0x175e(%esi),%xmm4
59848  .byte  15,89,229                           // mulps         %xmm5,%xmm4
59849  .byte  15,88,166,110,23,0,0                // addps         0x176e(%esi),%xmm4
59850  .byte  15,89,229                           // mulps         %xmm5,%xmm4
59851  .byte  15,88,166,126,23,0,0                // addps         0x177e(%esi),%xmm4
59852  .byte  139,117,20                          // mov           0x14(%ebp),%esi
59853  .byte  15,17,167,160,0,0,0                 // movups        %xmm4,0xa0(%edi)
59854  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59855  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
59856  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59857  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
59858  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
59859  .byte  141,90,8                            // lea           0x8(%edx),%ebx
59860  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
59861  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
59862  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59863  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59864  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59865  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
59866  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
59867  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59868  .byte  137,4,36                            // mov           %eax,(%esp)
59869  .byte  255,82,4                            // call          *0x4(%edx)
59870  .byte  131,196,108                         // add           $0x6c,%esp
59871  .byte  94                                  // pop           %esi
59872  .byte  95                                  // pop           %edi
59873  .byte  91                                  // pop           %ebx
59874  .byte  93                                  // pop           %ebp
59875  .byte  195                                 // ret
59876
59877HIDDEN _sk_bicubic_p1y_sse2
59878.globl _sk_bicubic_p1y_sse2
59879FUNCTION(_sk_bicubic_p1y_sse2)
59880_sk_bicubic_p1y_sse2:
59881  .byte  85                                  // push          %ebp
59882  .byte  137,229                             // mov           %esp,%ebp
59883  .byte  83                                  // push          %ebx
59884  .byte  87                                  // push          %edi
59885  .byte  86                                  // push          %esi
59886  .byte  131,236,108                         // sub           $0x6c,%esp
59887  .byte  232,0,0,0,0                         // call          902c <_sk_bicubic_p1y_sse2+0xe>
59888  .byte  94                                  // pop           %esi
59889  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59890  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
59891  .byte  139,85,12                           // mov           0xc(%ebp),%edx
59892  .byte  139,58                              // mov           (%edx),%edi
59893  .byte  15,40,166,228,22,0,0                // movaps        0x16e4(%esi),%xmm4
59894  .byte  15,16,79,96                         // movups        0x60(%edi),%xmm1
59895  .byte  15,40,174,244,22,0,0                // movaps        0x16f4(%esi),%xmm5
59896  .byte  15,89,233                           // mulps         %xmm1,%xmm5
59897  .byte  15,88,174,4,23,0,0                  // addps         0x1704(%esi),%xmm5
59898  .byte  15,89,233                           // mulps         %xmm1,%xmm5
59899  .byte  15,88,236                           // addps         %xmm4,%xmm5
59900  .byte  15,89,233                           // mulps         %xmm1,%xmm5
59901  .byte  15,88,174,20,23,0,0                 // addps         0x1714(%esi),%xmm5
59902  .byte  139,117,20                          // mov           0x14(%ebp),%esi
59903  .byte  15,16,79,32                         // movups        0x20(%edi),%xmm1
59904  .byte  15,17,175,160,0,0,0                 // movups        %xmm5,0xa0(%edi)
59905  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59906  .byte  15,40,109,40                        // movaps        0x28(%ebp),%xmm5
59907  .byte  15,40,117,56                        // movaps        0x38(%ebp),%xmm6
59908  .byte  15,40,125,72                        // movaps        0x48(%ebp),%xmm7
59909  .byte  15,88,204                           // addps         %xmm4,%xmm1
59910  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
59911  .byte  141,90,8                            // lea           0x8(%edx),%ebx
59912  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
59913  .byte  15,41,124,36,64                     // movaps        %xmm7,0x40(%esp)
59914  .byte  15,41,116,36,48                     // movaps        %xmm6,0x30(%esp)
59915  .byte  15,41,108,36,32                     // movaps        %xmm5,0x20(%esp)
59916  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59917  .byte  137,116,36,12                       // mov           %esi,0xc(%esp)
59918  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
59919  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59920  .byte  137,4,36                            // mov           %eax,(%esp)
59921  .byte  255,82,4                            // call          *0x4(%edx)
59922  .byte  131,196,108                         // add           $0x6c,%esp
59923  .byte  94                                  // pop           %esi
59924  .byte  95                                  // pop           %edi
59925  .byte  91                                  // pop           %ebx
59926  .byte  93                                  // pop           %ebp
59927  .byte  195                                 // ret
59928
59929HIDDEN _sk_bicubic_p3y_sse2
59930.globl _sk_bicubic_p3y_sse2
59931FUNCTION(_sk_bicubic_p3y_sse2)
59932_sk_bicubic_p3y_sse2:
59933  .byte  85                                  // push          %ebp
59934  .byte  137,229                             // mov           %esp,%ebp
59935  .byte  83                                  // push          %ebx
59936  .byte  87                                  // push          %edi
59937  .byte  86                                  // push          %esi
59938  .byte  131,236,108                         // sub           $0x6c,%esp
59939  .byte  232,0,0,0,0                         // call          90cb <_sk_bicubic_p3y_sse2+0xe>
59940  .byte  89                                  // pop           %ecx
59941  .byte  139,69,8                            // mov           0x8(%ebp),%eax
59942  .byte  139,85,16                           // mov           0x10(%ebp),%edx
59943  .byte  139,117,12                          // mov           0xc(%ebp),%esi
59944  .byte  139,62                              // mov           (%esi),%edi
59945  .byte  15,16,79,32                         // movups        0x20(%edi),%xmm1
59946  .byte  15,16,103,96                        // movups        0x60(%edi),%xmm4
59947  .byte  15,88,137,133,22,0,0                // addps         0x1685(%ecx),%xmm1
59948  .byte  15,40,236                           // movaps        %xmm4,%xmm5
59949  .byte  15,89,161,149,22,0,0                // mulps         0x1695(%ecx),%xmm4
59950  .byte  15,88,161,165,22,0,0                // addps         0x16a5(%ecx),%xmm4
59951  .byte  139,77,20                           // mov           0x14(%ebp),%ecx
59952  .byte  15,89,237                           // mulps         %xmm5,%xmm5
59953  .byte  15,89,229                           // mulps         %xmm5,%xmm4
59954  .byte  15,17,167,160,0,0,0                 // movups        %xmm4,0xa0(%edi)
59955  .byte  139,125,24                          // mov           0x18(%ebp),%edi
59956  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
59957  .byte  15,40,109,56                        // movaps        0x38(%ebp),%xmm5
59958  .byte  15,40,117,72                        // movaps        0x48(%ebp),%xmm6
59959  .byte  15,40,125,88                        // movaps        0x58(%ebp),%xmm7
59960  .byte  141,94,8                            // lea           0x8(%esi),%ebx
59961  .byte  15,41,124,36,80                     // movaps        %xmm7,0x50(%esp)
59962  .byte  15,41,116,36,64                     // movaps        %xmm6,0x40(%esp)
59963  .byte  15,41,108,36,48                     // movaps        %xmm5,0x30(%esp)
59964  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
59965  .byte  137,124,36,16                       // mov           %edi,0x10(%esp)
59966  .byte  137,76,36,12                        // mov           %ecx,0xc(%esp)
59967  .byte  137,84,36,8                         // mov           %edx,0x8(%esp)
59968  .byte  137,92,36,4                         // mov           %ebx,0x4(%esp)
59969  .byte  137,4,36                            // mov           %eax,(%esp)
59970  .byte  255,86,4                            // call          *0x4(%esi)
59971  .byte  131,196,108                         // add           $0x6c,%esp
59972  .byte  94                                  // pop           %esi
59973  .byte  95                                  // pop           %edi
59974  .byte  91                                  // pop           %ebx
59975  .byte  93                                  // pop           %ebp
59976  .byte  195                                 // ret
59977
59978HIDDEN _sk_callback_sse2
59979.globl _sk_callback_sse2
59980FUNCTION(_sk_callback_sse2)
59981_sk_callback_sse2:
59982  .byte  85                                  // push          %ebp
59983  .byte  137,229                             // mov           %esp,%ebp
59984  .byte  83                                  // push          %ebx
59985  .byte  87                                  // push          %edi
59986  .byte  86                                  // push          %esi
59987  .byte  131,236,108                         // sub           $0x6c,%esp
59988  .byte  15,40,224                           // movaps        %xmm0,%xmm4
59989  .byte  15,20,225                           // unpcklps      %xmm1,%xmm4
59990  .byte  15,21,193                           // unpckhps      %xmm1,%xmm0
59991  .byte  15,40,202                           // movaps        %xmm2,%xmm1
59992  .byte  15,20,203                           // unpcklps      %xmm3,%xmm1
59993  .byte  15,21,211                           // unpckhps      %xmm3,%xmm2
59994  .byte  15,40,220                           // movaps        %xmm4,%xmm3
59995  .byte  102,15,20,217                       // unpcklpd      %xmm1,%xmm3
59996  .byte  15,18,204                           // movhlps       %xmm4,%xmm1
59997  .byte  139,117,12                          // mov           0xc(%ebp),%esi
59998  .byte  139,62                              // mov           (%esi),%edi
59999  .byte  102,15,17,95,4                      // movupd        %xmm3,0x4(%edi)
60000  .byte  15,40,216                           // movaps        %xmm0,%xmm3
60001  .byte  102,15,20,218                       // unpcklpd      %xmm2,%xmm3
60002  .byte  15,18,208                           // movhlps       %xmm0,%xmm2
60003  .byte  15,17,79,20                         // movups        %xmm1,0x14(%edi)
60004  .byte  102,15,17,95,36                     // movupd        %xmm3,0x24(%edi)
60005  .byte  15,17,87,52                         // movups        %xmm2,0x34(%edi)
60006  .byte  139,93,24                           // mov           0x18(%ebp),%ebx
60007  .byte  133,219                             // test          %ebx,%ebx
60008  .byte  184,4,0,0,0                         // mov           $0x4,%eax
60009  .byte  15,69,195                           // cmovne        %ebx,%eax
60010  .byte  137,68,36,4                         // mov           %eax,0x4(%esp)
60011  .byte  137,60,36                           // mov           %edi,(%esp)
60012  .byte  255,23                              // call          *(%edi)
60013  .byte  139,135,132,0,0,0                   // mov           0x84(%edi),%eax
60014  .byte  15,16,32                            // movups        (%eax),%xmm4
60015  .byte  15,16,64,16                         // movups        0x10(%eax),%xmm0
60016  .byte  15,16,88,32                         // movups        0x20(%eax),%xmm3
60017  .byte  15,16,80,48                         // movups        0x30(%eax),%xmm2
60018  .byte  15,40,236                           // movaps        %xmm4,%xmm5
60019  .byte  15,20,232                           // unpcklps      %xmm0,%xmm5
60020  .byte  15,40,203                           // movaps        %xmm3,%xmm1
60021  .byte  15,20,202                           // unpcklps      %xmm2,%xmm1
60022  .byte  15,21,224                           // unpckhps      %xmm0,%xmm4
60023  .byte  15,21,218                           // unpckhps      %xmm2,%xmm3
60024  .byte  15,40,197                           // movaps        %xmm5,%xmm0
60025  .byte  102,15,20,193                       // unpcklpd      %xmm1,%xmm0
60026  .byte  15,18,205                           // movhlps       %xmm5,%xmm1
60027  .byte  15,40,212                           // movaps        %xmm4,%xmm2
60028  .byte  102,15,20,211                       // unpcklpd      %xmm3,%xmm2
60029  .byte  15,18,220                           // movhlps       %xmm4,%xmm3
60030  .byte  141,70,8                            // lea           0x8(%esi),%eax
60031  .byte  15,40,101,88                        // movaps        0x58(%ebp),%xmm4
60032  .byte  15,41,100,36,80                     // movaps        %xmm4,0x50(%esp)
60033  .byte  15,40,101,72                        // movaps        0x48(%ebp),%xmm4
60034  .byte  15,41,100,36,64                     // movaps        %xmm4,0x40(%esp)
60035  .byte  15,40,101,56                        // movaps        0x38(%ebp),%xmm4
60036  .byte  15,41,100,36,48                     // movaps        %xmm4,0x30(%esp)
60037  .byte  15,40,101,40                        // movaps        0x28(%ebp),%xmm4
60038  .byte  15,41,100,36,32                     // movaps        %xmm4,0x20(%esp)
60039  .byte  137,92,36,16                        // mov           %ebx,0x10(%esp)
60040  .byte  139,77,20                           // mov           0x14(%ebp),%ecx
60041  .byte  137,76,36,12                        // mov           %ecx,0xc(%esp)
60042  .byte  139,77,16                           // mov           0x10(%ebp),%ecx
60043  .byte  137,76,36,8                         // mov           %ecx,0x8(%esp)
60044  .byte  137,68,36,4                         // mov           %eax,0x4(%esp)
60045  .byte  139,69,8                            // mov           0x8(%ebp),%eax
60046  .byte  137,4,36                            // mov           %eax,(%esp)
60047  .byte  255,86,4                            // call          *0x4(%esi)
60048  .byte  131,196,108                         // add           $0x6c,%esp
60049  .byte  94                                  // pop           %esi
60050  .byte  95                                  // pop           %edi
60051  .byte  91                                  // pop           %ebx
60052  .byte  93                                  // pop           %ebp
60053  .byte  195                                 // ret
60054
60055BALIGN16
60056  .byte  0,0                                 // add           %al,(%eax)
60057  .byte  0,63                                // add           %bh,(%edi)
60058  .byte  0,0                                 // add           %al,(%eax)
60059  .byte  0,63                                // add           %bh,(%edi)
60060  .byte  0,0                                 // add           %al,(%eax)
60061  .byte  0,63                                // add           %bh,(%edi)
60062  .byte  0,0                                 // add           %al,(%eax)
60063  .byte  0,63                                // add           %bh,(%edi)
60064  .byte  0,0                                 // add           %al,(%eax)
60065  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60066  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60067  .byte  63                                  // aas
60068  .byte  0,0                                 // add           %al,(%eax)
60069  .byte  128,63,1                            // cmpb          $0x1,(%edi)
60070  .byte  0,0                                 // add           %al,(%eax)
60071  .byte  0,1                                 // add           %al,(%ecx)
60072  .byte  0,0                                 // add           %al,(%eax)
60073  .byte  0,1                                 // add           %al,(%ecx)
60074  .byte  0,0                                 // add           %al,(%eax)
60075  .byte  0,1                                 // add           %al,(%ecx)
60076  .byte  0,0                                 // add           %al,(%eax)
60077  .byte  0,4,0                               // add           %al,(%eax,%eax,1)
60078  .byte  0,0                                 // add           %al,(%eax)
60079  .byte  4,0                                 // add           $0x0,%al
60080  .byte  0,0                                 // add           %al,(%eax)
60081  .byte  4,0                                 // add           $0x0,%al
60082  .byte  0,0                                 // add           %al,(%eax)
60083  .byte  4,0                                 // add           $0x0,%al
60084  .byte  0,0                                 // add           %al,(%eax)
60085  .byte  2,0                                 // add           (%eax),%al
60086  .byte  0,0                                 // add           %al,(%eax)
60087  .byte  2,0                                 // add           (%eax),%al
60088  .byte  0,0                                 // add           %al,(%eax)
60089  .byte  2,0                                 // add           (%eax),%al
60090  .byte  0,0                                 // add           %al,(%eax)
60091  .byte  2,0                                 // add           (%eax),%al
60092  .byte  0,0                                 // add           %al,(%eax)
60093  .byte  0,0                                 // add           %al,(%eax)
60094  .byte  128,60,0,0                          // cmpb          $0x0,(%eax,%eax,1)
60095  .byte  128,60,0,0                          // cmpb          $0x0,(%eax,%eax,1)
60096  .byte  128,60,0,0                          // cmpb          $0x0,(%eax,%eax,1)
60097  .byte  128,60,0,0                          // cmpb          $0x0,(%eax,%eax,1)
60098  .byte  252                                 // cld
60099  .byte  190,0,0,252,190                     // mov           $0xbefc0000,%esi
60100  .byte  0,0                                 // add           %al,(%eax)
60101  .byte  252                                 // cld
60102  .byte  190,0,0,252,190                     // mov           $0xbefc0000,%esi
60103  .byte  0,0                                 // add           %al,(%eax)
60104  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60105  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60106  .byte  63                                  // aas
60107  .byte  0,0                                 // add           %al,(%eax)
60108  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60109  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60110  .byte  63                                  // aas
60111  .byte  0,0                                 // add           %al,(%eax)
60112  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60113  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60114  .byte  63                                  // aas
60115  .byte  0,0                                 // add           %al,(%eax)
60116  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60117  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60118  .byte  63                                  // aas
60119  .byte  0,0                                 // add           %al,(%eax)
60120  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60121  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60122  .byte  63                                  // aas
60123  .byte  0,0                                 // add           %al,(%eax)
60124  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60125  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60126  .byte  63                                  // aas
60127  .byte  0,0                                 // add           %al,(%eax)
60128  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60129  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60130  .byte  63                                  // aas
60131  .byte  0,0                                 // add           %al,(%eax)
60132  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60133  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60134  .byte  63                                  // aas
60135  .byte  0,0                                 // add           %al,(%eax)
60136  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60137  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60138  .byte  63                                  // aas
60139  .byte  0,0                                 // add           %al,(%eax)
60140  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60141  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60142  .byte  63                                  // aas
60143  .byte  0,0                                 // add           %al,(%eax)
60144  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60145  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60146  .byte  63                                  // aas
60147  .byte  0,0                                 // add           %al,(%eax)
60148  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60149  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60150  .byte  63                                  // aas
60151  .byte  0,0                                 // add           %al,(%eax)
60152  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60153  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60154  .byte  63                                  // aas
60155  .byte  0,0                                 // add           %al,(%eax)
60156  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60157  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60158  .byte  63                                  // aas
60159  .byte  0,0                                 // add           %al,(%eax)
60160  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60161  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60162  .byte  63                                  // aas
60163  .byte  0,0                                 // add           %al,(%eax)
60164  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60165  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60166  .byte  63                                  // aas
60167  .byte  0,0                                 // add           %al,(%eax)
60168  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60169  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60170  .byte  63                                  // aas
60171  .byte  0,0                                 // add           %al,(%eax)
60172  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60173  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60174  .byte  63                                  // aas
60175  .byte  0,0                                 // add           %al,(%eax)
60176  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60177  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60178  .byte  63                                  // aas
60179  .byte  0,0                                 // add           %al,(%eax)
60180  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60181  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60182  .byte  63                                  // aas
60183  .byte  0,0                                 // add           %al,(%eax)
60184  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60185  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60186  .byte  63                                  // aas
60187  .byte  0,0                                 // add           %al,(%eax)
60188  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60189  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60190  .byte  63                                  // aas
60191  .byte  0,0                                 // add           %al,(%eax)
60192  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60193  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60194  .byte  63                                  // aas
60195  .byte  0,0                                 // add           %al,(%eax)
60196  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60197  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60198  .byte  63                                  // aas
60199  .byte  0,0                                 // add           %al,(%eax)
60200  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60201  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60202  .byte  63                                  // aas
60203  .byte  0,0                                 // add           %al,(%eax)
60204  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60205  .byte  0,128,191,0,0,128                   // add           %al,-0x7fffff41(%eax)
60206  .byte  191,0,0,128,191                     // mov           $0xbf800000,%edi
60207  .byte  0,0                                 // add           %al,(%eax)
60208  .byte  128,191,0,0,224,64,0                // cmpb          $0x0,0x40e00000(%edi)
60209  .byte  0,224                               // add           %ah,%al
60210  .byte  64                                  // inc           %eax
60211  .byte  0,0                                 // add           %al,(%eax)
60212  .byte  224,64                              // loopne        943c <.literal16+0x1fc>
60213  .byte  0,0                                 // add           %al,(%eax)
60214  .byte  224,64                              // loopne        9440 <.literal16+0x200>
60215  .byte  154,153,153,62,154,153,153          // lcall         $0x9999,$0x9a3e9999
60216  .byte  62,154,153,153,62,154,153,153       // ds            lcall $0x9999,$0x9a3e9999
60217  .byte  62,61,10,23,63,61                   // ds            cmp $0x3d3f170a,%eax
60218  .byte  10,23                               // or            (%edi),%dl
60219  .byte  63                                  // aas
60220  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
60221  .byte  10,23                               // or            (%edi),%dl
60222  .byte  63                                  // aas
60223  .byte  174                                 // scas          %es:(%edi),%al
60224  .byte  71                                  // inc           %edi
60225  .byte  225,61                              // loope         9461 <.literal16+0x221>
60226  .byte  174                                 // scas          %es:(%edi),%al
60227  .byte  71                                  // inc           %edi
60228  .byte  225,61                              // loope         9465 <.literal16+0x225>
60229  .byte  174                                 // scas          %es:(%edi),%al
60230  .byte  71                                  // inc           %edi
60231  .byte  225,61                              // loope         9469 <.literal16+0x229>
60232  .byte  174                                 // scas          %es:(%edi),%al
60233  .byte  71                                  // inc           %edi
60234  .byte  225,61                              // loope         946d <.literal16+0x22d>
60235  .byte  0,0                                 // add           %al,(%eax)
60236  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60237  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60238  .byte  63                                  // aas
60239  .byte  0,0                                 // add           %al,(%eax)
60240  .byte  128,63,154                          // cmpb          $0x9a,(%edi)
60241  .byte  153                                 // cltd
60242  .byte  153                                 // cltd
60243  .byte  62,154,153,153,62,154,153,153       // ds            lcall $0x9999,$0x9a3e9999
60244  .byte  62,154,153,153,62,61,10,23          // ds            lcall $0x170a,$0x3d3e9999
60245  .byte  63                                  // aas
60246  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
60247  .byte  10,23                               // or            (%edi),%dl
60248  .byte  63                                  // aas
60249  .byte  61,10,23,63,174                     // cmp           $0xae3f170a,%eax
60250  .byte  71                                  // inc           %edi
60251  .byte  225,61                              // loope         94a1 <.literal16+0x261>
60252  .byte  174                                 // scas          %es:(%edi),%al
60253  .byte  71                                  // inc           %edi
60254  .byte  225,61                              // loope         94a5 <.literal16+0x265>
60255  .byte  174                                 // scas          %es:(%edi),%al
60256  .byte  71                                  // inc           %edi
60257  .byte  225,61                              // loope         94a9 <.literal16+0x269>
60258  .byte  174                                 // scas          %es:(%edi),%al
60259  .byte  71                                  // inc           %edi
60260  .byte  225,61                              // loope         94ad <.literal16+0x26d>
60261  .byte  0,0                                 // add           %al,(%eax)
60262  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60263  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60264  .byte  63                                  // aas
60265  .byte  0,0                                 // add           %al,(%eax)
60266  .byte  128,63,154                          // cmpb          $0x9a,(%edi)
60267  .byte  153                                 // cltd
60268  .byte  153                                 // cltd
60269  .byte  62,154,153,153,62,154,153,153       // ds            lcall $0x9999,$0x9a3e9999
60270  .byte  62,154,153,153,62,61,10,23          // ds            lcall $0x170a,$0x3d3e9999
60271  .byte  63                                  // aas
60272  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
60273  .byte  10,23                               // or            (%edi),%dl
60274  .byte  63                                  // aas
60275  .byte  61,10,23,63,174                     // cmp           $0xae3f170a,%eax
60276  .byte  71                                  // inc           %edi
60277  .byte  225,61                              // loope         94e1 <.literal16+0x2a1>
60278  .byte  174                                 // scas          %es:(%edi),%al
60279  .byte  71                                  // inc           %edi
60280  .byte  225,61                              // loope         94e5 <.literal16+0x2a5>
60281  .byte  174                                 // scas          %es:(%edi),%al
60282  .byte  71                                  // inc           %edi
60283  .byte  225,61                              // loope         94e9 <.literal16+0x2a9>
60284  .byte  174                                 // scas          %es:(%edi),%al
60285  .byte  71                                  // inc           %edi
60286  .byte  225,61                              // loope         94ed <.literal16+0x2ad>
60287  .byte  0,0                                 // add           %al,(%eax)
60288  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60289  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60290  .byte  63                                  // aas
60291  .byte  0,0                                 // add           %al,(%eax)
60292  .byte  128,63,154                          // cmpb          $0x9a,(%edi)
60293  .byte  153                                 // cltd
60294  .byte  153                                 // cltd
60295  .byte  62,154,153,153,62,154,153,153       // ds            lcall $0x9999,$0x9a3e9999
60296  .byte  62,154,153,153,62,61,10,23          // ds            lcall $0x170a,$0x3d3e9999
60297  .byte  63                                  // aas
60298  .byte  61,10,23,63,61                      // cmp           $0x3d3f170a,%eax
60299  .byte  10,23                               // or            (%edi),%dl
60300  .byte  63                                  // aas
60301  .byte  61,10,23,63,174                     // cmp           $0xae3f170a,%eax
60302  .byte  71                                  // inc           %edi
60303  .byte  225,61                              // loope         9521 <.literal16+0x2e1>
60304  .byte  174                                 // scas          %es:(%edi),%al
60305  .byte  71                                  // inc           %edi
60306  .byte  225,61                              // loope         9525 <.literal16+0x2e5>
60307  .byte  174                                 // scas          %es:(%edi),%al
60308  .byte  71                                  // inc           %edi
60309  .byte  225,61                              // loope         9529 <.literal16+0x2e9>
60310  .byte  174                                 // scas          %es:(%edi),%al
60311  .byte  71                                  // inc           %edi
60312  .byte  225,61                              // loope         952d <.literal16+0x2ed>
60313  .byte  0,0                                 // add           %al,(%eax)
60314  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60315  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60316  .byte  63                                  // aas
60317  .byte  0,0                                 // add           %al,(%eax)
60318  .byte  128,63,255                          // cmpb          $0xff,(%edi)
60319  .byte  0,0                                 // add           %al,(%eax)
60320  .byte  0,255                               // add           %bh,%bh
60321  .byte  0,0                                 // add           %al,(%eax)
60322  .byte  0,255                               // add           %bh,%bh
60323  .byte  0,0                                 // add           %al,(%eax)
60324  .byte  0,255                               // add           %bh,%bh
60325  .byte  0,0                                 // add           %al,(%eax)
60326  .byte  0,0                                 // add           %al,(%eax)
60327  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60328  .byte  63                                  // aas
60329  .byte  0,0                                 // add           %al,(%eax)
60330  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60331  .byte  0,128,63,0,0,127                    // add           %al,0x7f00003f(%eax)
60332  .byte  67                                  // inc           %ebx
60333  .byte  0,0                                 // add           %al,(%eax)
60334  .byte  127,67                              // jg            956b <.literal16+0x32b>
60335  .byte  0,0                                 // add           %al,(%eax)
60336  .byte  127,67                              // jg            956f <.literal16+0x32f>
60337  .byte  0,0                                 // add           %al,(%eax)
60338  .byte  127,67                              // jg            9573 <.literal16+0x333>
60339  .byte  0,0                                 // add           %al,(%eax)
60340  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60341  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60342  .byte  63                                  // aas
60343  .byte  0,0                                 // add           %al,(%eax)
60344  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60345  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60346  .byte  63                                  // aas
60347  .byte  0,0                                 // add           %al,(%eax)
60348  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60349  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60350  .byte  63                                  // aas
60351  .byte  0,0                                 // add           %al,(%eax)
60352  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60353  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60354  .byte  63                                  // aas
60355  .byte  0,0                                 // add           %al,(%eax)
60356  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60357  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60358  .byte  63                                  // aas
60359  .byte  0,0                                 // add           %al,(%eax)
60360  .byte  128,63,145                          // cmpb          $0x91,(%edi)
60361  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%esi)
60362  .byte  145                                 // xchg          %eax,%ecx
60363  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%esi)
60364  .byte  154,153,153,62,154,153,153          // lcall         $0x9999,$0x9a3e9999
60365  .byte  62,154,153,153,62,154,153,153       // ds            lcall $0x9999,$0x9a3e9999
60366  .byte  62,92                               // ds            pop %esp
60367  .byte  143                                 // (bad)
60368  .byte  50,63                               // xor           (%edi),%bh
60369  .byte  92                                  // pop           %esp
60370  .byte  143                                 // (bad)
60371  .byte  50,63                               // xor           (%edi),%bh
60372  .byte  92                                  // pop           %esp
60373  .byte  143                                 // (bad)
60374  .byte  50,63                               // xor           (%edi),%bh
60375  .byte  92                                  // pop           %esp
60376  .byte  143                                 // (bad)
60377  .byte  50,63                               // xor           (%edi),%bh
60378  .byte  10,215                              // or            %bh,%dl
60379  .byte  35,59                               // and           (%ebx),%edi
60380  .byte  10,215                              // or            %bh,%dl
60381  .byte  35,59                               // and           (%ebx),%edi
60382  .byte  10,215                              // or            %bh,%dl
60383  .byte  35,59                               // and           (%ebx),%edi
60384  .byte  10,215                              // or            %bh,%dl
60385  .byte  35,59                               // and           (%ebx),%edi
60386  .byte  174                                 // scas          %es:(%edi),%al
60387  .byte  71                                  // inc           %edi
60388  .byte  97                                  // popa
60389  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
60390  .byte  174                                 // scas          %es:(%edi),%al
60391  .byte  71                                  // inc           %edi
60392  .byte  97                                  // popa
60393  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
60394  .byte  145                                 // xchg          %eax,%ecx
60395  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%esi)
60396  .byte  145                                 // xchg          %eax,%ecx
60397  .byte  131,158,61,145,131,158,61           // sbbl          $0x3d,-0x617c6ec3(%esi)
60398  .byte  154,153,153,62,154,153,153          // lcall         $0x9999,$0x9a3e9999
60399  .byte  62,154,153,153,62,154,153,153       // ds            lcall $0x9999,$0x9a3e9999
60400  .byte  62,92                               // ds            pop %esp
60401  .byte  143                                 // (bad)
60402  .byte  50,63                               // xor           (%edi),%bh
60403  .byte  92                                  // pop           %esp
60404  .byte  143                                 // (bad)
60405  .byte  50,63                               // xor           (%edi),%bh
60406  .byte  92                                  // pop           %esp
60407  .byte  143                                 // (bad)
60408  .byte  50,63                               // xor           (%edi),%bh
60409  .byte  92                                  // pop           %esp
60410  .byte  143                                 // (bad)
60411  .byte  50,63                               // xor           (%edi),%bh
60412  .byte  10,215                              // or            %bh,%dl
60413  .byte  35,59                               // and           (%ebx),%edi
60414  .byte  10,215                              // or            %bh,%dl
60415  .byte  35,59                               // and           (%ebx),%edi
60416  .byte  10,215                              // or            %bh,%dl
60417  .byte  35,59                               // and           (%ebx),%edi
60418  .byte  10,215                              // or            %bh,%dl
60419  .byte  35,59                               // and           (%ebx),%edi
60420  .byte  174                                 // scas          %es:(%edi),%al
60421  .byte  71                                  // inc           %edi
60422  .byte  97                                  // popa
60423  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
60424  .byte  174                                 // scas          %es:(%edi),%al
60425  .byte  71                                  // inc           %edi
60426  .byte  97                                  // popa
60427  .byte  61,174,71,97,61                     // cmp           $0x3d6147ae,%eax
60428  .byte  82                                  // push          %edx
60429  .byte  184,78,65,82,184                    // mov           $0xb852414e,%eax
60430  .byte  78                                  // dec           %esi
60431  .byte  65                                  // inc           %ecx
60432  .byte  82                                  // push          %edx
60433  .byte  184,78,65,82,184                    // mov           $0xb852414e,%eax
60434  .byte  78                                  // dec           %esi
60435  .byte  65                                  // inc           %ecx
60436  .byte  57,215                              // cmp           %edx,%edi
60437  .byte  32,187,57,215,32,187                // and           %bh,-0x44df28c7(%ebx)
60438  .byte  57,215                              // cmp           %edx,%edi
60439  .byte  32,187,57,215,32,187                // and           %bh,-0x44df28c7(%ebx)
60440  .byte  186,159,98,60,186                   // mov           $0xba3c629f,%edx
60441  .byte  159                                 // lahf
60442  .byte  98,60,186                           // bound         %edi,(%edx,%edi,4)
60443  .byte  159                                 // lahf
60444  .byte  98,60,186                           // bound         %edi,(%edx,%edi,4)
60445  .byte  159                                 // lahf
60446  .byte  98,60,109,165,144,63,109            // bound         %edi,0x6d3f90a5(,%ebp,2)
60447  .byte  165                                 // movsl         %ds:(%esi),%es:(%edi)
60448  .byte  144                                 // nop
60449  .byte  63                                  // aas
60450  .byte  109                                 // insl          (%dx),%es:(%edi)
60451  .byte  165                                 // movsl         %ds:(%esi),%es:(%edi)
60452  .byte  144                                 // nop
60453  .byte  63                                  // aas
60454  .byte  109                                 // insl          (%dx),%es:(%edi)
60455  .byte  165                                 // movsl         %ds:(%esi),%es:(%edi)
60456  .byte  144                                 // nop
60457  .byte  63                                  // aas
60458  .byte  252                                 // cld
60459  .byte  191,16,62,252,191                   // mov           $0xbffc3e10,%edi
60460  .byte  16,62                               // adc           %bh,(%esi)
60461  .byte  252                                 // cld
60462  .byte  191,16,62,252,191                   // mov           $0xbffc3e10,%edi
60463  .byte  16,62                               // adc           %bh,(%esi)
60464  .byte  168,177                             // test          $0xb1,%al
60465  .byte  152                                 // cwtl
60466  .byte  59,168,177,152,59,168               // cmp           -0x57c4674f(%eax),%ebp
60467  .byte  177,152                             // mov           $0x98,%cl
60468  .byte  59,168,177,152,59,0                 // cmp           0x3b98b1(%eax),%ebp
60469  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60470  .byte  63                                  // aas
60471  .byte  0,0                                 // add           %al,(%eax)
60472  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60473  .byte  0,128,63,0,0,192                    // add           %al,-0x3fffffc1(%eax)
60474  .byte  64                                  // inc           %eax
60475  .byte  0,0                                 // add           %al,(%eax)
60476  .byte  192,64,0,0                          // rolb          $0x0,0x0(%eax)
60477  .byte  192,64,0,0                          // rolb          $0x0,0x0(%eax)
60478  .byte  192,64,0,0                          // rolb          $0x0,0x0(%eax)
60479  .byte  0,64,0                              // add           %al,0x0(%eax)
60480  .byte  0,0                                 // add           %al,(%eax)
60481  .byte  64                                  // inc           %eax
60482  .byte  0,0                                 // add           %al,(%eax)
60483  .byte  0,64,0                              // add           %al,0x0(%eax)
60484  .byte  0,0                                 // add           %al,(%eax)
60485  .byte  64                                  // inc           %eax
60486  .byte  0,0                                 // add           %al,(%eax)
60487  .byte  128,64,0,0                          // addb          $0x0,0x0(%eax)
60488  .byte  128,64,0,0                          // addb          $0x0,0x0(%eax)
60489  .byte  128,64,0,0                          // addb          $0x0,0x0(%eax)
60490  .byte  128,64,171,170                      // addb          $0xaa,-0x55(%eax)
60491  .byte  42,62                               // sub           (%esi),%bh
60492  .byte  171                                 // stos          %eax,%es:(%edi)
60493  .byte  170                                 // stos          %al,%es:(%edi)
60494  .byte  42,62                               // sub           (%esi),%bh
60495  .byte  171                                 // stos          %eax,%es:(%edi)
60496  .byte  170                                 // stos          %al,%es:(%edi)
60497  .byte  42,62                               // sub           (%esi),%bh
60498  .byte  171                                 // stos          %eax,%es:(%edi)
60499  .byte  170                                 // stos          %al,%es:(%edi)
60500  .byte  42,62                               // sub           (%esi),%bh
60501  .byte  0,0                                 // add           %al,(%eax)
60502  .byte  0,63                                // add           %bh,(%edi)
60503  .byte  0,0                                 // add           %al,(%eax)
60504  .byte  0,63                                // add           %bh,(%edi)
60505  .byte  0,0                                 // add           %al,(%eax)
60506  .byte  0,63                                // add           %bh,(%edi)
60507  .byte  0,0                                 // add           %al,(%eax)
60508  .byte  0,63                                // add           %bh,(%edi)
60509  .byte  0,0                                 // add           %al,(%eax)
60510  .byte  0,63                                // add           %bh,(%edi)
60511  .byte  0,0                                 // add           %al,(%eax)
60512  .byte  0,63                                // add           %bh,(%edi)
60513  .byte  0,0                                 // add           %al,(%eax)
60514  .byte  0,63                                // add           %bh,(%edi)
60515  .byte  0,0                                 // add           %al,(%eax)
60516  .byte  0,63                                // add           %bh,(%edi)
60517  .byte  171                                 // stos          %eax,%es:(%edi)
60518  .byte  170                                 // stos          %al,%es:(%edi)
60519  .byte  170                                 // stos          %al,%es:(%edi)
60520  .byte  62,171                              // ds            stos %eax,%es:(%edi)
60521  .byte  170                                 // stos          %al,%es:(%edi)
60522  .byte  170                                 // stos          %al,%es:(%edi)
60523  .byte  62,171                              // ds            stos %eax,%es:(%edi)
60524  .byte  170                                 // stos          %al,%es:(%edi)
60525  .byte  170                                 // stos          %al,%es:(%edi)
60526  .byte  62,171                              // ds            stos %eax,%es:(%edi)
60527  .byte  170                                 // stos          %al,%es:(%edi)
60528  .byte  170                                 // stos          %al,%es:(%edi)
60529  .byte  62,0,0                              // add           %al,%ds:(%eax)
60530  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60531  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60532  .byte  63                                  // aas
60533  .byte  0,0                                 // add           %al,(%eax)
60534  .byte  128,63,171                          // cmpb          $0xab,(%edi)
60535  .byte  170                                 // stos          %al,%es:(%edi)
60536  .byte  42,63                               // sub           (%edi),%bh
60537  .byte  171                                 // stos          %eax,%es:(%edi)
60538  .byte  170                                 // stos          %al,%es:(%edi)
60539  .byte  42,63                               // sub           (%edi),%bh
60540  .byte  171                                 // stos          %eax,%es:(%edi)
60541  .byte  170                                 // stos          %al,%es:(%edi)
60542  .byte  42,63                               // sub           (%edi),%bh
60543  .byte  171                                 // stos          %eax,%es:(%edi)
60544  .byte  170                                 // stos          %al,%es:(%edi)
60545  .byte  42,63                               // sub           (%edi),%bh
60546  .byte  0,0                                 // add           %al,(%eax)
60547  .byte  192,64,0,0                          // rolb          $0x0,0x0(%eax)
60548  .byte  192,64,0,0                          // rolb          $0x0,0x0(%eax)
60549  .byte  192,64,0,0                          // rolb          $0x0,0x0(%eax)
60550  .byte  192,64,0,0                          // rolb          $0x0,0x0(%eax)
60551  .byte  128,64,0,0                          // addb          $0x0,0x0(%eax)
60552  .byte  128,64,0,0                          // addb          $0x0,0x0(%eax)
60553  .byte  128,64,0,0                          // addb          $0x0,0x0(%eax)
60554  .byte  128,64,171,170                      // addb          $0xaa,-0x55(%eax)
60555  .byte  42,62                               // sub           (%esi),%bh
60556  .byte  171                                 // stos          %eax,%es:(%edi)
60557  .byte  170                                 // stos          %al,%es:(%edi)
60558  .byte  42,62                               // sub           (%esi),%bh
60559  .byte  171                                 // stos          %eax,%es:(%edi)
60560  .byte  170                                 // stos          %al,%es:(%edi)
60561  .byte  42,62                               // sub           (%esi),%bh
60562  .byte  171                                 // stos          %eax,%es:(%edi)
60563  .byte  170                                 // stos          %al,%es:(%edi)
60564  .byte  42,62                               // sub           (%esi),%bh
60565  .byte  171                                 // stos          %eax,%es:(%edi)
60566  .byte  170                                 // stos          %al,%es:(%edi)
60567  .byte  170                                 // stos          %al,%es:(%edi)
60568  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
60569  .byte  171                                 // stos          %eax,%es:(%edi)
60570  .byte  170                                 // stos          %al,%es:(%edi)
60571  .byte  170                                 // stos          %al,%es:(%edi)
60572  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
60573  .byte  255,0                               // incl          (%eax)
60574  .byte  0,0                                 // add           %al,(%eax)
60575  .byte  255,0                               // incl          (%eax)
60576  .byte  0,0                                 // add           %al,(%eax)
60577  .byte  255,0                               // incl          (%eax)
60578  .byte  0,0                                 // add           %al,(%eax)
60579  .byte  255,0                               // incl          (%eax)
60580  .byte  0,0                                 // add           %al,(%eax)
60581  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
60582  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
60583  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%eax)
60584  .byte  255,0                               // incl          (%eax)
60585  .byte  0,0                                 // add           %al,(%eax)
60586  .byte  255,0                               // incl          (%eax)
60587  .byte  0,0                                 // add           %al,(%eax)
60588  .byte  255,0                               // incl          (%eax)
60589  .byte  0,0                                 // add           %al,(%eax)
60590  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
60591  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
60592  .byte  128,128,59,0,248,0,0                // addb          $0x0,0xf8003b(%eax)
60593  .byte  0,248                               // add           %bh,%al
60594  .byte  0,0                                 // add           %al,(%eax)
60595  .byte  0,248                               // add           %bh,%al
60596  .byte  0,0                                 // add           %al,(%eax)
60597  .byte  0,248                               // add           %bh,%al
60598  .byte  0,0                                 // add           %al,(%eax)
60599  .byte  8,33                                // or            %ah,(%ecx)
60600  .byte  132,55                              // test          %dh,(%edi)
60601  .byte  8,33                                // or            %ah,(%ecx)
60602  .byte  132,55                              // test          %dh,(%edi)
60603  .byte  8,33                                // or            %ah,(%ecx)
60604  .byte  132,55                              // test          %dh,(%edi)
60605  .byte  8,33                                // or            %ah,(%ecx)
60606  .byte  132,55                              // test          %dh,(%edi)
60607  .byte  224,7                               // loopne        97b9 <.literal16+0x579>
60608  .byte  0,0                                 // add           %al,(%eax)
60609  .byte  224,7                               // loopne        97bd <.literal16+0x57d>
60610  .byte  0,0                                 // add           %al,(%eax)
60611  .byte  224,7                               // loopne        97c1 <.literal16+0x581>
60612  .byte  0,0                                 // add           %al,(%eax)
60613  .byte  224,7                               // loopne        97c5 <.literal16+0x585>
60614  .byte  0,0                                 // add           %al,(%eax)
60615  .byte  33,8                                // and           %ecx,(%eax)
60616  .byte  2,58                                // add           (%edx),%bh
60617  .byte  33,8                                // and           %ecx,(%eax)
60618  .byte  2,58                                // add           (%edx),%bh
60619  .byte  33,8                                // and           %ecx,(%eax)
60620  .byte  2,58                                // add           (%edx),%bh
60621  .byte  33,8                                // and           %ecx,(%eax)
60622  .byte  2,58                                // add           (%edx),%bh
60623  .byte  31                                  // pop           %ds
60624  .byte  0,0                                 // add           %al,(%eax)
60625  .byte  0,31                                // add           %bl,(%edi)
60626  .byte  0,0                                 // add           %al,(%eax)
60627  .byte  0,31                                // add           %bl,(%edi)
60628  .byte  0,0                                 // add           %al,(%eax)
60629  .byte  0,31                                // add           %bl,(%edi)
60630  .byte  0,0                                 // add           %al,(%eax)
60631  .byte  0,8                                 // add           %cl,(%eax)
60632  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%edi,1)
60633  .byte  8,33                                // or            %ah,(%ecx)
60634  .byte  4,61                                // add           $0x3d,%al
60635  .byte  8,33                                // or            %ah,(%ecx)
60636  .byte  4,61                                // add           $0x3d,%al
60637  .byte  255,0                               // incl          (%eax)
60638  .byte  0,0                                 // add           %al,(%eax)
60639  .byte  255,0                               // incl          (%eax)
60640  .byte  0,0                                 // add           %al,(%eax)
60641  .byte  255,0                               // incl          (%eax)
60642  .byte  0,0                                 // add           %al,(%eax)
60643  .byte  255,0                               // incl          (%eax)
60644  .byte  0,0                                 // add           %al,(%eax)
60645  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
60646  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
60647  .byte  128,128,59,128,0,128,55             // addb          $0x37,-0x7fff7fc5(%eax)
60648  .byte  128,0,128                           // addb          $0x80,(%eax)
60649  .byte  55                                  // aaa
60650  .byte  128,0,128                           // addb          $0x80,(%eax)
60651  .byte  55                                  // aaa
60652  .byte  128,0,128                           // addb          $0x80,(%eax)
60653  .byte  55                                  // aaa
60654  .byte  0,0                                 // add           %al,(%eax)
60655  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60656  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60657  .byte  63                                  // aas
60658  .byte  0,0                                 // add           %al,(%eax)
60659  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60660  .byte  0,127,67                            // add           %bh,0x43(%edi)
60661  .byte  0,0                                 // add           %al,(%eax)
60662  .byte  127,67                              // jg            987b <.literal16+0x63b>
60663  .byte  0,0                                 // add           %al,(%eax)
60664  .byte  127,67                              // jg            987f <.literal16+0x63f>
60665  .byte  0,0                                 // add           %al,(%eax)
60666  .byte  127,67                              // jg            9883 <.literal16+0x643>
60667  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
60668  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
60669  .byte  128,128,59,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%eax)
60670  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
60671  .byte  128,59,0                            // cmpb          $0x0,(%ebx)
60672  .byte  0,0                                 // add           %al,(%eax)
60673  .byte  52,0                                // xor           $0x0,%al
60674  .byte  0,0                                 // add           %al,(%eax)
60675  .byte  52,0                                // xor           $0x0,%al
60676  .byte  0,0                                 // add           %al,(%eax)
60677  .byte  52,0                                // xor           $0x0,%al
60678  .byte  0,0                                 // add           %al,(%eax)
60679  .byte  52,255                              // xor           $0xff,%al
60680  .byte  255                                 // (bad)
60681  .byte  127,0                               // jg            9874 <.literal16+0x634>
60682  .byte  255                                 // (bad)
60683  .byte  255                                 // (bad)
60684  .byte  127,0                               // jg            9878 <.literal16+0x638>
60685  .byte  255                                 // (bad)
60686  .byte  255                                 // (bad)
60687  .byte  127,0                               // jg            987c <.literal16+0x63c>
60688  .byte  255                                 // (bad)
60689  .byte  255                                 // (bad)
60690  .byte  127,0                               // jg            9880 <.literal16+0x640>
60691  .byte  0,0                                 // add           %al,(%eax)
60692  .byte  0,63                                // add           %bh,(%edi)
60693  .byte  0,0                                 // add           %al,(%eax)
60694  .byte  0,63                                // add           %bh,(%edi)
60695  .byte  0,0                                 // add           %al,(%eax)
60696  .byte  0,63                                // add           %bh,(%edi)
60697  .byte  0,0                                 // add           %al,(%eax)
60698  .byte  0,63                                // add           %bh,(%edi)
60699  .byte  119,115                             // ja            9905 <.literal16+0x6c5>
60700  .byte  248                                 // clc
60701  .byte  194,119,115                         // ret           $0x7377
60702  .byte  248                                 // clc
60703  .byte  194,119,115                         // ret           $0x7377
60704  .byte  248                                 // clc
60705  .byte  194,119,115                         // ret           $0x7377
60706  .byte  248                                 // clc
60707  .byte  194,117,191                         // ret           $0xbf75
60708  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
60709  .byte  63                                  // aas
60710  .byte  117,191                             // jne           9869 <.literal16+0x629>
60711  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
60712  .byte  63                                  // aas
60713  .byte  249                                 // stc
60714  .byte  68                                  // inc           %esp
60715  .byte  180,62                              // mov           $0x3e,%ah
60716  .byte  249                                 // stc
60717  .byte  68                                  // inc           %esp
60718  .byte  180,62                              // mov           $0x3e,%ah
60719  .byte  249                                 // stc
60720  .byte  68                                  // inc           %esp
60721  .byte  180,62                              // mov           $0x3e,%ah
60722  .byte  249                                 // stc
60723  .byte  68                                  // inc           %esp
60724  .byte  180,62                              // mov           $0x3e,%ah
60725  .byte  163,233,220,63,163                  // mov           %eax,0xa33fdce9
60726  .byte  233,220,63,163,233                  // jmp           e9a3d8a6 <_sk_callback_sse2+0xe9a34757>
60727  .byte  220,63                              // fdivrl        (%edi)
60728  .byte  163,233,220,63,0                    // mov           %eax,0x3fdce9
60729  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60730  .byte  63                                  // aas
60731  .byte  0,0                                 // add           %al,(%eax)
60732  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60733  .byte  0,128,63,81,140,242                 // add           %al,-0xd73aec1(%eax)
60734  .byte  66                                  // inc           %edx
60735  .byte  81                                  // push          %ecx
60736  .byte  140,242                             // mov           %?,%edx
60737  .byte  66                                  // inc           %edx
60738  .byte  81                                  // push          %ecx
60739  .byte  140,242                             // mov           %?,%edx
60740  .byte  66                                  // inc           %edx
60741  .byte  81                                  // push          %ecx
60742  .byte  140,242                             // mov           %?,%edx
60743  .byte  66                                  // inc           %edx
60744  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%esi,%edi,4),%edi
60745  .byte  63                                  // aas
60746  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%esi,%edi,4),%edi
60747  .byte  63                                  // aas
60748  .byte  248                                 // clc
60749  .byte  245                                 // cmc
60750  .byte  154,64,248,245,154,64,248           // lcall         $0xf840,$0x9af5f840
60751  .byte  245                                 // cmc
60752  .byte  154,64,248,245,154,64,254           // lcall         $0xfe40,$0x9af5f840
60753  .byte  210,221                             // rcr           %cl,%ch
60754  .byte  65                                  // inc           %ecx
60755  .byte  254                                 // (bad)
60756  .byte  210,221                             // rcr           %cl,%ch
60757  .byte  65                                  // inc           %ecx
60758  .byte  254                                 // (bad)
60759  .byte  210,221                             // rcr           %cl,%ch
60760  .byte  65                                  // inc           %ecx
60761  .byte  254                                 // (bad)
60762  .byte  210,221                             // rcr           %cl,%ch
60763  .byte  65                                  // inc           %ecx
60764  .byte  0,0                                 // add           %al,(%eax)
60765  .byte  0,75,0                              // add           %cl,0x0(%ebx)
60766  .byte  0,0                                 // add           %al,(%eax)
60767  .byte  75                                  // dec           %ebx
60768  .byte  0,0                                 // add           %al,(%eax)
60769  .byte  0,75,0                              // add           %cl,0x0(%ebx)
60770  .byte  0,0                                 // add           %al,(%eax)
60771  .byte  75                                  // dec           %ebx
60772  .byte  0,0                                 // add           %al,(%eax)
60773  .byte  0,52,0                              // add           %dh,(%eax,%eax,1)
60774  .byte  0,0                                 // add           %al,(%eax)
60775  .byte  52,0                                // xor           $0x0,%al
60776  .byte  0,0                                 // add           %al,(%eax)
60777  .byte  52,0                                // xor           $0x0,%al
60778  .byte  0,0                                 // add           %al,(%eax)
60779  .byte  52,255                              // xor           $0xff,%al
60780  .byte  255                                 // (bad)
60781  .byte  127,0                               // jg            9944 <.literal16+0x704>
60782  .byte  255                                 // (bad)
60783  .byte  255                                 // (bad)
60784  .byte  127,0                               // jg            9948 <.literal16+0x708>
60785  .byte  255                                 // (bad)
60786  .byte  255                                 // (bad)
60787  .byte  127,0                               // jg            994c <.literal16+0x70c>
60788  .byte  255                                 // (bad)
60789  .byte  255                                 // (bad)
60790  .byte  127,0                               // jg            9950 <.literal16+0x710>
60791  .byte  0,0                                 // add           %al,(%eax)
60792  .byte  0,63                                // add           %bh,(%edi)
60793  .byte  0,0                                 // add           %al,(%eax)
60794  .byte  0,63                                // add           %bh,(%edi)
60795  .byte  0,0                                 // add           %al,(%eax)
60796  .byte  0,63                                // add           %bh,(%edi)
60797  .byte  0,0                                 // add           %al,(%eax)
60798  .byte  0,63                                // add           %bh,(%edi)
60799  .byte  119,115                             // ja            99d5 <.literal16+0x795>
60800  .byte  248                                 // clc
60801  .byte  194,119,115                         // ret           $0x7377
60802  .byte  248                                 // clc
60803  .byte  194,119,115                         // ret           $0x7377
60804  .byte  248                                 // clc
60805  .byte  194,119,115                         // ret           $0x7377
60806  .byte  248                                 // clc
60807  .byte  194,117,191                         // ret           $0xbf75
60808  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
60809  .byte  63                                  // aas
60810  .byte  117,191                             // jne           9939 <.literal16+0x6f9>
60811  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
60812  .byte  63                                  // aas
60813  .byte  249                                 // stc
60814  .byte  68                                  // inc           %esp
60815  .byte  180,62                              // mov           $0x3e,%ah
60816  .byte  249                                 // stc
60817  .byte  68                                  // inc           %esp
60818  .byte  180,62                              // mov           $0x3e,%ah
60819  .byte  249                                 // stc
60820  .byte  68                                  // inc           %esp
60821  .byte  180,62                              // mov           $0x3e,%ah
60822  .byte  249                                 // stc
60823  .byte  68                                  // inc           %esp
60824  .byte  180,62                              // mov           $0x3e,%ah
60825  .byte  163,233,220,63,163                  // mov           %eax,0xa33fdce9
60826  .byte  233,220,63,163,233                  // jmp           e9a3d976 <_sk_callback_sse2+0xe9a34827>
60827  .byte  220,63                              // fdivrl        (%edi)
60828  .byte  163,233,220,63,0                    // mov           %eax,0x3fdce9
60829  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60830  .byte  63                                  // aas
60831  .byte  0,0                                 // add           %al,(%eax)
60832  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60833  .byte  0,128,63,81,140,242                 // add           %al,-0xd73aec1(%eax)
60834  .byte  66                                  // inc           %edx
60835  .byte  81                                  // push          %ecx
60836  .byte  140,242                             // mov           %?,%edx
60837  .byte  66                                  // inc           %edx
60838  .byte  81                                  // push          %ecx
60839  .byte  140,242                             // mov           %?,%edx
60840  .byte  66                                  // inc           %edx
60841  .byte  81                                  // push          %ecx
60842  .byte  140,242                             // mov           %?,%edx
60843  .byte  66                                  // inc           %edx
60844  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%esi,%edi,4),%edi
60845  .byte  63                                  // aas
60846  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%esi,%edi,4),%edi
60847  .byte  63                                  // aas
60848  .byte  248                                 // clc
60849  .byte  245                                 // cmc
60850  .byte  154,64,248,245,154,64,248           // lcall         $0xf840,$0x9af5f840
60851  .byte  245                                 // cmc
60852  .byte  154,64,248,245,154,64,254           // lcall         $0xfe40,$0x9af5f840
60853  .byte  210,221                             // rcr           %cl,%ch
60854  .byte  65                                  // inc           %ecx
60855  .byte  254                                 // (bad)
60856  .byte  210,221                             // rcr           %cl,%ch
60857  .byte  65                                  // inc           %ecx
60858  .byte  254                                 // (bad)
60859  .byte  210,221                             // rcr           %cl,%ch
60860  .byte  65                                  // inc           %ecx
60861  .byte  254                                 // (bad)
60862  .byte  210,221                             // rcr           %cl,%ch
60863  .byte  65                                  // inc           %ecx
60864  .byte  0,0                                 // add           %al,(%eax)
60865  .byte  0,75,0                              // add           %cl,0x0(%ebx)
60866  .byte  0,0                                 // add           %al,(%eax)
60867  .byte  75                                  // dec           %ebx
60868  .byte  0,0                                 // add           %al,(%eax)
60869  .byte  0,75,0                              // add           %cl,0x0(%ebx)
60870  .byte  0,0                                 // add           %al,(%eax)
60871  .byte  75                                  // dec           %ebx
60872  .byte  0,0                                 // add           %al,(%eax)
60873  .byte  0,52,0                              // add           %dh,(%eax,%eax,1)
60874  .byte  0,0                                 // add           %al,(%eax)
60875  .byte  52,0                                // xor           $0x0,%al
60876  .byte  0,0                                 // add           %al,(%eax)
60877  .byte  52,0                                // xor           $0x0,%al
60878  .byte  0,0                                 // add           %al,(%eax)
60879  .byte  52,255                              // xor           $0xff,%al
60880  .byte  255                                 // (bad)
60881  .byte  127,0                               // jg            9a14 <.literal16+0x7d4>
60882  .byte  255                                 // (bad)
60883  .byte  255                                 // (bad)
60884  .byte  127,0                               // jg            9a18 <.literal16+0x7d8>
60885  .byte  255                                 // (bad)
60886  .byte  255                                 // (bad)
60887  .byte  127,0                               // jg            9a1c <.literal16+0x7dc>
60888  .byte  255                                 // (bad)
60889  .byte  255                                 // (bad)
60890  .byte  127,0                               // jg            9a20 <.literal16+0x7e0>
60891  .byte  0,0                                 // add           %al,(%eax)
60892  .byte  0,63                                // add           %bh,(%edi)
60893  .byte  0,0                                 // add           %al,(%eax)
60894  .byte  0,63                                // add           %bh,(%edi)
60895  .byte  0,0                                 // add           %al,(%eax)
60896  .byte  0,63                                // add           %bh,(%edi)
60897  .byte  0,0                                 // add           %al,(%eax)
60898  .byte  0,63                                // add           %bh,(%edi)
60899  .byte  119,115                             // ja            9aa5 <.literal16+0x865>
60900  .byte  248                                 // clc
60901  .byte  194,119,115                         // ret           $0x7377
60902  .byte  248                                 // clc
60903  .byte  194,119,115                         // ret           $0x7377
60904  .byte  248                                 // clc
60905  .byte  194,119,115                         // ret           $0x7377
60906  .byte  248                                 // clc
60907  .byte  194,117,191                         // ret           $0xbf75
60908  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
60909  .byte  63                                  // aas
60910  .byte  117,191                             // jne           9a09 <.literal16+0x7c9>
60911  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
60912  .byte  63                                  // aas
60913  .byte  249                                 // stc
60914  .byte  68                                  // inc           %esp
60915  .byte  180,62                              // mov           $0x3e,%ah
60916  .byte  249                                 // stc
60917  .byte  68                                  // inc           %esp
60918  .byte  180,62                              // mov           $0x3e,%ah
60919  .byte  249                                 // stc
60920  .byte  68                                  // inc           %esp
60921  .byte  180,62                              // mov           $0x3e,%ah
60922  .byte  249                                 // stc
60923  .byte  68                                  // inc           %esp
60924  .byte  180,62                              // mov           $0x3e,%ah
60925  .byte  163,233,220,63,163                  // mov           %eax,0xa33fdce9
60926  .byte  233,220,63,163,233                  // jmp           e9a3da46 <_sk_callback_sse2+0xe9a348f7>
60927  .byte  220,63                              // fdivrl        (%edi)
60928  .byte  163,233,220,63,0                    // mov           %eax,0x3fdce9
60929  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
60930  .byte  63                                  // aas
60931  .byte  0,0                                 // add           %al,(%eax)
60932  .byte  128,63,0                            // cmpb          $0x0,(%edi)
60933  .byte  0,128,63,81,140,242                 // add           %al,-0xd73aec1(%eax)
60934  .byte  66                                  // inc           %edx
60935  .byte  81                                  // push          %ecx
60936  .byte  140,242                             // mov           %?,%edx
60937  .byte  66                                  // inc           %edx
60938  .byte  81                                  // push          %ecx
60939  .byte  140,242                             // mov           %?,%edx
60940  .byte  66                                  // inc           %edx
60941  .byte  81                                  // push          %ecx
60942  .byte  140,242                             // mov           %?,%edx
60943  .byte  66                                  // inc           %edx
60944  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%esi,%edi,4),%edi
60945  .byte  63                                  // aas
60946  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%esi,%edi,4),%edi
60947  .byte  63                                  // aas
60948  .byte  248                                 // clc
60949  .byte  245                                 // cmc
60950  .byte  154,64,248,245,154,64,248           // lcall         $0xf840,$0x9af5f840
60951  .byte  245                                 // cmc
60952  .byte  154,64,248,245,154,64,254           // lcall         $0xfe40,$0x9af5f840
60953  .byte  210,221                             // rcr           %cl,%ch
60954  .byte  65                                  // inc           %ecx
60955  .byte  254                                 // (bad)
60956  .byte  210,221                             // rcr           %cl,%ch
60957  .byte  65                                  // inc           %ecx
60958  .byte  254                                 // (bad)
60959  .byte  210,221                             // rcr           %cl,%ch
60960  .byte  65                                  // inc           %ecx
60961  .byte  254                                 // (bad)
60962  .byte  210,221                             // rcr           %cl,%ch
60963  .byte  65                                  // inc           %ecx
60964  .byte  0,0                                 // add           %al,(%eax)
60965  .byte  0,75,0                              // add           %cl,0x0(%ebx)
60966  .byte  0,0                                 // add           %al,(%eax)
60967  .byte  75                                  // dec           %ebx
60968  .byte  0,0                                 // add           %al,(%eax)
60969  .byte  0,75,0                              // add           %cl,0x0(%ebx)
60970  .byte  0,0                                 // add           %al,(%eax)
60971  .byte  75                                  // dec           %ebx
60972  .byte  0,0                                 // add           %al,(%eax)
60973  .byte  0,52,0                              // add           %dh,(%eax,%eax,1)
60974  .byte  0,0                                 // add           %al,(%eax)
60975  .byte  52,0                                // xor           $0x0,%al
60976  .byte  0,0                                 // add           %al,(%eax)
60977  .byte  52,0                                // xor           $0x0,%al
60978  .byte  0,0                                 // add           %al,(%eax)
60979  .byte  52,255                              // xor           $0xff,%al
60980  .byte  255                                 // (bad)
60981  .byte  127,0                               // jg            9ae4 <.literal16+0x8a4>
60982  .byte  255                                 // (bad)
60983  .byte  255                                 // (bad)
60984  .byte  127,0                               // jg            9ae8 <.literal16+0x8a8>
60985  .byte  255                                 // (bad)
60986  .byte  255                                 // (bad)
60987  .byte  127,0                               // jg            9aec <.literal16+0x8ac>
60988  .byte  255                                 // (bad)
60989  .byte  255                                 // (bad)
60990  .byte  127,0                               // jg            9af0 <.literal16+0x8b0>
60991  .byte  0,0                                 // add           %al,(%eax)
60992  .byte  0,63                                // add           %bh,(%edi)
60993  .byte  0,0                                 // add           %al,(%eax)
60994  .byte  0,63                                // add           %bh,(%edi)
60995  .byte  0,0                                 // add           %al,(%eax)
60996  .byte  0,63                                // add           %bh,(%edi)
60997  .byte  0,0                                 // add           %al,(%eax)
60998  .byte  0,63                                // add           %bh,(%edi)
60999  .byte  119,115                             // ja            9b75 <.literal16+0x935>
61000  .byte  248                                 // clc
61001  .byte  194,119,115                         // ret           $0x7377
61002  .byte  248                                 // clc
61003  .byte  194,119,115                         // ret           $0x7377
61004  .byte  248                                 // clc
61005  .byte  194,119,115                         // ret           $0x7377
61006  .byte  248                                 // clc
61007  .byte  194,117,191                         // ret           $0xbf75
61008  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
61009  .byte  63                                  // aas
61010  .byte  117,191                             // jne           9ad9 <.literal16+0x899>
61011  .byte  191,63,117,191,191                  // mov           $0xbfbf753f,%edi
61012  .byte  63                                  // aas
61013  .byte  249                                 // stc
61014  .byte  68                                  // inc           %esp
61015  .byte  180,62                              // mov           $0x3e,%ah
61016  .byte  249                                 // stc
61017  .byte  68                                  // inc           %esp
61018  .byte  180,62                              // mov           $0x3e,%ah
61019  .byte  249                                 // stc
61020  .byte  68                                  // inc           %esp
61021  .byte  180,62                              // mov           $0x3e,%ah
61022  .byte  249                                 // stc
61023  .byte  68                                  // inc           %esp
61024  .byte  180,62                              // mov           $0x3e,%ah
61025  .byte  163,233,220,63,163                  // mov           %eax,0xa33fdce9
61026  .byte  233,220,63,163,233                  // jmp           e9a3db16 <_sk_callback_sse2+0xe9a349c7>
61027  .byte  220,63                              // fdivrl        (%edi)
61028  .byte  163,233,220,63,0                    // mov           %eax,0x3fdce9
61029  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61030  .byte  63                                  // aas
61031  .byte  0,0                                 // add           %al,(%eax)
61032  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61033  .byte  0,128,63,81,140,242                 // add           %al,-0xd73aec1(%eax)
61034  .byte  66                                  // inc           %edx
61035  .byte  81                                  // push          %ecx
61036  .byte  140,242                             // mov           %?,%edx
61037  .byte  66                                  // inc           %edx
61038  .byte  81                                  // push          %ecx
61039  .byte  140,242                             // mov           %?,%edx
61040  .byte  66                                  // inc           %edx
61041  .byte  81                                  // push          %ecx
61042  .byte  140,242                             // mov           %?,%edx
61043  .byte  66                                  // inc           %edx
61044  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%esi,%edi,4),%edi
61045  .byte  63                                  // aas
61046  .byte  141,188,190,63,141,188,190          // lea           -0x414372c1(%esi,%edi,4),%edi
61047  .byte  63                                  // aas
61048  .byte  248                                 // clc
61049  .byte  245                                 // cmc
61050  .byte  154,64,248,245,154,64,248           // lcall         $0xf840,$0x9af5f840
61051  .byte  245                                 // cmc
61052  .byte  154,64,248,245,154,64,254           // lcall         $0xfe40,$0x9af5f840
61053  .byte  210,221                             // rcr           %cl,%ch
61054  .byte  65                                  // inc           %ecx
61055  .byte  254                                 // (bad)
61056  .byte  210,221                             // rcr           %cl,%ch
61057  .byte  65                                  // inc           %ecx
61058  .byte  254                                 // (bad)
61059  .byte  210,221                             // rcr           %cl,%ch
61060  .byte  65                                  // inc           %ecx
61061  .byte  254                                 // (bad)
61062  .byte  210,221                             // rcr           %cl,%ch
61063  .byte  65                                  // inc           %ecx
61064  .byte  0,0                                 // add           %al,(%eax)
61065  .byte  0,75,0                              // add           %cl,0x0(%ebx)
61066  .byte  0,0                                 // add           %al,(%eax)
61067  .byte  75                                  // dec           %ebx
61068  .byte  0,0                                 // add           %al,(%eax)
61069  .byte  0,75,0                              // add           %cl,0x0(%ebx)
61070  .byte  0,0                                 // add           %al,(%eax)
61071  .byte  75                                  // dec           %ebx
61072  .byte  0,0                                 // add           %al,(%eax)
61073  .byte  200,66,0,0                          // enter         $0x42,$0x0
61074  .byte  200,66,0,0                          // enter         $0x42,$0x0
61075  .byte  200,66,0,0                          // enter         $0x42,$0x0
61076  .byte  200,66,0,0                          // enter         $0x42,$0x0
61077  .byte  127,67                              // jg            9bf7 <.literal16+0x9b7>
61078  .byte  0,0                                 // add           %al,(%eax)
61079  .byte  127,67                              // jg            9bfb <.literal16+0x9bb>
61080  .byte  0,0                                 // add           %al,(%eax)
61081  .byte  127,67                              // jg            9bff <.literal16+0x9bf>
61082  .byte  0,0                                 // add           %al,(%eax)
61083  .byte  127,67                              // jg            9c03 <.literal16+0x9c3>
61084  .byte  0,0                                 // add           %al,(%eax)
61085  .byte  0,195                               // add           %al,%bl
61086  .byte  0,0                                 // add           %al,(%eax)
61087  .byte  0,195                               // add           %al,%bl
61088  .byte  0,0                                 // add           %al,(%eax)
61089  .byte  0,195                               // add           %al,%bl
61090  .byte  0,0                                 // add           %al,(%eax)
61091  .byte  0,195                               // add           %al,%bl
61092  .byte  0,0                                 // add           %al,(%eax)
61093  .byte  128,65,0,0                          // addb          $0x0,0x0(%ecx)
61094  .byte  128,65,0,0                          // addb          $0x0,0x0(%ecx)
61095  .byte  128,65,0,0                          // addb          $0x0,0x0(%ecx)
61096  .byte  128,65,203,61                       // addb          $0x3d,-0x35(%ecx)
61097  .byte  13,60,203,61,13                     // or            $0xd3dcb3c,%eax
61098  .byte  60,203                              // cmp           $0xcb,%al
61099  .byte  61,13,60,203,61                     // cmp           $0x3dcb3c0d,%eax
61100  .byte  13,60,111,18,3                      // or            $0x3126f3c,%eax
61101  .byte  59,111,18                           // cmp           0x12(%edi),%ebp
61102  .byte  3,59                                // add           (%ebx),%edi
61103  .byte  111                                 // outsl         %ds:(%esi),(%dx)
61104  .byte  18,3                                // adc           (%ebx),%al
61105  .byte  59,111,18                           // cmp           0x12(%edi),%ebp
61106  .byte  3,59                                // add           (%ebx),%edi
61107  .byte  10,215                              // or            %bh,%dl
61108  .byte  163,59,10,215,163                   // mov           %eax,0xa3d70a3b
61109  .byte  59,10                               // cmp           (%edx),%ecx
61110  .byte  215                                 // xlat          %ds:(%ebx)
61111  .byte  163,59,10,215,163                   // mov           %eax,0xa3d70a3b
61112  .byte  59,194                              // cmp           %edx,%eax
61113  .byte  24,17                               // sbb           %dl,(%ecx)
61114  .byte  60,194                              // cmp           $0xc2,%al
61115  .byte  24,17                               // sbb           %dl,(%ecx)
61116  .byte  60,194                              // cmp           $0xc2,%al
61117  .byte  24,17                               // sbb           %dl,(%ecx)
61118  .byte  60,194                              // cmp           $0xc2,%al
61119  .byte  24,17                               // sbb           %dl,(%ecx)
61120  .byte  60,203                              // cmp           $0xcb,%al
61121  .byte  61,13,190,203,61                    // cmp           $0x3dcbbe0d,%eax
61122  .byte  13,190,203,61,13                    // or            $0xd3dcbbe,%eax
61123  .byte  190,203,61,13,190                   // mov           $0xbe0d3dcb,%esi
61124  .byte  80                                  // push          %eax
61125  .byte  128,3,62                            // addb          $0x3e,(%ebx)
61126  .byte  80                                  // push          %eax
61127  .byte  128,3,62                            // addb          $0x3e,(%ebx)
61128  .byte  80                                  // push          %eax
61129  .byte  128,3,62                            // addb          $0x3e,(%ebx)
61130  .byte  80                                  // push          %eax
61131  .byte  128,3,62                            // addb          $0x3e,(%ebx)
61132  .byte  31                                  // pop           %ds
61133  .byte  215                                 // xlat          %ds:(%ebx)
61134  .byte  118,63                              // jbe           9c83 <.literal16+0xa43>
61135  .byte  31                                  // pop           %ds
61136  .byte  215                                 // xlat          %ds:(%ebx)
61137  .byte  118,63                              // jbe           9c87 <.literal16+0xa47>
61138  .byte  31                                  // pop           %ds
61139  .byte  215                                 // xlat          %ds:(%ebx)
61140  .byte  118,63                              // jbe           9c8b <.literal16+0xa4b>
61141  .byte  31                                  // pop           %ds
61142  .byte  215                                 // xlat          %ds:(%ebx)
61143  .byte  118,63                              // jbe           9c8f <.literal16+0xa4f>
61144  .byte  246,64,83,63                        // testb         $0x3f,0x53(%eax)
61145  .byte  246,64,83,63                        // testb         $0x3f,0x53(%eax)
61146  .byte  246,64,83,63                        // testb         $0x3f,0x53(%eax)
61147  .byte  246,64,83,63                        // testb         $0x3f,0x53(%eax)
61148  .byte  255,0                               // incl          (%eax)
61149  .byte  0,0                                 // add           %al,(%eax)
61150  .byte  255,0                               // incl          (%eax)
61151  .byte  0,0                                 // add           %al,(%eax)
61152  .byte  255,0                               // incl          (%eax)
61153  .byte  0,0                                 // add           %al,(%eax)
61154  .byte  255,0                               // incl          (%eax)
61155  .byte  0,0                                 // add           %al,(%eax)
61156  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
61157  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
61158  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%eax)
61159  .byte  255,0                               // incl          (%eax)
61160  .byte  0,0                                 // add           %al,(%eax)
61161  .byte  255,0                               // incl          (%eax)
61162  .byte  0,0                                 // add           %al,(%eax)
61163  .byte  255,0                               // incl          (%eax)
61164  .byte  0,0                                 // add           %al,(%eax)
61165  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
61166  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
61167  .byte  128,128,59,129,128,128,59           // addb          $0x3b,-0x7f7f7ec5(%eax)
61168  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
61169  .byte  128,59,0                            // cmpb          $0x0,(%ebx)
61170  .byte  0,127,67                            // add           %bh,0x43(%edi)
61171  .byte  0,0                                 // add           %al,(%eax)
61172  .byte  127,67                              // jg            9cfb <.literal16+0xabb>
61173  .byte  0,0                                 // add           %al,(%eax)
61174  .byte  127,67                              // jg            9cff <.literal16+0xabf>
61175  .byte  0,0                                 // add           %al,(%eax)
61176  .byte  127,67                              // jg            9d03 <.literal16+0xac3>
61177  .byte  255,0                               // incl          (%eax)
61178  .byte  0,0                                 // add           %al,(%eax)
61179  .byte  0,0                                 // add           %al,(%eax)
61180  .byte  0,0                                 // add           %al,(%eax)
61181  .byte  255,0                               // incl          (%eax)
61182  .byte  0,0                                 // add           %al,(%eax)
61183  .byte  0,0                                 // add           %al,(%eax)
61184  .byte  0,0                                 // add           %al,(%eax)
61185  .byte  255,0                               // incl          (%eax)
61186  .byte  0,0                                 // add           %al,(%eax)
61187  .byte  255,0                               // incl          (%eax)
61188  .byte  0,0                                 // add           %al,(%eax)
61189  .byte  255,0                               // incl          (%eax)
61190  .byte  0,0                                 // add           %al,(%eax)
61191  .byte  255,0                               // incl          (%eax)
61192  .byte  0,0                                 // add           %al,(%eax)
61193  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
61194  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
61195  .byte  128,128,59,0,0,128,63               // addb          $0x3f,-0x7fffffc5(%eax)
61196  .byte  0,0                                 // add           %al,(%eax)
61197  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61198  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61199  .byte  63                                  // aas
61200  .byte  255,0                               // incl          (%eax)
61201  .byte  0,0                                 // add           %al,(%eax)
61202  .byte  255,0                               // incl          (%eax)
61203  .byte  0,0                                 // add           %al,(%eax)
61204  .byte  255,0                               // incl          (%eax)
61205  .byte  0,0                                 // add           %al,(%eax)
61206  .byte  255,0                               // incl          (%eax)
61207  .byte  0,0                                 // add           %al,(%eax)
61208  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
61209  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
61210  .byte  128,128,59,0,0,128,63               // addb          $0x3f,-0x7fffffc5(%eax)
61211  .byte  0,0                                 // add           %al,(%eax)
61212  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61213  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61214  .byte  63                                  // aas
61215  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
61216  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
61217  .byte  128,128,59,0,0,128,63               // addb          $0x3f,-0x7fffffc5(%eax)
61218  .byte  0,0                                 // add           %al,(%eax)
61219  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61220  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61221  .byte  63                                  // aas
61222  .byte  0,248                               // add           %bh,%al
61223  .byte  0,0                                 // add           %al,(%eax)
61224  .byte  0,248                               // add           %bh,%al
61225  .byte  0,0                                 // add           %al,(%eax)
61226  .byte  0,248                               // add           %bh,%al
61227  .byte  0,0                                 // add           %al,(%eax)
61228  .byte  0,248                               // add           %bh,%al
61229  .byte  0,0                                 // add           %al,(%eax)
61230  .byte  8,33                                // or            %ah,(%ecx)
61231  .byte  132,55                              // test          %dh,(%edi)
61232  .byte  8,33                                // or            %ah,(%ecx)
61233  .byte  132,55                              // test          %dh,(%edi)
61234  .byte  8,33                                // or            %ah,(%ecx)
61235  .byte  132,55                              // test          %dh,(%edi)
61236  .byte  8,33                                // or            %ah,(%ecx)
61237  .byte  132,55                              // test          %dh,(%edi)
61238  .byte  224,7                               // loopne        9d79 <.literal16+0xb39>
61239  .byte  0,0                                 // add           %al,(%eax)
61240  .byte  224,7                               // loopne        9d7d <.literal16+0xb3d>
61241  .byte  0,0                                 // add           %al,(%eax)
61242  .byte  224,7                               // loopne        9d81 <.literal16+0xb41>
61243  .byte  0,0                                 // add           %al,(%eax)
61244  .byte  224,7                               // loopne        9d85 <.literal16+0xb45>
61245  .byte  0,0                                 // add           %al,(%eax)
61246  .byte  33,8                                // and           %ecx,(%eax)
61247  .byte  2,58                                // add           (%edx),%bh
61248  .byte  33,8                                // and           %ecx,(%eax)
61249  .byte  2,58                                // add           (%edx),%bh
61250  .byte  33,8                                // and           %ecx,(%eax)
61251  .byte  2,58                                // add           (%edx),%bh
61252  .byte  33,8                                // and           %ecx,(%eax)
61253  .byte  2,58                                // add           (%edx),%bh
61254  .byte  31                                  // pop           %ds
61255  .byte  0,0                                 // add           %al,(%eax)
61256  .byte  0,31                                // add           %bl,(%edi)
61257  .byte  0,0                                 // add           %al,(%eax)
61258  .byte  0,31                                // add           %bl,(%edi)
61259  .byte  0,0                                 // add           %al,(%eax)
61260  .byte  0,31                                // add           %bl,(%edi)
61261  .byte  0,0                                 // add           %al,(%eax)
61262  .byte  0,8                                 // add           %cl,(%eax)
61263  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%edi,1)
61264  .byte  8,33                                // or            %ah,(%ecx)
61265  .byte  4,61                                // add           $0x3d,%al
61266  .byte  8,33                                // or            %ah,(%ecx)
61267  .byte  4,61                                // add           $0x3d,%al
61268  .byte  0,0                                 // add           %al,(%eax)
61269  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61270  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61271  .byte  63                                  // aas
61272  .byte  0,0                                 // add           %al,(%eax)
61273  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61274  .byte  248                                 // clc
61275  .byte  0,0                                 // add           %al,(%eax)
61276  .byte  0,248                               // add           %bh,%al
61277  .byte  0,0                                 // add           %al,(%eax)
61278  .byte  0,248                               // add           %bh,%al
61279  .byte  0,0                                 // add           %al,(%eax)
61280  .byte  0,248                               // add           %bh,%al
61281  .byte  0,0                                 // add           %al,(%eax)
61282  .byte  8,33                                // or            %ah,(%ecx)
61283  .byte  132,55                              // test          %dh,(%edi)
61284  .byte  8,33                                // or            %ah,(%ecx)
61285  .byte  132,55                              // test          %dh,(%edi)
61286  .byte  8,33                                // or            %ah,(%ecx)
61287  .byte  132,55                              // test          %dh,(%edi)
61288  .byte  8,33                                // or            %ah,(%ecx)
61289  .byte  132,55                              // test          %dh,(%edi)
61290  .byte  224,7                               // loopne        9de9 <.literal16+0xba9>
61291  .byte  0,0                                 // add           %al,(%eax)
61292  .byte  224,7                               // loopne        9ded <.literal16+0xbad>
61293  .byte  0,0                                 // add           %al,(%eax)
61294  .byte  224,7                               // loopne        9df1 <.literal16+0xbb1>
61295  .byte  0,0                                 // add           %al,(%eax)
61296  .byte  224,7                               // loopne        9df5 <.literal16+0xbb5>
61297  .byte  0,0                                 // add           %al,(%eax)
61298  .byte  33,8                                // and           %ecx,(%eax)
61299  .byte  2,58                                // add           (%edx),%bh
61300  .byte  33,8                                // and           %ecx,(%eax)
61301  .byte  2,58                                // add           (%edx),%bh
61302  .byte  33,8                                // and           %ecx,(%eax)
61303  .byte  2,58                                // add           (%edx),%bh
61304  .byte  33,8                                // and           %ecx,(%eax)
61305  .byte  2,58                                // add           (%edx),%bh
61306  .byte  31                                  // pop           %ds
61307  .byte  0,0                                 // add           %al,(%eax)
61308  .byte  0,31                                // add           %bl,(%edi)
61309  .byte  0,0                                 // add           %al,(%eax)
61310  .byte  0,31                                // add           %bl,(%edi)
61311  .byte  0,0                                 // add           %al,(%eax)
61312  .byte  0,31                                // add           %bl,(%edi)
61313  .byte  0,0                                 // add           %al,(%eax)
61314  .byte  0,8                                 // add           %cl,(%eax)
61315  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%edi,1)
61316  .byte  8,33                                // or            %ah,(%ecx)
61317  .byte  4,61                                // add           $0x3d,%al
61318  .byte  8,33                                // or            %ah,(%ecx)
61319  .byte  4,61                                // add           $0x3d,%al
61320  .byte  0,0                                 // add           %al,(%eax)
61321  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61322  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61323  .byte  63                                  // aas
61324  .byte  0,0                                 // add           %al,(%eax)
61325  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61326  .byte  248                                 // clc
61327  .byte  0,0                                 // add           %al,(%eax)
61328  .byte  0,248                               // add           %bh,%al
61329  .byte  0,0                                 // add           %al,(%eax)
61330  .byte  0,248                               // add           %bh,%al
61331  .byte  0,0                                 // add           %al,(%eax)
61332  .byte  0,248                               // add           %bh,%al
61333  .byte  0,0                                 // add           %al,(%eax)
61334  .byte  8,33                                // or            %ah,(%ecx)
61335  .byte  132,55                              // test          %dh,(%edi)
61336  .byte  8,33                                // or            %ah,(%ecx)
61337  .byte  132,55                              // test          %dh,(%edi)
61338  .byte  8,33                                // or            %ah,(%ecx)
61339  .byte  132,55                              // test          %dh,(%edi)
61340  .byte  8,33                                // or            %ah,(%ecx)
61341  .byte  132,55                              // test          %dh,(%edi)
61342  .byte  224,7                               // loopne        9e59 <.literal16+0xc19>
61343  .byte  0,0                                 // add           %al,(%eax)
61344  .byte  224,7                               // loopne        9e5d <.literal16+0xc1d>
61345  .byte  0,0                                 // add           %al,(%eax)
61346  .byte  224,7                               // loopne        9e61 <.literal16+0xc21>
61347  .byte  0,0                                 // add           %al,(%eax)
61348  .byte  224,7                               // loopne        9e65 <.literal16+0xc25>
61349  .byte  0,0                                 // add           %al,(%eax)
61350  .byte  33,8                                // and           %ecx,(%eax)
61351  .byte  2,58                                // add           (%edx),%bh
61352  .byte  33,8                                // and           %ecx,(%eax)
61353  .byte  2,58                                // add           (%edx),%bh
61354  .byte  33,8                                // and           %ecx,(%eax)
61355  .byte  2,58                                // add           (%edx),%bh
61356  .byte  33,8                                // and           %ecx,(%eax)
61357  .byte  2,58                                // add           (%edx),%bh
61358  .byte  31                                  // pop           %ds
61359  .byte  0,0                                 // add           %al,(%eax)
61360  .byte  0,31                                // add           %bl,(%edi)
61361  .byte  0,0                                 // add           %al,(%eax)
61362  .byte  0,31                                // add           %bl,(%edi)
61363  .byte  0,0                                 // add           %al,(%eax)
61364  .byte  0,31                                // add           %bl,(%edi)
61365  .byte  0,0                                 // add           %al,(%eax)
61366  .byte  0,8                                 // add           %cl,(%eax)
61367  .byte  33,4,61,8,33,4,61                   // and           %eax,0x3d042108(,%edi,1)
61368  .byte  8,33                                // or            %ah,(%ecx)
61369  .byte  4,61                                // add           $0x3d,%al
61370  .byte  8,33                                // or            %ah,(%ecx)
61371  .byte  4,61                                // add           $0x3d,%al
61372  .byte  0,0                                 // add           %al,(%eax)
61373  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61374  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61375  .byte  63                                  // aas
61376  .byte  0,0                                 // add           %al,(%eax)
61377  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61378  .byte  0,248                               // add           %bh,%al
61379  .byte  65                                  // inc           %ecx
61380  .byte  0,0                                 // add           %al,(%eax)
61381  .byte  248                                 // clc
61382  .byte  65                                  // inc           %ecx
61383  .byte  0,0                                 // add           %al,(%eax)
61384  .byte  248                                 // clc
61385  .byte  65                                  // inc           %ecx
61386  .byte  0,0                                 // add           %al,(%eax)
61387  .byte  248                                 // clc
61388  .byte  65                                  // inc           %ecx
61389  .byte  0,0                                 // add           %al,(%eax)
61390  .byte  124,66                              // jl            9ef6 <.literal16+0xcb6>
61391  .byte  0,0                                 // add           %al,(%eax)
61392  .byte  124,66                              // jl            9efa <.literal16+0xcba>
61393  .byte  0,0                                 // add           %al,(%eax)
61394  .byte  124,66                              // jl            9efe <.literal16+0xcbe>
61395  .byte  0,0                                 // add           %al,(%eax)
61396  .byte  124,66                              // jl            9f02 <.literal16+0xcc2>
61397  .byte  0,240                               // add           %dh,%al
61398  .byte  0,0                                 // add           %al,(%eax)
61399  .byte  0,240                               // add           %dh,%al
61400  .byte  0,0                                 // add           %al,(%eax)
61401  .byte  0,240                               // add           %dh,%al
61402  .byte  0,0                                 // add           %al,(%eax)
61403  .byte  0,240                               // add           %dh,%al
61404  .byte  0,0                                 // add           %al,(%eax)
61405  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%eax)
61406  .byte  136,55                              // mov           %dh,(%edi)
61407  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%eax)
61408  .byte  136,55                              // mov           %dh,(%edi)
61409  .byte  0,15                                // add           %cl,(%edi)
61410  .byte  0,0                                 // add           %al,(%eax)
61411  .byte  0,15                                // add           %cl,(%edi)
61412  .byte  0,0                                 // add           %al,(%eax)
61413  .byte  0,15                                // add           %cl,(%edi)
61414  .byte  0,0                                 // add           %al,(%eax)
61415  .byte  0,15                                // add           %cl,(%edi)
61416  .byte  0,0                                 // add           %al,(%eax)
61417  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%eax)
61418  .byte  136,57                              // mov           %bh,(%ecx)
61419  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%eax)
61420  .byte  136,57                              // mov           %bh,(%ecx)
61421  .byte  240,0,0                             // lock          add %al,(%eax)
61422  .byte  0,240                               // add           %dh,%al
61423  .byte  0,0                                 // add           %al,(%eax)
61424  .byte  0,240                               // add           %dh,%al
61425  .byte  0,0                                 // add           %al,(%eax)
61426  .byte  0,240                               // add           %dh,%al
61427  .byte  0,0                                 // add           %al,(%eax)
61428  .byte  0,137,136,136,59,137                // add           %cl,-0x76c47778(%ecx)
61429  .byte  136,136,59,137,136,136              // mov           %cl,-0x777776c5(%eax)
61430  .byte  59,137,136,136,59,15                // cmp           0xf3b8888(%ecx),%ecx
61431  .byte  0,0                                 // add           %al,(%eax)
61432  .byte  0,15                                // add           %cl,(%edi)
61433  .byte  0,0                                 // add           %al,(%eax)
61434  .byte  0,15                                // add           %cl,(%edi)
61435  .byte  0,0                                 // add           %al,(%eax)
61436  .byte  0,15                                // add           %cl,(%edi)
61437  .byte  0,0                                 // add           %al,(%eax)
61438  .byte  0,137,136,136,61,137                // add           %cl,-0x76c27778(%ecx)
61439  .byte  136,136,61,137,136,136              // mov           %cl,-0x777776c3(%eax)
61440  .byte  61,137,136,136,61                   // cmp           $0x3d888889,%eax
61441  .byte  0,240                               // add           %dh,%al
61442  .byte  0,0                                 // add           %al,(%eax)
61443  .byte  0,240                               // add           %dh,%al
61444  .byte  0,0                                 // add           %al,(%eax)
61445  .byte  0,240                               // add           %dh,%al
61446  .byte  0,0                                 // add           %al,(%eax)
61447  .byte  0,240                               // add           %dh,%al
61448  .byte  0,0                                 // add           %al,(%eax)
61449  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%eax)
61450  .byte  136,55                              // mov           %dh,(%edi)
61451  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%eax)
61452  .byte  136,55                              // mov           %dh,(%edi)
61453  .byte  0,15                                // add           %cl,(%edi)
61454  .byte  0,0                                 // add           %al,(%eax)
61455  .byte  0,15                                // add           %cl,(%edi)
61456  .byte  0,0                                 // add           %al,(%eax)
61457  .byte  0,15                                // add           %cl,(%edi)
61458  .byte  0,0                                 // add           %al,(%eax)
61459  .byte  0,15                                // add           %cl,(%edi)
61460  .byte  0,0                                 // add           %al,(%eax)
61461  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%eax)
61462  .byte  136,57                              // mov           %bh,(%ecx)
61463  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%eax)
61464  .byte  136,57                              // mov           %bh,(%ecx)
61465  .byte  240,0,0                             // lock          add %al,(%eax)
61466  .byte  0,240                               // add           %dh,%al
61467  .byte  0,0                                 // add           %al,(%eax)
61468  .byte  0,240                               // add           %dh,%al
61469  .byte  0,0                                 // add           %al,(%eax)
61470  .byte  0,240                               // add           %dh,%al
61471  .byte  0,0                                 // add           %al,(%eax)
61472  .byte  0,137,136,136,59,137                // add           %cl,-0x76c47778(%ecx)
61473  .byte  136,136,59,137,136,136              // mov           %cl,-0x777776c5(%eax)
61474  .byte  59,137,136,136,59,15                // cmp           0xf3b8888(%ecx),%ecx
61475  .byte  0,0                                 // add           %al,(%eax)
61476  .byte  0,15                                // add           %cl,(%edi)
61477  .byte  0,0                                 // add           %al,(%eax)
61478  .byte  0,15                                // add           %cl,(%edi)
61479  .byte  0,0                                 // add           %al,(%eax)
61480  .byte  0,15                                // add           %cl,(%edi)
61481  .byte  0,0                                 // add           %al,(%eax)
61482  .byte  0,137,136,136,61,137                // add           %cl,-0x76c27778(%ecx)
61483  .byte  136,136,61,137,136,136              // mov           %cl,-0x777776c3(%eax)
61484  .byte  61,137,136,136,61                   // cmp           $0x3d888889,%eax
61485  .byte  0,240                               // add           %dh,%al
61486  .byte  0,0                                 // add           %al,(%eax)
61487  .byte  0,240                               // add           %dh,%al
61488  .byte  0,0                                 // add           %al,(%eax)
61489  .byte  0,240                               // add           %dh,%al
61490  .byte  0,0                                 // add           %al,(%eax)
61491  .byte  0,240                               // add           %dh,%al
61492  .byte  0,0                                 // add           %al,(%eax)
61493  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%eax)
61494  .byte  136,55                              // mov           %dh,(%edi)
61495  .byte  137,136,136,55,137,136              // mov           %ecx,-0x7776c878(%eax)
61496  .byte  136,55                              // mov           %dh,(%edi)
61497  .byte  0,15                                // add           %cl,(%edi)
61498  .byte  0,0                                 // add           %al,(%eax)
61499  .byte  0,15                                // add           %cl,(%edi)
61500  .byte  0,0                                 // add           %al,(%eax)
61501  .byte  0,15                                // add           %cl,(%edi)
61502  .byte  0,0                                 // add           %al,(%eax)
61503  .byte  0,15                                // add           %cl,(%edi)
61504  .byte  0,0                                 // add           %al,(%eax)
61505  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%eax)
61506  .byte  136,57                              // mov           %bh,(%ecx)
61507  .byte  137,136,136,57,137,136              // mov           %ecx,-0x7776c678(%eax)
61508  .byte  136,57                              // mov           %bh,(%ecx)
61509  .byte  240,0,0                             // lock          add %al,(%eax)
61510  .byte  0,240                               // add           %dh,%al
61511  .byte  0,0                                 // add           %al,(%eax)
61512  .byte  0,240                               // add           %dh,%al
61513  .byte  0,0                                 // add           %al,(%eax)
61514  .byte  0,240                               // add           %dh,%al
61515  .byte  0,0                                 // add           %al,(%eax)
61516  .byte  0,137,136,136,59,137                // add           %cl,-0x76c47778(%ecx)
61517  .byte  136,136,59,137,136,136              // mov           %cl,-0x777776c5(%eax)
61518  .byte  59,137,136,136,59,15                // cmp           0xf3b8888(%ecx),%ecx
61519  .byte  0,0                                 // add           %al,(%eax)
61520  .byte  0,15                                // add           %cl,(%edi)
61521  .byte  0,0                                 // add           %al,(%eax)
61522  .byte  0,15                                // add           %cl,(%edi)
61523  .byte  0,0                                 // add           %al,(%eax)
61524  .byte  0,15                                // add           %cl,(%edi)
61525  .byte  0,0                                 // add           %al,(%eax)
61526  .byte  0,137,136,136,61,137                // add           %cl,-0x76c27778(%ecx)
61527  .byte  136,136,61,137,136,136              // mov           %cl,-0x777776c3(%eax)
61528  .byte  61,137,136,136,61                   // cmp           $0x3d888889,%eax
61529  .byte  0,0                                 // add           %al,(%eax)
61530  .byte  112,65                              // jo            a085 <.literal16+0xe45>
61531  .byte  0,0                                 // add           %al,(%eax)
61532  .byte  112,65                              // jo            a089 <.literal16+0xe49>
61533  .byte  0,0                                 // add           %al,(%eax)
61534  .byte  112,65                              // jo            a08d <.literal16+0xe4d>
61535  .byte  0,0                                 // add           %al,(%eax)
61536  .byte  112,65                              // jo            a091 <.literal16+0xe51>
61537  .byte  255,0                               // incl          (%eax)
61538  .byte  0,0                                 // add           %al,(%eax)
61539  .byte  255,0                               // incl          (%eax)
61540  .byte  0,0                                 // add           %al,(%eax)
61541  .byte  255,0                               // incl          (%eax)
61542  .byte  0,0                                 // add           %al,(%eax)
61543  .byte  255,0                               // incl          (%eax)
61544  .byte  0,0                                 // add           %al,(%eax)
61545  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
61546  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
61547  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%eax)
61548  .byte  255,0                               // incl          (%eax)
61549  .byte  0,0                                 // add           %al,(%eax)
61550  .byte  255,0                               // incl          (%eax)
61551  .byte  0,0                                 // add           %al,(%eax)
61552  .byte  255,0                               // incl          (%eax)
61553  .byte  0,0                                 // add           %al,(%eax)
61554  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
61555  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
61556  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%eax)
61557  .byte  255,0                               // incl          (%eax)
61558  .byte  0,0                                 // add           %al,(%eax)
61559  .byte  255,0                               // incl          (%eax)
61560  .byte  0,0                                 // add           %al,(%eax)
61561  .byte  255,0                               // incl          (%eax)
61562  .byte  0,0                                 // add           %al,(%eax)
61563  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
61564  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
61565  .byte  128,128,59,0,0,127,67               // addb          $0x43,0x7f00003b(%eax)
61566  .byte  0,0                                 // add           %al,(%eax)
61567  .byte  127,67                              // jg            a0fb <.literal16+0xebb>
61568  .byte  0,0                                 // add           %al,(%eax)
61569  .byte  127,67                              // jg            a0ff <.literal16+0xebf>
61570  .byte  0,0                                 // add           %al,(%eax)
61571  .byte  127,67                              // jg            a103 <.literal16+0xec3>
61572  .byte  0,0                                 // add           %al,(%eax)
61573  .byte  127,67                              // jg            a107 <.literal16+0xec7>
61574  .byte  0,0                                 // add           %al,(%eax)
61575  .byte  127,67                              // jg            a10b <.literal16+0xecb>
61576  .byte  0,0                                 // add           %al,(%eax)
61577  .byte  127,67                              // jg            a10f <.literal16+0xecf>
61578  .byte  0,0                                 // add           %al,(%eax)
61579  .byte  127,67                              // jg            a113 <.literal16+0xed3>
61580  .byte  255,0                               // incl          (%eax)
61581  .byte  0,0                                 // add           %al,(%eax)
61582  .byte  255,0                               // incl          (%eax)
61583  .byte  0,0                                 // add           %al,(%eax)
61584  .byte  255,0                               // incl          (%eax)
61585  .byte  0,0                                 // add           %al,(%eax)
61586  .byte  255,0                               // incl          (%eax)
61587  .byte  0,0                                 // add           %al,(%eax)
61588  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
61589  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
61590  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%eax)
61591  .byte  255,0                               // incl          (%eax)
61592  .byte  0,0                                 // add           %al,(%eax)
61593  .byte  255,0                               // incl          (%eax)
61594  .byte  0,0                                 // add           %al,(%eax)
61595  .byte  255,0                               // incl          (%eax)
61596  .byte  0,0                                 // add           %al,(%eax)
61597  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
61598  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
61599  .byte  128,128,59,255,0,0,0                // addb          $0x0,0xff3b(%eax)
61600  .byte  255,0                               // incl          (%eax)
61601  .byte  0,0                                 // add           %al,(%eax)
61602  .byte  255,0                               // incl          (%eax)
61603  .byte  0,0                                 // add           %al,(%eax)
61604  .byte  255,0                               // incl          (%eax)
61605  .byte  0,0                                 // add           %al,(%eax)
61606  .byte  129,128,128,59,129,128,128,59,129,128// addl          $0x80813b80,-0x7f7ec480(%eax)
61607  .byte  128,59,129                          // cmpb          $0x81,(%ebx)
61608  .byte  128,128,59,0,0,127,67               // addb          $0x43,0x7f00003b(%eax)
61609  .byte  0,0                                 // add           %al,(%eax)
61610  .byte  127,67                              // jg            a17b <.literal16+0xf3b>
61611  .byte  0,0                                 // add           %al,(%eax)
61612  .byte  127,67                              // jg            a17f <.literal16+0xf3f>
61613  .byte  0,0                                 // add           %al,(%eax)
61614  .byte  127,67                              // jg            a183 <.literal16+0xf43>
61615  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61616  .byte  0,0                                 // add           %al,(%eax)
61617  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61618  .byte  0,0                                 // add           %al,(%eax)
61619  .byte  0,0                                 // add           %al,(%eax)
61620  .byte  0,56                                // add           %bh,(%eax)
61621  .byte  0,0                                 // add           %al,(%eax)
61622  .byte  0,56                                // add           %bh,(%eax)
61623  .byte  0,0                                 // add           %al,(%eax)
61624  .byte  0,56                                // add           %bh,(%eax)
61625  .byte  0,0                                 // add           %al,(%eax)
61626  .byte  0,56                                // add           %bh,(%eax)
61627  .byte  0,0                                 // add           %al,(%eax)
61628  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61629  .byte  0,0                                 // add           %al,(%eax)
61630  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61631  .byte  0,4,0                               // add           %al,(%eax,%eax,1)
61632  .byte  128,0,4                             // addb          $0x4,(%eax)
61633  .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%eax)
61634  .byte  0,4,0                               // add           %al,(%eax,%eax,1)
61635  .byte  128,0,128                           // addb          $0x80,(%eax)
61636  .byte  0,0                                 // add           %al,(%eax)
61637  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61638  .byte  0,0                                 // add           %al,(%eax)
61639  .byte  0,128,0,0,0,0                       // add           %al,0x0(%eax)
61640  .byte  0,56                                // add           %bh,(%eax)
61641  .byte  0,0                                 // add           %al,(%eax)
61642  .byte  0,56                                // add           %bh,(%eax)
61643  .byte  0,0                                 // add           %al,(%eax)
61644  .byte  0,56                                // add           %bh,(%eax)
61645  .byte  0,0                                 // add           %al,(%eax)
61646  .byte  0,56                                // add           %bh,(%eax)
61647  .byte  0,0                                 // add           %al,(%eax)
61648  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61649  .byte  0,0                                 // add           %al,(%eax)
61650  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61651  .byte  0,4,0                               // add           %al,(%eax,%eax,1)
61652  .byte  128,0,4                             // addb          $0x4,(%eax)
61653  .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%eax)
61654  .byte  0,4,0                               // add           %al,(%eax,%eax,1)
61655  .byte  128,0,128                           // addb          $0x80,(%eax)
61656  .byte  0,0                                 // add           %al,(%eax)
61657  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61658  .byte  0,0                                 // add           %al,(%eax)
61659  .byte  0,128,0,0,0,0                       // add           %al,0x0(%eax)
61660  .byte  0,56                                // add           %bh,(%eax)
61661  .byte  0,0                                 // add           %al,(%eax)
61662  .byte  0,56                                // add           %bh,(%eax)
61663  .byte  0,0                                 // add           %al,(%eax)
61664  .byte  0,56                                // add           %bh,(%eax)
61665  .byte  0,0                                 // add           %al,(%eax)
61666  .byte  0,56                                // add           %bh,(%eax)
61667  .byte  0,0                                 // add           %al,(%eax)
61668  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61669  .byte  0,0                                 // add           %al,(%eax)
61670  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61671  .byte  0,4,0                               // add           %al,(%eax,%eax,1)
61672  .byte  128,0,4                             // addb          $0x4,(%eax)
61673  .byte  0,128,0,4,0,128                     // add           %al,-0x7ffffc00(%eax)
61674  .byte  0,4,0                               // add           %al,(%eax,%eax,1)
61675  .byte  128,0,0                             // addb          $0x0,(%eax)
61676  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61677  .byte  0,0                                 // add           %al,(%eax)
61678  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61679  .byte  0,0                                 // add           %al,(%eax)
61680  .byte  128,56,0                            // cmpb          $0x0,(%eax)
61681  .byte  0,128,56,0,0,128                    // add           %al,-0x7fffffc8(%eax)
61682  .byte  56,0                                // cmp           %al,(%eax)
61683  .byte  0,128,56,0,64,254                   // add           %al,-0x1bfffc8(%eax)
61684  .byte  255,0                               // incl          (%eax)
61685  .byte  64                                  // inc           %eax
61686  .byte  254                                 // (bad)
61687  .byte  255,0                               // incl          (%eax)
61688  .byte  64                                  // inc           %eax
61689  .byte  254                                 // (bad)
61690  .byte  255,0                               // incl          (%eax)
61691  .byte  64                                  // inc           %eax
61692  .byte  254                                 // (bad)
61693  .byte  255,128,0,128,55,128                // incl          -0x7fc88000(%eax)
61694  .byte  0,128,55,128,0,128                  // add           %al,-0x7fff7fc9(%eax)
61695  .byte  55                                  // aaa
61696  .byte  128,0,128                           // addb          $0x80,(%eax)
61697  .byte  55                                  // aaa
61698  .byte  128,0,128                           // addb          $0x80,(%eax)
61699  .byte  55                                  // aaa
61700  .byte  128,0,128                           // addb          $0x80,(%eax)
61701  .byte  55                                  // aaa
61702  .byte  128,0,128                           // addb          $0x80,(%eax)
61703  .byte  55                                  // aaa
61704  .byte  128,0,128                           // addb          $0x80,(%eax)
61705  .byte  55                                  // aaa
61706  .byte  0,0                                 // add           %al,(%eax)
61707  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61708  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61709  .byte  63                                  // aas
61710  .byte  0,0                                 // add           %al,(%eax)
61711  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61712  .byte  255                                 // (bad)
61713  .byte  127,71                              // jg            a2ab <.literal16+0x106b>
61714  .byte  0,255                               // add           %bh,%bh
61715  .byte  127,71                              // jg            a2af <.literal16+0x106f>
61716  .byte  0,255                               // add           %bh,%bh
61717  .byte  127,71                              // jg            a2b3 <.literal16+0x1073>
61718  .byte  0,255                               // add           %bh,%bh
61719  .byte  127,71                              // jg            a2b7 <.literal16+0x1077>
61720  .byte  0,0                                 // add           %al,(%eax)
61721  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61722  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61723  .byte  63                                  // aas
61724  .byte  0,0                                 // add           %al,(%eax)
61725  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61726  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61727  .byte  63                                  // aas
61728  .byte  0,0                                 // add           %al,(%eax)
61729  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61730  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61731  .byte  63                                  // aas
61732  .byte  0,0                                 // add           %al,(%eax)
61733  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61734  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61735  .byte  63                                  // aas
61736  .byte  0,0                                 // add           %al,(%eax)
61737  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61738  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61739  .byte  63                                  // aas
61740  .byte  0,0                                 // add           %al,(%eax)
61741  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61742  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61743  .byte  63                                  // aas
61744  .byte  0,0                                 // add           %al,(%eax)
61745  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61746  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61747  .byte  63                                  // aas
61748  .byte  0,0                                 // add           %al,(%eax)
61749  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61750  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61751  .byte  63                                  // aas
61752  .byte  0,0                                 // add           %al,(%eax)
61753  .byte  128,191,0,0,128,191,0               // cmpb          $0x0,-0x40800000(%edi)
61754  .byte  0,128,191,0,0,128                   // add           %al,-0x7fffff41(%eax)
61755  .byte  191,0,0,0,63                        // mov           $0x3f000000,%edi
61756  .byte  0,0                                 // add           %al,(%eax)
61757  .byte  0,63                                // add           %bh,(%edi)
61758  .byte  0,0                                 // add           %al,(%eax)
61759  .byte  0,63                                // add           %bh,(%edi)
61760  .byte  0,0                                 // add           %al,(%eax)
61761  .byte  0,63                                // add           %bh,(%edi)
61762  .byte  0,0                                 // add           %al,(%eax)
61763  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61764  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61765  .byte  63                                  // aas
61766  .byte  0,0                                 // add           %al,(%eax)
61767  .byte  128,63,208                          // cmpb          $0xd0,(%edi)
61768  .byte  179,89                              // mov           $0x59,%bl
61769  .byte  62,208                              // ds            (bad)
61770  .byte  179,89                              // mov           $0x59,%bl
61771  .byte  62,208                              // ds            (bad)
61772  .byte  179,89                              // mov           $0x59,%bl
61773  .byte  62,208                              // ds            (bad)
61774  .byte  179,89                              // mov           $0x59,%bl
61775  .byte  62,89                               // ds            pop %ecx
61776  .byte  23                                  // pop           %ss
61777  .byte  55                                  // aaa
61778  .byte  63                                  // aas
61779  .byte  89                                  // pop           %ecx
61780  .byte  23                                  // pop           %ss
61781  .byte  55                                  // aaa
61782  .byte  63                                  // aas
61783  .byte  89                                  // pop           %ecx
61784  .byte  23                                  // pop           %ss
61785  .byte  55                                  // aaa
61786  .byte  63                                  // aas
61787  .byte  89                                  // pop           %ecx
61788  .byte  23                                  // pop           %ss
61789  .byte  55                                  // aaa
61790  .byte  63                                  // aas
61791  .byte  152                                 // cwtl
61792  .byte  221,147,61,152,221,147              // fstl          -0x6c2267c3(%ebx)
61793  .byte  61,152,221,147,61                   // cmp           $0x3d93dd98,%eax
61794  .byte  152                                 // cwtl
61795  .byte  221,147,61,255,255,0                // fstl          0xffff3d(%ebx)
61796  .byte  0,255                               // add           %bh,%bh
61797  .byte  255,0                               // incl          (%eax)
61798  .byte  0,255                               // add           %bh,%bh
61799  .byte  255,0                               // incl          (%eax)
61800  .byte  0,255                               // add           %bh,%bh
61801  .byte  255,0                               // incl          (%eax)
61802  .byte  0,0                                 // add           %al,(%eax)
61803  .byte  0,0                                 // add           %al,(%eax)
61804  .byte  75                                  // dec           %ebx
61805  .byte  0,0                                 // add           %al,(%eax)
61806  .byte  0,75,0                              // add           %cl,0x0(%ebx)
61807  .byte  0,0                                 // add           %al,(%eax)
61808  .byte  75                                  // dec           %ebx
61809  .byte  0,0                                 // add           %al,(%eax)
61810  .byte  0,75,0                              // add           %cl,0x0(%ebx)
61811  .byte  0,0                                 // add           %al,(%eax)
61812  .byte  83                                  // push          %ebx
61813  .byte  0,0                                 // add           %al,(%eax)
61814  .byte  0,83,0                              // add           %dl,0x0(%ebx)
61815  .byte  0,0                                 // add           %al,(%eax)
61816  .byte  83                                  // push          %ebx
61817  .byte  0,0                                 // add           %al,(%eax)
61818  .byte  0,83,128                            // add           %dl,-0x80(%ebx)
61819  .byte  0,0                                 // add           %al,(%eax)
61820  .byte  211,128,0,0,211,128                 // roll          %cl,-0x7f2d0000(%eax)
61821  .byte  0,0                                 // add           %al,(%eax)
61822  .byte  211,128,0,0,211,45                  // roll          %cl,0x2dd30000(%eax)
61823  .byte  16,17                               // adc           %dl,(%ecx)
61824  .byte  192,45,16,17,192,45,16              // shrb          $0x10,0x2dc01110
61825  .byte  17,192                              // adc           %eax,%eax
61826  .byte  45,16,17,192,18                     // sub           $0x12c01110,%eax
61827  .byte  120,57                              // js            a3bc <.literal16+0x117c>
61828  .byte  64                                  // inc           %eax
61829  .byte  18,120,57                           // adc           0x39(%eax),%bh
61830  .byte  64                                  // inc           %eax
61831  .byte  18,120,57                           // adc           0x39(%eax),%bh
61832  .byte  64                                  // inc           %eax
61833  .byte  18,120,57                           // adc           0x39(%eax),%bh
61834  .byte  64                                  // inc           %eax
61835  .byte  32,148,90,62,32,148,90              // and           %dl,0x5a94203e(%edx,%ebx,2)
61836  .byte  62,32,148,90,62,32,148,90           // and           %dl,%ds:0x5a94203e(%edx,%ebx,2)
61837  .byte  62,4,157                            // ds            add $0x9d,%al
61838  .byte  30                                  // push          %ds
61839  .byte  62,4,157                            // ds            add $0x9d,%al
61840  .byte  30                                  // push          %ds
61841  .byte  62,4,157                            // ds            add $0x9d,%al
61842  .byte  30                                  // push          %ds
61843  .byte  62,4,157                            // ds            add $0x9d,%al
61844  .byte  30                                  // push          %ds
61845  .byte  62,0,24                             // add           %bl,%ds:(%eax)
61846  .byte  161,57,0,24,161                     // mov           0xa1180039,%eax
61847  .byte  57,0                                // cmp           %eax,(%eax)
61848  .byte  24,161,57,0,24,161                  // sbb           %ah,-0x5ee7ffc7(%ecx)
61849  .byte  57,1                                // cmp           %eax,(%ecx)
61850  .byte  0,0                                 // add           %al,(%eax)
61851  .byte  0,1                                 // add           %al,(%ecx)
61852  .byte  0,0                                 // add           %al,(%eax)
61853  .byte  0,1                                 // add           %al,(%ecx)
61854  .byte  0,0                                 // add           %al,(%eax)
61855  .byte  0,1                                 // add           %al,(%ecx)
61856  .byte  0,0                                 // add           %al,(%eax)
61857  .byte  0,111,43                            // add           %ch,0x2b(%edi)
61858  .byte  231,187                             // out           %eax,$0xbb
61859  .byte  111                                 // outsl         %ds:(%esi),(%dx)
61860  .byte  43,231                              // sub           %edi,%esp
61861  .byte  187,111,43,231,187                  // mov           $0xbbe72b6f,%ebx
61862  .byte  111                                 // outsl         %ds:(%esi),(%dx)
61863  .byte  43,231                              // sub           %edi,%esp
61864  .byte  187,159,215,202,60                  // mov           $0x3ccad79f,%ebx
61865  .byte  159                                 // lahf
61866  .byte  215                                 // xlat          %ds:(%ebx)
61867  .byte  202,60,159                          // lret          $0x9f3c
61868  .byte  215                                 // xlat          %ds:(%ebx)
61869  .byte  202,60,159                          // lret          $0x9f3c
61870  .byte  215                                 // xlat          %ds:(%ebx)
61871  .byte  202,60,212                          // lret          $0xd43c
61872  .byte  100,84                              // fs            push %esp
61873  .byte  189,212,100,84,189                  // mov           $0xbd5464d4,%ebp
61874  .byte  212,100                             // aam           $0x64
61875  .byte  84                                  // push          %esp
61876  .byte  189,212,100,84,189                  // mov           $0xbd5464d4,%ebp
61877  .byte  169,240,34,62,169                   // test          $0xa93e22f0,%eax
61878  .byte  240,34,62                           // lock          and (%esi),%bh
61879  .byte  169,240,34,62,169                   // test          $0xa93e22f0,%eax
61880  .byte  240,34,62                           // lock          and (%esi),%bh
61881  .byte  0,0                                 // add           %al,(%eax)
61882  .byte  128,62,0                            // cmpb          $0x0,(%esi)
61883  .byte  0,128,62,0,0,128                    // add           %al,-0x7fffffc2(%eax)
61884  .byte  62,0,0                              // add           %al,%ds:(%eax)
61885  .byte  128,62,0                            // cmpb          $0x0,(%esi)
61886  .byte  0,0                                 // add           %al,(%eax)
61887  .byte  63                                  // aas
61888  .byte  0,0                                 // add           %al,(%eax)
61889  .byte  0,63                                // add           %bh,(%edi)
61890  .byte  0,0                                 // add           %al,(%eax)
61891  .byte  0,63                                // add           %bh,(%edi)
61892  .byte  0,0                                 // add           %al,(%eax)
61893  .byte  0,63                                // add           %bh,(%edi)
61894  .byte  0,0                                 // add           %al,(%eax)
61895  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61896  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61897  .byte  63                                  // aas
61898  .byte  0,0                                 // add           %al,(%eax)
61899  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61900  .byte  0,0                                 // add           %al,(%eax)
61901  .byte  192,0,0                             // rolb          $0x0,(%eax)
61902  .byte  0,192                               // add           %al,%al
61903  .byte  0,0                                 // add           %al,(%eax)
61904  .byte  0,192                               // add           %al,%al
61905  .byte  0,0                                 // add           %al,(%eax)
61906  .byte  0,192                               // add           %al,%al
61907  .byte  0,0                                 // add           %al,(%eax)
61908  .byte  128,192,0                           // add           $0x0,%al
61909  .byte  0,128,192,0,0,128                   // add           %al,-0x7fffff40(%eax)
61910  .byte  192,0,0                             // rolb          $0x0,(%eax)
61911  .byte  128,192,0                           // add           $0x0,%al
61912  .byte  0,0                                 // add           %al,(%eax)
61913  .byte  128,0,0                             // addb          $0x0,(%eax)
61914  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61915  .byte  0,0                                 // add           %al,(%eax)
61916  .byte  0,128,0,0,0,63                      // add           %al,0x3f000000(%eax)
61917  .byte  0,0                                 // add           %al,(%eax)
61918  .byte  0,63                                // add           %bh,(%edi)
61919  .byte  0,0                                 // add           %al,(%eax)
61920  .byte  0,63                                // add           %bh,(%edi)
61921  .byte  0,0                                 // add           %al,(%eax)
61922  .byte  0,63                                // add           %bh,(%edi)
61923  .byte  0,0                                 // add           %al,(%eax)
61924  .byte  0,192                               // add           %al,%al
61925  .byte  0,0                                 // add           %al,(%eax)
61926  .byte  0,192                               // add           %al,%al
61927  .byte  0,0                                 // add           %al,(%eax)
61928  .byte  0,192                               // add           %al,%al
61929  .byte  0,0                                 // add           %al,(%eax)
61930  .byte  0,192                               // add           %al,%al
61931  .byte  0,0                                 // add           %al,(%eax)
61932  .byte  128,192,0                           // add           $0x0,%al
61933  .byte  0,128,192,0,0,128                   // add           %al,-0x7fffff40(%eax)
61934  .byte  192,0,0                             // rolb          $0x0,(%eax)
61935  .byte  128,192,0                           // add           $0x0,%al
61936  .byte  0,0                                 // add           %al,(%eax)
61937  .byte  128,0,0                             // addb          $0x0,(%eax)
61938  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61939  .byte  0,0                                 // add           %al,(%eax)
61940  .byte  0,128,0,0,0,63                      // add           %al,0x3f000000(%eax)
61941  .byte  0,0                                 // add           %al,(%eax)
61942  .byte  0,63                                // add           %bh,(%edi)
61943  .byte  0,0                                 // add           %al,(%eax)
61944  .byte  0,63                                // add           %bh,(%edi)
61945  .byte  0,0                                 // add           %al,(%eax)
61946  .byte  0,63                                // add           %bh,(%edi)
61947  .byte  0,0                                 // add           %al,(%eax)
61948  .byte  0,192                               // add           %al,%al
61949  .byte  0,0                                 // add           %al,(%eax)
61950  .byte  0,192                               // add           %al,%al
61951  .byte  0,0                                 // add           %al,(%eax)
61952  .byte  0,192                               // add           %al,%al
61953  .byte  0,0                                 // add           %al,(%eax)
61954  .byte  0,192                               // add           %al,%al
61955  .byte  0,0                                 // add           %al,(%eax)
61956  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61957  .byte  0,0                                 // add           %al,(%eax)
61958  .byte  0,128,0,0,0,128                     // add           %al,-0x80000000(%eax)
61959  .byte  0,0                                 // add           %al,(%eax)
61960  .byte  0,63                                // add           %bh,(%edi)
61961  .byte  0,0                                 // add           %al,(%eax)
61962  .byte  0,63                                // add           %bh,(%edi)
61963  .byte  0,0                                 // add           %al,(%eax)
61964  .byte  0,63                                // add           %bh,(%edi)
61965  .byte  0,0                                 // add           %al,(%eax)
61966  .byte  0,63                                // add           %bh,(%edi)
61967  .byte  0,0                                 // add           %al,(%eax)
61968  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61969  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61970  .byte  63                                  // aas
61971  .byte  0,0                                 // add           %al,(%eax)
61972  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61973  .byte  0,0                                 // add           %al,(%eax)
61974  .byte  191,0,0,0,191                       // mov           $0xbf000000,%edi
61975  .byte  0,0                                 // add           %al,(%eax)
61976  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%edi)
61977  .byte  0,0                                 // add           %al,(%eax)
61978  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61979  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61980  .byte  63                                  // aas
61981  .byte  0,0                                 // add           %al,(%eax)
61982  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61983  .byte  0,0                                 // add           %al,(%eax)
61984  .byte  63                                  // aas
61985  .byte  0,0                                 // add           %al,(%eax)
61986  .byte  0,63                                // add           %bh,(%edi)
61987  .byte  0,0                                 // add           %al,(%eax)
61988  .byte  0,63                                // add           %bh,(%edi)
61989  .byte  0,0                                 // add           %al,(%eax)
61990  .byte  0,63                                // add           %bh,(%edi)
61991  .byte  0,0                                 // add           %al,(%eax)
61992  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%edi)
61993  .byte  0,0                                 // add           %al,(%eax)
61994  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%edi)
61995  .byte  0,0                                 // add           %al,(%eax)
61996  .byte  128,63,0                            // cmpb          $0x0,(%edi)
61997  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
61998  .byte  63                                  // aas
61999  .byte  0,0                                 // add           %al,(%eax)
62000  .byte  128,63,0                            // cmpb          $0x0,(%edi)
62001  .byte  0,0                                 // add           %al,(%eax)
62002  .byte  63                                  // aas
62003  .byte  0,0                                 // add           %al,(%eax)
62004  .byte  0,63                                // add           %bh,(%edi)
62005  .byte  0,0                                 // add           %al,(%eax)
62006  .byte  0,63                                // add           %bh,(%edi)
62007  .byte  0,0                                 // add           %al,(%eax)
62008  .byte  0,63                                // add           %bh,(%edi)
62009  .byte  0,0                                 // add           %al,(%eax)
62010  .byte  192,191,0,0,192,191,0               // sarb          $0x0,-0x40400000(%edi)
62011  .byte  0,192                               // add           %al,%al
62012  .byte  191,0,0,192,191                     // mov           $0xbfc00000,%edi
62013  .byte  0,0                                 // add           %al,(%eax)
62014  .byte  128,63,0                            // cmpb          $0x0,(%edi)
62015  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
62016  .byte  63                                  // aas
62017  .byte  0,0                                 // add           %al,(%eax)
62018  .byte  128,63,114                          // cmpb          $0x72,(%edi)
62019  .byte  28,199                              // sbb           $0xc7,%al
62020  .byte  62,114,28                           // jb,pt         a5a2 <.literal16+0x1362>
62021  .byte  199                                 // (bad)
62022  .byte  62,114,28                           // jb,pt         a5a6 <.literal16+0x1366>
62023  .byte  199                                 // (bad)
62024  .byte  62,114,28                           // jb,pt         a5aa <.literal16+0x136a>
62025  .byte  199                                 // (bad)
62026  .byte  62,171                              // ds            stos %eax,%es:(%edi)
62027  .byte  170                                 // stos          %al,%es:(%edi)
62028  .byte  170                                 // stos          %al,%es:(%edi)
62029  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
62030  .byte  171                                 // stos          %eax,%es:(%edi)
62031  .byte  170                                 // stos          %al,%es:(%edi)
62032  .byte  170                                 // stos          %al,%es:(%edi)
62033  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
62034  .byte  0,0                                 // add           %al,(%eax)
62035  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%edi)
62036  .byte  0,0                                 // add           %al,(%eax)
62037  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%edi)
62038  .byte  0,0                                 // add           %al,(%eax)
62039  .byte  128,63,0                            // cmpb          $0x0,(%edi)
62040  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
62041  .byte  63                                  // aas
62042  .byte  0,0                                 // add           %al,(%eax)
62043  .byte  128,63,85                           // cmpb          $0x55,(%edi)
62044  .byte  85                                  // push          %ebp
62045  .byte  149                                 // xchg          %eax,%ebp
62046  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
62047  .byte  85                                  // push          %ebp
62048  .byte  85                                  // push          %ebp
62049  .byte  149                                 // xchg          %eax,%ebp
62050  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
62051  .byte  0,0                                 // add           %al,(%eax)
62052  .byte  192,63,0                            // sarb          $0x0,(%edi)
62053  .byte  0,192                               // add           %al,%al
62054  .byte  63                                  // aas
62055  .byte  0,0                                 // add           %al,(%eax)
62056  .byte  192,63,0                            // sarb          $0x0,(%edi)
62057  .byte  0,192                               // add           %al,%al
62058  .byte  63                                  // aas
62059  .byte  0,0                                 // add           %al,(%eax)
62060  .byte  0,63                                // add           %bh,(%edi)
62061  .byte  0,0                                 // add           %al,(%eax)
62062  .byte  0,63                                // add           %bh,(%edi)
62063  .byte  0,0                                 // add           %al,(%eax)
62064  .byte  0,63                                // add           %bh,(%edi)
62065  .byte  0,0                                 // add           %al,(%eax)
62066  .byte  0,63                                // add           %bh,(%edi)
62067  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%esi)
62068  .byte  99,61,57,142,99,61                  // arpl          %di,0x3d638e39
62069  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%esi)
62070  .byte  0,63                                // add           %bh,(%edi)
62071  .byte  0,0                                 // add           %al,(%eax)
62072  .byte  0,63                                // add           %bh,(%edi)
62073  .byte  0,0                                 // add           %al,(%eax)
62074  .byte  0,63                                // add           %bh,(%edi)
62075  .byte  0,0                                 // add           %al,(%eax)
62076  .byte  0,63                                // add           %bh,(%edi)
62077  .byte  85                                  // push          %ebp
62078  .byte  85                                  // push          %ebp
62079  .byte  149                                 // xchg          %eax,%ebp
62080  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
62081  .byte  85                                  // push          %ebp
62082  .byte  85                                  // push          %ebp
62083  .byte  149                                 // xchg          %eax,%ebp
62084  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
62085  .byte  0,0                                 // add           %al,(%eax)
62086  .byte  192,63,0                            // sarb          $0x0,(%edi)
62087  .byte  0,192                               // add           %al,%al
62088  .byte  63                                  // aas
62089  .byte  0,0                                 // add           %al,(%eax)
62090  .byte  192,63,0                            // sarb          $0x0,(%edi)
62091  .byte  0,192                               // add           %al,%al
62092  .byte  63                                  // aas
62093  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%esi)
62094  .byte  99,61,57,142,99,61                  // arpl          %di,0x3d638e39
62095  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%esi)
62096  .byte  192,63,0                            // sarb          $0x0,(%edi)
62097  .byte  0,192                               // add           %al,%al
62098  .byte  63                                  // aas
62099  .byte  0,0                                 // add           %al,(%eax)
62100  .byte  192,63,0                            // sarb          $0x0,(%edi)
62101  .byte  0,192                               // add           %al,%al
62102  .byte  63                                  // aas
62103  .byte  114,28                              // jb            a66e <.literal16+0x142e>
62104  .byte  199                                 // (bad)
62105  .byte  62,114,28                           // jb,pt         a672 <.literal16+0x1432>
62106  .byte  199                                 // (bad)
62107  .byte  62,114,28                           // jb,pt         a676 <.literal16+0x1436>
62108  .byte  199                                 // (bad)
62109  .byte  62,114,28                           // jb,pt         a67a <.literal16+0x143a>
62110  .byte  199                                 // (bad)
62111  .byte  62,171                              // ds            stos %eax,%es:(%edi)
62112  .byte  170                                 // stos          %al,%es:(%edi)
62113  .byte  170                                 // stos          %al,%es:(%edi)
62114  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
62115  .byte  171                                 // stos          %eax,%es:(%edi)
62116  .byte  170                                 // stos          %al,%es:(%edi)
62117  .byte  170                                 // stos          %al,%es:(%edi)
62118  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
62119  .byte  0,0                                 // add           %al,(%eax)
62120  .byte  192,191,0,0,192,191,0               // sarb          $0x0,-0x40400000(%edi)
62121  .byte  0,192                               // add           %al,%al
62122  .byte  191,0,0,192,191                     // mov           $0xbfc00000,%edi
62123  .byte  0,0                                 // add           %al,(%eax)
62124  .byte  128,63,0                            // cmpb          $0x0,(%edi)
62125  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
62126  .byte  63                                  // aas
62127  .byte  0,0                                 // add           %al,(%eax)
62128  .byte  128,63,114                          // cmpb          $0x72,(%edi)
62129  .byte  28,199                              // sbb           $0xc7,%al
62130  .byte  62,114,28                           // jb,pt         a6b2 <.literal16+0x1472>
62131  .byte  199                                 // (bad)
62132  .byte  62,114,28                           // jb,pt         a6b6 <.literal16+0x1476>
62133  .byte  199                                 // (bad)
62134  .byte  62,114,28                           // jb,pt         a6ba <.literal16+0x147a>
62135  .byte  199                                 // (bad)
62136  .byte  62,171                              // ds            stos %eax,%es:(%edi)
62137  .byte  170                                 // stos          %al,%es:(%edi)
62138  .byte  170                                 // stos          %al,%es:(%edi)
62139  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
62140  .byte  171                                 // stos          %eax,%es:(%edi)
62141  .byte  170                                 // stos          %al,%es:(%edi)
62142  .byte  170                                 // stos          %al,%es:(%edi)
62143  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
62144  .byte  0,0                                 // add           %al,(%eax)
62145  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%edi)
62146  .byte  0,0                                 // add           %al,(%eax)
62147  .byte  0,191,0,0,0,191                     // add           %bh,-0x41000000(%edi)
62148  .byte  0,0                                 // add           %al,(%eax)
62149  .byte  128,63,0                            // cmpb          $0x0,(%edi)
62150  .byte  0,128,63,0,0,128                    // add           %al,-0x7fffffc1(%eax)
62151  .byte  63                                  // aas
62152  .byte  0,0                                 // add           %al,(%eax)
62153  .byte  128,63,85                           // cmpb          $0x55,(%edi)
62154  .byte  85                                  // push          %ebp
62155  .byte  149                                 // xchg          %eax,%ebp
62156  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
62157  .byte  85                                  // push          %ebp
62158  .byte  85                                  // push          %ebp
62159  .byte  149                                 // xchg          %eax,%ebp
62160  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
62161  .byte  0,0                                 // add           %al,(%eax)
62162  .byte  192,63,0                            // sarb          $0x0,(%edi)
62163  .byte  0,192                               // add           %al,%al
62164  .byte  63                                  // aas
62165  .byte  0,0                                 // add           %al,(%eax)
62166  .byte  192,63,0                            // sarb          $0x0,(%edi)
62167  .byte  0,192                               // add           %al,%al
62168  .byte  63                                  // aas
62169  .byte  0,0                                 // add           %al,(%eax)
62170  .byte  0,63                                // add           %bh,(%edi)
62171  .byte  0,0                                 // add           %al,(%eax)
62172  .byte  0,63                                // add           %bh,(%edi)
62173  .byte  0,0                                 // add           %al,(%eax)
62174  .byte  0,63                                // add           %bh,(%edi)
62175  .byte  0,0                                 // add           %al,(%eax)
62176  .byte  0,63                                // add           %bh,(%edi)
62177  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%esi)
62178  .byte  99,61,57,142,99,61                  // arpl          %di,0x3d638e39
62179  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%esi)
62180  .byte  0,63                                // add           %bh,(%edi)
62181  .byte  0,0                                 // add           %al,(%eax)
62182  .byte  0,63                                // add           %bh,(%edi)
62183  .byte  0,0                                 // add           %al,(%eax)
62184  .byte  0,63                                // add           %bh,(%edi)
62185  .byte  0,0                                 // add           %al,(%eax)
62186  .byte  0,63                                // add           %bh,(%edi)
62187  .byte  85                                  // push          %ebp
62188  .byte  85                                  // push          %ebp
62189  .byte  149                                 // xchg          %eax,%ebp
62190  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
62191  .byte  85                                  // push          %ebp
62192  .byte  85                                  // push          %ebp
62193  .byte  149                                 // xchg          %eax,%ebp
62194  .byte  191,85,85,149,191                   // mov           $0xbf955555,%edi
62195  .byte  0,0                                 // add           %al,(%eax)
62196  .byte  192,63,0                            // sarb          $0x0,(%edi)
62197  .byte  0,192                               // add           %al,%al
62198  .byte  63                                  // aas
62199  .byte  0,0                                 // add           %al,(%eax)
62200  .byte  192,63,0                            // sarb          $0x0,(%edi)
62201  .byte  0,192                               // add           %al,%al
62202  .byte  63                                  // aas
62203  .byte  57,142,99,61,57,142                 // cmp           %ecx,-0x71c6c29d(%esi)
62204  .byte  99,61,57,142,99,61                  // arpl          %di,0x3d638e39
62205  .byte  57,142,99,61,0,0                    // cmp           %ecx,0x3d63(%esi)
62206  .byte  192,63,0                            // sarb          $0x0,(%edi)
62207  .byte  0,192                               // add           %al,%al
62208  .byte  63                                  // aas
62209  .byte  0,0                                 // add           %al,(%eax)
62210  .byte  192,63,0                            // sarb          $0x0,(%edi)
62211  .byte  0,192                               // add           %al,%al
62212  .byte  63                                  // aas
62213  .byte  114,28                              // jb            a77e <.literal16+0x153e>
62214  .byte  199                                 // (bad)
62215  .byte  62,114,28                           // jb,pt         a782 <_sk_callback_sse2+0x1633>
62216  .byte  199                                 // (bad)
62217  .byte  62,114,28                           // jb,pt         a786 <_sk_callback_sse2+0x1637>
62218  .byte  199                                 // (bad)
62219  .byte  62,114,28                           // jb,pt         a78a <_sk_callback_sse2+0x163b>
62220  .byte  199                                 // (bad)
62221  .byte  62,171                              // ds            stos %eax,%es:(%edi)
62222  .byte  170                                 // stos          %al,%es:(%edi)
62223  .byte  170                                 // stos          %al,%es:(%edi)
62224  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
62225  .byte  171                                 // stos          %eax,%es:(%edi)
62226  .byte  170                                 // stos          %al,%es:(%edi)
62227  .byte  170                                 // stos          %al,%es:(%edi)
62228  .byte  190,171,170,170,190                 // mov           $0xbeaaaaab,%esi
62229
62230BALIGN4
62231  .byte  0,0                                 // add           %al,(%eax)
62232  .byte  0,63                                // add           %bh,(%edi)
62233  .byte  0,0                                 // add           %al,(%eax)
62234  .byte  0,63                                // add           %bh,(%edi)
62235#endif
62236